From owner-svn-src-projects@freebsd.org Sun Jan 22 16:05:17 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3CFDDCBC7D1 for ; Sun, 22 Jan 2017 16:05:17 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C2EB58BC; Sun, 22 Jan 2017 16:05:16 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0MG5GKk002984; Sun, 22 Jan 2017 16:05:16 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0MG5EoE002971; Sun, 22 Jan 2017 16:05:14 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701221605.v0MG5EoE002971@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Jan 2017 16:05:14 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312624 - in projects/clang400-import: . cddl/usr.sbin/zfsd contrib/bsnmp/snmpd contrib/mdocml contrib/zlib etc/mtree gnu/usr.bin/gdb/gdbserver lib/csu/aarch64 lib/csu/amd64 lib/csu/arm... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 16:05:17 -0000 Author: dim Date: Sun Jan 22 16:05:13 2017 New Revision: 312624 URL: https://svnweb.freebsd.org/changeset/base/312624 Log: Merge ^/head r312309 through r312623. Added: projects/clang400-import/contrib/mdocml/dba.c - copied unchanged from r312623, head/contrib/mdocml/dba.c projects/clang400-import/contrib/mdocml/dba.h - copied unchanged from r312623, head/contrib/mdocml/dba.h projects/clang400-import/contrib/mdocml/dba_array.c - copied unchanged from r312623, head/contrib/mdocml/dba_array.c projects/clang400-import/contrib/mdocml/dba_array.h - copied unchanged from r312623, head/contrib/mdocml/dba_array.h projects/clang400-import/contrib/mdocml/dba_read.c - copied unchanged from r312623, head/contrib/mdocml/dba_read.c projects/clang400-import/contrib/mdocml/dba_write.c - copied unchanged from r312623, head/contrib/mdocml/dba_write.c projects/clang400-import/contrib/mdocml/dba_write.h - copied unchanged from r312623, head/contrib/mdocml/dba_write.h projects/clang400-import/contrib/mdocml/dbm.c - copied unchanged from r312623, head/contrib/mdocml/dbm.c projects/clang400-import/contrib/mdocml/dbm.h - copied unchanged from r312623, head/contrib/mdocml/dbm.h projects/clang400-import/contrib/mdocml/dbm_map.c - copied unchanged from r312623, head/contrib/mdocml/dbm_map.c projects/clang400-import/contrib/mdocml/dbm_map.h - copied unchanged from r312623, head/contrib/mdocml/dbm_map.h projects/clang400-import/contrib/mdocml/test-EFTYPE.c - copied unchanged from r312623, head/contrib/mdocml/test-EFTYPE.c projects/clang400-import/contrib/mdocml/test-PATH_MAX.c - copied unchanged from r312623, head/contrib/mdocml/test-PATH_MAX.c projects/clang400-import/contrib/mdocml/test-be32toh.c - copied unchanged from r312623, head/contrib/mdocml/test-be32toh.c projects/clang400-import/contrib/mdocml/test-nanosleep.c - copied unchanged from r312623, head/contrib/mdocml/test-nanosleep.c projects/clang400-import/contrib/mdocml/test-ntohl.c - copied unchanged from r312623, head/contrib/mdocml/test-ntohl.c projects/clang400-import/contrib/mdocml/test-sandbox_init.c - copied unchanged from r312623, head/contrib/mdocml/test-sandbox_init.c projects/clang400-import/share/man/man4/mlx4ib.4 - copied unchanged from r312623, head/share/man/man4/mlx4ib.4 projects/clang400-import/usr.bin/cut/tests/cut2_test.sh - copied unchanged from r312623, head/usr.bin/cut/tests/cut2_test.sh projects/clang400-import/usr.bin/sed/tests/sed2_test.sh - copied unchanged from r312623, head/usr.bin/sed/tests/sed2_test.sh Deleted: projects/clang400-import/contrib/mdocml/compat_sqlite3_errstr.c projects/clang400-import/contrib/mdocml/config.log projects/clang400-import/contrib/mdocml/mansearch_const.c projects/clang400-import/contrib/mdocml/test-mmap.c projects/clang400-import/contrib/mdocml/test-sqlite3.c projects/clang400-import/contrib/mdocml/test-sqlite3_errstr.c Modified: projects/clang400-import/Makefile.inc1 projects/clang400-import/cddl/usr.sbin/zfsd/case_file.cc projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.h projects/clang400-import/contrib/mdocml/INSTALL projects/clang400-import/contrib/mdocml/LICENSE projects/clang400-import/contrib/mdocml/Makefile projects/clang400-import/contrib/mdocml/Makefile.depend projects/clang400-import/contrib/mdocml/TODO projects/clang400-import/contrib/mdocml/cgi.c projects/clang400-import/contrib/mdocml/compat_fts.c projects/clang400-import/contrib/mdocml/compat_fts.h projects/clang400-import/contrib/mdocml/config.h projects/clang400-import/contrib/mdocml/configure projects/clang400-import/contrib/mdocml/configure.local.example projects/clang400-import/contrib/mdocml/demandoc.c projects/clang400-import/contrib/mdocml/eqn_html.c projects/clang400-import/contrib/mdocml/html.c projects/clang400-import/contrib/mdocml/html.h projects/clang400-import/contrib/mdocml/lib.in projects/clang400-import/contrib/mdocml/libmandoc.h projects/clang400-import/contrib/mdocml/main.c projects/clang400-import/contrib/mdocml/main.h projects/clang400-import/contrib/mdocml/makewhatis.8 projects/clang400-import/contrib/mdocml/man.1 projects/clang400-import/contrib/mdocml/man.c projects/clang400-import/contrib/mdocml/man.conf.5 projects/clang400-import/contrib/mdocml/man_hash.c projects/clang400-import/contrib/mdocml/man_html.c projects/clang400-import/contrib/mdocml/man_macro.c projects/clang400-import/contrib/mdocml/man_term.c projects/clang400-import/contrib/mdocml/mandoc.1 projects/clang400-import/contrib/mdocml/mandoc.3 projects/clang400-import/contrib/mdocml/mandoc.css projects/clang400-import/contrib/mdocml/mandoc.db.5 projects/clang400-import/contrib/mdocml/mandoc.h projects/clang400-import/contrib/mdocml/mandoc_aux.h projects/clang400-import/contrib/mdocml/mandoc_html.3 projects/clang400-import/contrib/mdocml/mandocdb.c projects/clang400-import/contrib/mdocml/manpath.c projects/clang400-import/contrib/mdocml/mansearch.c projects/clang400-import/contrib/mdocml/mansearch.h projects/clang400-import/contrib/mdocml/mdoc.7 projects/clang400-import/contrib/mdocml/mdoc.c projects/clang400-import/contrib/mdocml/mdoc_argv.c projects/clang400-import/contrib/mdocml/mdoc_hash.c projects/clang400-import/contrib/mdocml/mdoc_html.c projects/clang400-import/contrib/mdocml/mdoc_macro.c projects/clang400-import/contrib/mdocml/mdoc_man.c projects/clang400-import/contrib/mdocml/mdoc_state.c projects/clang400-import/contrib/mdocml/mdoc_term.c projects/clang400-import/contrib/mdocml/mdoc_validate.c projects/clang400-import/contrib/mdocml/read.c projects/clang400-import/contrib/mdocml/roff.c projects/clang400-import/contrib/mdocml/roff.h projects/clang400-import/contrib/mdocml/tag.c projects/clang400-import/contrib/mdocml/tbl_html.c projects/clang400-import/contrib/mdocml/term.c projects/clang400-import/contrib/mdocml/term_ascii.c projects/clang400-import/contrib/mdocml/term_ps.c projects/clang400-import/contrib/mdocml/test-fts.c projects/clang400-import/contrib/mdocml/test-ohash.c projects/clang400-import/contrib/mdocml/test-vasprintf.c projects/clang400-import/contrib/mdocml/test-wchar.c projects/clang400-import/contrib/mdocml/tree.c projects/clang400-import/contrib/zlib/ChangeLog projects/clang400-import/contrib/zlib/README projects/clang400-import/contrib/zlib/deflate.c projects/clang400-import/contrib/zlib/gzlib.c projects/clang400-import/contrib/zlib/gzwrite.c projects/clang400-import/contrib/zlib/inffast.c projects/clang400-import/contrib/zlib/inftrees.c projects/clang400-import/contrib/zlib/trees.c projects/clang400-import/contrib/zlib/zlib.3 projects/clang400-import/contrib/zlib/zlib.h projects/clang400-import/contrib/zlib/zutil.c projects/clang400-import/etc/mtree/BSD.debug.dist projects/clang400-import/gnu/usr.bin/gdb/gdbserver/Makefile projects/clang400-import/lib/csu/aarch64/Makefile projects/clang400-import/lib/csu/amd64/Makefile projects/clang400-import/lib/csu/arm/Makefile projects/clang400-import/lib/csu/i386/Makefile projects/clang400-import/lib/csu/mips/Makefile projects/clang400-import/lib/csu/powerpc/Makefile projects/clang400-import/lib/csu/powerpc64/Makefile projects/clang400-import/lib/csu/riscv/Makefile projects/clang400-import/lib/csu/sparc64/Makefile projects/clang400-import/lib/libalias/libalias/Makefile projects/clang400-import/lib/libalias/modules/Makefile projects/clang400-import/lib/libalias/modules/Makefile.inc projects/clang400-import/lib/libarchive/Makefile projects/clang400-import/lib/libauditd/Makefile projects/clang400-import/lib/libbegemot/Makefile projects/clang400-import/lib/libblocksruntime/Makefile projects/clang400-import/lib/libbluetooth/Makefile projects/clang400-import/lib/libbsm/Makefile projects/clang400-import/lib/libbsnmp/libbsnmp/Makefile projects/clang400-import/lib/libbz2/Makefile projects/clang400-import/lib/libc/Makefile projects/clang400-import/lib/libc/aarch64/string/Makefile.inc projects/clang400-import/lib/libc/arm/aeabi/Makefile.inc projects/clang400-import/lib/libc/capability/Makefile.inc projects/clang400-import/lib/libc/gdtoa/Makefile.inc projects/clang400-import/lib/libc/gen/Makefile.inc projects/clang400-import/lib/libc/iconv/Makefile.inc projects/clang400-import/lib/libc/md/Makefile.inc projects/clang400-import/lib/libc/posix1e/Makefile.inc projects/clang400-import/lib/libc/regex/grot/Makefile projects/clang400-import/lib/libc/resolv/Makefile.inc projects/clang400-import/lib/libc/stdlib/jemalloc/Makefile.inc projects/clang400-import/lib/libc/stdtime/Makefile.inc projects/clang400-import/lib/libc/string/Makefile.inc projects/clang400-import/lib/libc/sys/Makefile.inc projects/clang400-import/lib/libc/sys/getsockopt.2 projects/clang400-import/lib/libc/sys/shm_open.2 projects/clang400-import/lib/libc/x86/sys/Makefile.inc projects/clang400-import/lib/libc/x86/sys/__vdso_gettc.c projects/clang400-import/lib/libc_nonshared/Makefile projects/clang400-import/lib/libcam/Makefile projects/clang400-import/lib/libcom_err/Makefile projects/clang400-import/lib/libcompat/Makefile projects/clang400-import/lib/libcrypt/Makefile projects/clang400-import/lib/libcxxrt/Makefile projects/clang400-import/lib/libdevdctl/tests/Makefile projects/clang400-import/lib/libdwarf/Makefile projects/clang400-import/lib/libelf/Makefile projects/clang400-import/lib/libevent/Makefile projects/clang400-import/lib/libexecinfo/Makefile projects/clang400-import/lib/libexpat/Makefile projects/clang400-import/lib/libgssapi/Makefile projects/clang400-import/lib/libiconv_modules/Makefile.inc projects/clang400-import/lib/libiconv_modules/mapper_parallel/Makefile projects/clang400-import/lib/libkiconv/Makefile projects/clang400-import/lib/libldns/Makefile projects/clang400-import/lib/liblzma/Makefile projects/clang400-import/lib/libmagic/Makefile projects/clang400-import/lib/libmd/Makefile projects/clang400-import/lib/libmilter/Makefile projects/clang400-import/lib/libmp/Makefile projects/clang400-import/lib/libngatm/Makefile projects/clang400-import/lib/libnv/Makefile projects/clang400-import/lib/libopie/Makefile projects/clang400-import/lib/libpam/libpam/Makefile projects/clang400-import/lib/libpam/modules/Makefile.inc projects/clang400-import/lib/libpam/modules/pam_passwdqc/Makefile projects/clang400-import/lib/libpam/modules/pam_ssh/Makefile projects/clang400-import/lib/libpam/static_libpam/Makefile projects/clang400-import/lib/libpcap/Makefile projects/clang400-import/lib/libpe/Makefile projects/clang400-import/lib/libproc/Makefile projects/clang400-import/lib/libprocstat/zfs/Makefile projects/clang400-import/lib/librpcsec_gss/Makefile projects/clang400-import/lib/librpcsvc/Makefile projects/clang400-import/lib/librt/Makefile projects/clang400-import/lib/libsbuf/Makefile projects/clang400-import/lib/libsm/Makefile projects/clang400-import/lib/libsmb/Makefile projects/clang400-import/lib/libsmdb/Makefile projects/clang400-import/lib/libsmutil/Makefile projects/clang400-import/lib/libsqlite3/Makefile projects/clang400-import/lib/libstdthreads/Makefile projects/clang400-import/lib/libsysdecode/Makefile projects/clang400-import/lib/libtelnet/Makefile projects/clang400-import/lib/libthr/Makefile projects/clang400-import/lib/libthr/support/Makefile.inc projects/clang400-import/lib/libthread_db/Makefile projects/clang400-import/lib/libufs/Makefile projects/clang400-import/lib/libulog/Makefile projects/clang400-import/lib/libunbound/Makefile projects/clang400-import/lib/libutil/Makefile projects/clang400-import/lib/libwrap/Makefile projects/clang400-import/lib/libypclnt/Makefile projects/clang400-import/lib/ncurses/config.mk projects/clang400-import/lib/ncurses/form/Makefile projects/clang400-import/lib/ncurses/formw/Makefile projects/clang400-import/lib/ncurses/menu/Makefile projects/clang400-import/lib/ncurses/menuw/Makefile projects/clang400-import/lib/ncurses/ncurses/Makefile projects/clang400-import/lib/ncurses/ncursesw/Makefile projects/clang400-import/lib/ncurses/panel/Makefile projects/clang400-import/lib/ncurses/panelw/Makefile projects/clang400-import/sbin/camcontrol/camcontrol.8 projects/clang400-import/sbin/camcontrol/epc.c projects/clang400-import/sbin/camcontrol/persist.c projects/clang400-import/sbin/camcontrol/timestamp.c projects/clang400-import/sbin/devd/devd.cc projects/clang400-import/sbin/ifconfig/ifconfig.8 projects/clang400-import/sbin/ifconfig/ifconfig.c projects/clang400-import/sbin/ifconfig/ifieee80211.c projects/clang400-import/sbin/restore/dirs.c projects/clang400-import/sbin/restore/extern.h projects/clang400-import/sbin/restore/tape.c projects/clang400-import/share/man/man4/Makefile projects/clang400-import/share/man/man4/mlx4en.4 projects/clang400-import/share/man/man4/usb_quirk.4 projects/clang400-import/share/man/man5/fs.5 projects/clang400-import/share/man/man5/tmpfs.5 projects/clang400-import/share/man/man7/arch.7 projects/clang400-import/share/mk/bsd.README projects/clang400-import/share/mk/bsd.snmpmod.mk projects/clang400-import/sys/amd64/amd64/pmap.c projects/clang400-import/sys/amd64/cloudabi32/cloudabi32_sysvec.c projects/clang400-import/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/clang400-import/sys/amd64/include/cpufunc.h projects/clang400-import/sys/amd64/vmm/vmm_dev.c projects/clang400-import/sys/arm/arm/pmap-v6.c projects/clang400-import/sys/arm/cloudabi32/cloudabi32_sysvec.c projects/clang400-import/sys/arm/include/pcpu.h projects/clang400-import/sys/arm/ti/cpsw/if_cpsw.c projects/clang400-import/sys/arm/ti/cpsw/if_cpswreg.h projects/clang400-import/sys/arm/ti/cpsw/if_cpswvar.h projects/clang400-import/sys/arm/xilinx/zy7_ehci.c projects/clang400-import/sys/arm64/cloudabi64/cloudabi64_sysvec.c projects/clang400-import/sys/boot/efi/include/efidevp.h projects/clang400-import/sys/boot/efi/libefi/devpath.c projects/clang400-import/sys/boot/efi/libefi/efinet.c projects/clang400-import/sys/boot/efi/libefi/efipart.c projects/clang400-import/sys/boot/fdt/dts/arm/ufw.dts projects/clang400-import/sys/boot/fdt/dts/mips/beri-netfpga.dts projects/clang400-import/sys/boot/fdt/dts/mips/beri-sim.dts projects/clang400-import/sys/boot/fdt/dts/mips/beripad-de4.dts projects/clang400-import/sys/boot/fdt/dts/mips/beripad-sockit.dts projects/clang400-import/sys/cam/ata/ata_da.c projects/clang400-import/sys/cam/ctl/ctl.c projects/clang400-import/sys/cam/ctl/ctl.h projects/clang400-import/sys/cam/ctl/ctl_backend.c projects/clang400-import/sys/cam/ctl/ctl_backend.h projects/clang400-import/sys/cam/ctl/ctl_backend_block.c projects/clang400-import/sys/cam/ctl/ctl_backend_ramdisk.c projects/clang400-import/sys/cam/ctl/ctl_frontend.c projects/clang400-import/sys/cam/ctl/ctl_frontend.h projects/clang400-import/sys/cam/ctl/ctl_frontend_cam_sim.c projects/clang400-import/sys/cam/ctl/ctl_frontend_ioctl.c projects/clang400-import/sys/cam/ctl/ctl_frontend_iscsi.c projects/clang400-import/sys/cam/ctl/ctl_io.h projects/clang400-import/sys/cam/ctl/ctl_private.h projects/clang400-import/sys/cam/ctl/ctl_tpc.c projects/clang400-import/sys/cam/ctl/ctl_tpc_local.c projects/clang400-import/sys/cam/ctl/scsi_ctl.c projects/clang400-import/sys/cam/scsi/scsi_all.h projects/clang400-import/sys/cam/scsi/scsi_da.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/clang400-import/sys/cddl/dev/fbt/arm/fbt_isa.c projects/clang400-import/sys/compat/cloudabi/cloudabi_file.c projects/clang400-import/sys/compat/cloudabi/cloudabi_mem.c projects/clang400-import/sys/compat/cloudabi/cloudabi_proc.c projects/clang400-import/sys/compat/cloudabi/cloudabi_random.c projects/clang400-import/sys/compat/cloudabi/cloudabi_sock.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_fd.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_poll.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_proto.h projects/clang400-import/sys/compat/cloudabi32/cloudabi32_sock.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_syscall.h projects/clang400-import/sys/compat/cloudabi32/cloudabi32_syscalls.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_sysent.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_systrace_args.c projects/clang400-import/sys/compat/cloudabi32/cloudabi32_thread.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_fd.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_poll.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_proto.h projects/clang400-import/sys/compat/cloudabi64/cloudabi64_sock.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_syscall.h projects/clang400-import/sys/compat/cloudabi64/cloudabi64_syscalls.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_sysent.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_systrace_args.c projects/clang400-import/sys/compat/cloudabi64/cloudabi64_thread.c projects/clang400-import/sys/conf/Makefile.powerpc projects/clang400-import/sys/conf/NOTES projects/clang400-import/sys/conf/config.mk projects/clang400-import/sys/conf/files projects/clang400-import/sys/conf/kern.opts.mk projects/clang400-import/sys/conf/kern.pre.mk projects/clang400-import/sys/conf/options projects/clang400-import/sys/contrib/cloudabi/cloudabi32_types.h projects/clang400-import/sys/contrib/cloudabi/cloudabi64_types.h projects/clang400-import/sys/contrib/cloudabi/cloudabi_types_common.h projects/clang400-import/sys/contrib/cloudabi/syscalls32.master projects/clang400-import/sys/contrib/cloudabi/syscalls64.master projects/clang400-import/sys/contrib/dev/acpica/changes.txt projects/clang400-import/sys/contrib/dev/acpica/common/acfileio.c projects/clang400-import/sys/contrib/dev/acpica/common/acgetline.c projects/clang400-import/sys/contrib/dev/acpica/common/adfile.c projects/clang400-import/sys/contrib/dev/acpica/common/adisasm.c projects/clang400-import/sys/contrib/dev/acpica/common/adwalk.c projects/clang400-import/sys/contrib/dev/acpica/common/ahids.c projects/clang400-import/sys/contrib/dev/acpica/common/ahpredef.c projects/clang400-import/sys/contrib/dev/acpica/common/ahtable.c projects/clang400-import/sys/contrib/dev/acpica/common/ahuuids.c projects/clang400-import/sys/contrib/dev/acpica/common/cmfsize.c projects/clang400-import/sys/contrib/dev/acpica/common/dmextern.c projects/clang400-import/sys/contrib/dev/acpica/common/dmrestag.c projects/clang400-import/sys/contrib/dev/acpica/common/dmtable.c projects/clang400-import/sys/contrib/dev/acpica/common/dmtables.c projects/clang400-import/sys/contrib/dev/acpica/common/dmtbdump.c projects/clang400-import/sys/contrib/dev/acpica/common/dmtbinfo.c projects/clang400-import/sys/contrib/dev/acpica/common/getopt.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslascii.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslbtypes.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslcodegen.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslcompile.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/clang400-import/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/clang400-import/sys/contrib/dev/acpica/compiler/aslcstyle.y projects/clang400-import/sys/contrib/dev/acpica/compiler/asldebug.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asldefine.h projects/clang400-import/sys/contrib/dev/acpica/compiler/aslerror.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslexternal.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslfileio.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslfiles.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslfold.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslglobal.h projects/clang400-import/sys/contrib/dev/acpica/compiler/aslhelp.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/clang400-import/sys/contrib/dev/acpica/compiler/aslhex.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslkeywords.y projects/clang400-import/sys/contrib/dev/acpica/compiler/asllength.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asllisting.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asllistsup.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslload.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asllookup.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmain.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmap.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmapenter.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmapoutput.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmaputils.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmessages.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmessages.h projects/clang400-import/sys/contrib/dev/acpica/compiler/aslmethod.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslnamesp.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asloffset.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslopcodes.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asloperands.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslopt.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asloptions.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslparser.y projects/clang400-import/sys/contrib/dev/acpica/compiler/aslpld.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslpredef.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslprepkg.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/clang400-import/sys/contrib/dev/acpica/compiler/aslprintf.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslprune.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslresource.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslresources.y projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype1.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype1i.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype2.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype2d.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype2e.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype2q.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrestype2w.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslrules.y projects/clang400-import/sys/contrib/dev/acpica/compiler/aslstartup.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslstubs.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslsupport.l projects/clang400-import/sys/contrib/dev/acpica/compiler/aslsupport.y projects/clang400-import/sys/contrib/dev/acpica/compiler/asltokens.y projects/clang400-import/sys/contrib/dev/acpica/compiler/asltransform.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asltree.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asltypes.h projects/clang400-import/sys/contrib/dev/acpica/compiler/asltypes.y projects/clang400-import/sys/contrib/dev/acpica/compiler/aslutils.c projects/clang400-import/sys/contrib/dev/acpica/compiler/asluuid.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslwalks.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslxref.c projects/clang400-import/sys/contrib/dev/acpica/compiler/aslxrefout.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dtcompile.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/clang400-import/sys/contrib/dev/acpica/compiler/dtexpress.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dtfield.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dtio.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dtparser.l projects/clang400-import/sys/contrib/dev/acpica/compiler/dtparser.y projects/clang400-import/sys/contrib/dev/acpica/compiler/dtsubtable.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dttable.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dttable1.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dttable2.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dttemplate.c projects/clang400-import/sys/contrib/dev/acpica/compiler/dttemplate.h projects/clang400-import/sys/contrib/dev/acpica/compiler/dtutils.c projects/clang400-import/sys/contrib/dev/acpica/compiler/preprocess.h projects/clang400-import/sys/contrib/dev/acpica/compiler/prexpress.c projects/clang400-import/sys/contrib/dev/acpica/compiler/prmacros.c projects/clang400-import/sys/contrib/dev/acpica/compiler/prparser.l projects/clang400-import/sys/contrib/dev/acpica/compiler/prparser.y projects/clang400-import/sys/contrib/dev/acpica/compiler/prscan.c projects/clang400-import/sys/contrib/dev/acpica/compiler/prutils.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbcmds.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbconvert.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbhistry.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbobject.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbstats.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbtest.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbutils.c projects/clang400-import/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmnames.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmutils.c projects/clang400-import/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsinit.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dswscope.c projects/clang400-import/sys/contrib/dev/acpica/components/dispatcher/dswstate.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evevent.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evglock.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evgpe.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evgpeblk.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evgpeinit.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evgpeutil.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evhandler.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evmisc.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evregion.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evrgnini.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evsci.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evxface.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evxfgpe.c projects/clang400-import/sys/contrib/dev/acpica/components/events/evxfregn.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exconcat.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exconfig.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exconvrt.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/excreate.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exdebug.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exdump.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exfield.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exfldio.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exmisc.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exmutex.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exnames.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exoparg2.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exoparg3.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exoparg6.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exprep.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exregion.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exresnte.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exresolv.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exresop.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exstore.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exstoren.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exstorob.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exsystem.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/extrace.c projects/clang400-import/sys/contrib/dev/acpica/components/executer/exutils.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwacpi.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwesleep.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwpci.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwsleep.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwtimer.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwvalid.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwxface.c projects/clang400-import/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsalloc.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsarguments.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsconvert.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsdump.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nseval.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsinit.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsload.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsobject.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsparse.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nspredef.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsprepkg.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsrepair.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsrepair2.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nssearch.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nswalk.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/clang400-import/sys/contrib/dev/acpica/components/namespace/nsxfobj.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psargs.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psloop.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psobject.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psopcode.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psopinfo.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psparse.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psscope.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/pstree.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psutils.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/pswalk.c projects/clang400-import/sys/contrib/dev/acpica/components/parser/psxface.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsaddr.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rscalc.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rscreate.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsdump.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsio.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsirq.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rslist.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsmemory.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsserial.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsutils.c projects/clang400-import/sys/contrib/dev/acpica/components/resources/rsxface.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbdata.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbfind.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbprint.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbutils.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbxface.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/clang400-import/sys/contrib/dev/acpica/components/tables/tbxfroot.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utaddress.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utalloc.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utascii.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utbuffer.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utcache.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utcopy.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utdebug.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utdelete.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/uterror.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/uteval.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utexcep.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utglobal.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/uthex.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utids.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utinit.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utlock.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utmath.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utmutex.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utnonansi.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utobject.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utosi.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utpredef.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utstate.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utstring.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utuuid.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utxface.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utxferror.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utxfinit.c projects/clang400-import/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/clang400-import/sys/contrib/dev/acpica/include/acapps.h projects/clang400-import/sys/contrib/dev/acpica/include/acbuffer.h projects/clang400-import/sys/contrib/dev/acpica/include/acclib.h projects/clang400-import/sys/contrib/dev/acpica/include/accommon.h projects/clang400-import/sys/contrib/dev/acpica/include/acconfig.h projects/clang400-import/sys/contrib/dev/acpica/include/acdebug.h projects/clang400-import/sys/contrib/dev/acpica/include/acdisasm.h projects/clang400-import/sys/contrib/dev/acpica/include/acdispat.h projects/clang400-import/sys/contrib/dev/acpica/include/acevents.h projects/clang400-import/sys/contrib/dev/acpica/include/acexcep.h projects/clang400-import/sys/contrib/dev/acpica/include/acglobal.h projects/clang400-import/sys/contrib/dev/acpica/include/achware.h projects/clang400-import/sys/contrib/dev/acpica/include/acinterp.h projects/clang400-import/sys/contrib/dev/acpica/include/aclocal.h projects/clang400-import/sys/contrib/dev/acpica/include/acmacros.h projects/clang400-import/sys/contrib/dev/acpica/include/acnames.h projects/clang400-import/sys/contrib/dev/acpica/include/acnamesp.h projects/clang400-import/sys/contrib/dev/acpica/include/acobject.h projects/clang400-import/sys/contrib/dev/acpica/include/acopcode.h projects/clang400-import/sys/contrib/dev/acpica/include/acoutput.h projects/clang400-import/sys/contrib/dev/acpica/include/acparser.h projects/clang400-import/sys/contrib/dev/acpica/include/acpi.h projects/clang400-import/sys/contrib/dev/acpica/include/acpiosxf.h projects/clang400-import/sys/contrib/dev/acpica/include/acpixf.h projects/clang400-import/sys/contrib/dev/acpica/include/acpredef.h projects/clang400-import/sys/contrib/dev/acpica/include/acresrc.h projects/clang400-import/sys/contrib/dev/acpica/include/acrestyp.h projects/clang400-import/sys/contrib/dev/acpica/include/acstruct.h projects/clang400-import/sys/contrib/dev/acpica/include/actables.h projects/clang400-import/sys/contrib/dev/acpica/include/actbl.h projects/clang400-import/sys/contrib/dev/acpica/include/actbl1.h projects/clang400-import/sys/contrib/dev/acpica/include/actbl2.h projects/clang400-import/sys/contrib/dev/acpica/include/actbl3.h projects/clang400-import/sys/contrib/dev/acpica/include/actypes.h projects/clang400-import/sys/contrib/dev/acpica/include/acutils.h projects/clang400-import/sys/contrib/dev/acpica/include/acuuid.h projects/clang400-import/sys/contrib/dev/acpica/include/amlcode.h projects/clang400-import/sys/contrib/dev/acpica/include/amlresrc.h projects/clang400-import/sys/contrib/dev/acpica/include/platform/acenv.h projects/clang400-import/sys/contrib/dev/acpica/include/platform/acenvex.h projects/clang400-import/sys/contrib/dev/acpica/include/platform/acfreebsd.h projects/clang400-import/sys/contrib/dev/acpica/include/platform/acgcc.h projects/clang400-import/sys/contrib/dev/acpica/include/platform/acgccex.h projects/clang400-import/sys/contrib/dev/acpica/os_specific/service_layers/osgendbg.c projects/clang400-import/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/clang400-import/sys/dev/ath/if_ath.c projects/clang400-import/sys/dev/ath/if_ath_tx_ht.c projects/clang400-import/sys/dev/cxgbe/tom/t4_listen.c projects/clang400-import/sys/dev/e1000/e1000_82575.c projects/clang400-import/sys/dev/e1000/e1000_82575.h projects/clang400-import/sys/dev/e1000/e1000_defines.h projects/clang400-import/sys/dev/e1000/e1000_ich8lan.c projects/clang400-import/sys/dev/e1000/if_em.c projects/clang400-import/sys/dev/e1000/if_em.h projects/clang400-import/sys/dev/ixgbe/if_ix.c projects/clang400-import/sys/dev/mlx5/cq.h projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_cq.c projects/clang400-import/sys/dev/mlx5/mlx5_en/en.h projects/clang400-import/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/clang400-import/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/clang400-import/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/clang400-import/sys/dev/mlx5/mlx5_ifc.h projects/clang400-import/sys/dev/mpr/mpr_sas.c projects/clang400-import/sys/dev/mpr/mpr_table.c projects/clang400-import/sys/dev/mpr/mpr_table.h projects/clang400-import/sys/dev/mpr/mprvar.h projects/clang400-import/sys/dev/mps/mps_sas.c projects/clang400-import/sys/dev/mps/mps_table.c projects/clang400-import/sys/dev/mps/mps_table.h projects/clang400-import/sys/dev/mps/mpsvar.h projects/clang400-import/sys/dev/rtwn/if_rtwn.c projects/clang400-import/sys/dev/rtwn/if_rtwn_rx.c projects/clang400-import/sys/dev/rtwn/if_rtwn_rx.h projects/clang400-import/sys/dev/rtwn/if_rtwnvar.h projects/clang400-import/sys/dev/rtwn/pci/rtwn_pci_rx.c projects/clang400-import/sys/dev/rtwn/rtl8188e/r88e.h projects/clang400-import/sys/dev/rtwn/rtl8188e/r88e_rx.c projects/clang400-import/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c projects/clang400-import/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c.h projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c_reg.h projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c_rx.c projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c_rx_desc.h projects/clang400-import/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c projects/clang400-import/sys/dev/rtwn/rtl8812a/r12a.h projects/clang400-import/sys/dev/rtwn/rtl8812a/r12a_rx.c projects/clang400-import/sys/dev/rtwn/rtl8812a/r12a_rx_desc.h projects/clang400-import/sys/dev/rtwn/rtl8812a/r12a_tx.c projects/clang400-import/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c projects/clang400-import/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c projects/clang400-import/sys/dev/rtwn/usb/rtwn_usb_rx.c projects/clang400-import/sys/dev/sdhci/sdhci_fdt_gpio.c projects/clang400-import/sys/dev/sound/usb/uaudio.c projects/clang400-import/sys/dev/usb/controller/xhci.c projects/clang400-import/sys/dev/usb/controller/xhci.h projects/clang400-import/sys/dev/usb/controller/xhci_pci.c projects/clang400-import/sys/dev/usb/quirk/usb_quirk.c projects/clang400-import/sys/dev/usb/quirk/usb_quirk.h projects/clang400-import/sys/dev/usb/usbdevs projects/clang400-import/sys/fs/tmpfs/tmpfs.h projects/clang400-import/sys/fs/tmpfs/tmpfs_subr.c projects/clang400-import/sys/fs/tmpfs/tmpfs_vfsops.c projects/clang400-import/sys/fs/tmpfs/tmpfs_vnops.c projects/clang400-import/sys/fs/tmpfs/tmpfs_vnops.h projects/clang400-import/sys/geom/multipath/g_multipath.c projects/clang400-import/sys/i386/cloudabi32/cloudabi32_sysvec.c projects/clang400-import/sys/i386/i386/pmap.c projects/clang400-import/sys/i386/include/cpufunc.h projects/clang400-import/sys/kern/imgact_elf.c projects/clang400-import/sys/kern/kern_clocksource.c projects/clang400-import/sys/kern/kern_ktrace.c projects/clang400-import/sys/kern/kern_racct.c projects/clang400-import/sys/kern/kern_rwlock.c projects/clang400-import/sys/kern/kern_sx.c projects/clang400-import/sys/kern/kern_synch.c projects/clang400-import/sys/kern/sched_4bsd.c projects/clang400-import/sys/kern/sched_ule.c projects/clang400-import/sys/kern/uipc_socket.c projects/clang400-import/sys/kern/vfs_subr.c projects/clang400-import/sys/kern/vfs_vnops.c projects/clang400-import/sys/mips/conf/std.MALTA projects/clang400-import/sys/modules/ath/Makefile projects/clang400-import/sys/modules/if_lagg/Makefile projects/clang400-import/sys/modules/if_vlan/Makefile projects/clang400-import/sys/net/ieee8023ad_lacp.c projects/clang400-import/sys/net/ieee8023ad_lacp.h projects/clang400-import/sys/net/if.h projects/clang400-import/sys/net/if_dead.c projects/clang400-import/sys/net/if_lagg.c projects/clang400-import/sys/net/if_media.c projects/clang400-import/sys/net/if_var.h projects/clang400-import/sys/net/if_vlan.c projects/clang400-import/sys/net80211/_ieee80211.h projects/clang400-import/sys/net80211/ieee80211.h projects/clang400-import/sys/net80211/ieee80211_ht.c projects/clang400-import/sys/net80211/ieee80211_ioctl.c projects/clang400-import/sys/net80211/ieee80211_node.h projects/clang400-import/sys/net80211/ieee80211_var.h projects/clang400-import/sys/netgraph/ng_mppc.c projects/clang400-import/sys/netinet/in_pcb.c projects/clang400-import/sys/netinet/in_pcb.h projects/clang400-import/sys/netinet/ip_output.c projects/clang400-import/sys/netinet6/ip6_output.c projects/clang400-import/sys/netpfil/ipfw/ip_fw_private.h projects/clang400-import/sys/powerpc/aim/trap_subr32.S projects/clang400-import/sys/powerpc/include/frame.h projects/clang400-import/sys/powerpc/mpc85xx/fsl_diu.c projects/clang400-import/sys/powerpc/powerpc/trap.c projects/clang400-import/sys/sys/cdefs.h projects/clang400-import/sys/sys/elf32.h projects/clang400-import/sys/sys/elf64.h projects/clang400-import/sys/sys/elf_common.h projects/clang400-import/sys/sys/extattr.h projects/clang400-import/sys/sys/gtaskqueue.h projects/clang400-import/sys/sys/mbuf.h projects/clang400-import/sys/sys/rwlock.h projects/clang400-import/sys/sys/socket.h projects/clang400-import/sys/sys/socketvar.h projects/clang400-import/sys/sys/sx.h projects/clang400-import/sys/ufs/ffs/ffs_vnops.c projects/clang400-import/sys/ufs/ufs/extattr.h projects/clang400-import/tools/tools/ath/athalq/ar9300_ds.c projects/clang400-import/tools/tools/ath/athalq/ar9300_ds.h projects/clang400-import/tools/tools/ath/athalq/main.c projects/clang400-import/usr.bin/cut/tests/Makefile projects/clang400-import/usr.bin/iscsictl/iscsictl.c projects/clang400-import/usr.bin/iscsictl/iscsictl.h projects/clang400-import/usr.bin/mandoc/Makefile projects/clang400-import/usr.bin/mandoc/Makefile.depend projects/clang400-import/usr.bin/sed/tests/Makefile projects/clang400-import/usr.sbin/bsnmpd/modules/Makefile projects/clang400-import/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile projects/clang400-import/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile projects/clang400-import/usr.sbin/camdd/camdd.c projects/clang400-import/usr.sbin/ctld/pdu.c projects/clang400-import/usr.sbin/iscsid/pdu.c Directory Properties: projects/clang400-import/ (props changed) projects/clang400-import/cddl/ (props changed) projects/clang400-import/contrib/mdocml/ (props changed) projects/clang400-import/contrib/zlib/ (props changed) projects/clang400-import/gnu/usr.bin/gdb/ (props changed) projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang400-import/sys/contrib/dev/acpica/ (props changed) Modified: projects/clang400-import/Makefile.inc1 ============================================================================== --- projects/clang400-import/Makefile.inc1 Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/Makefile.inc1 Sun Jan 22 16:05:13 2017 (r312624) @@ -1694,11 +1694,10 @@ _kerberos5_bootstrap_tools= \ .endif # r283777 makewhatis(1) replaced with mandoc version which builds a database. -.if ${MK_MANDOCDB} != "no" && ${BOOTSTRAPPING} < 1100075 +.if ${MK_MANDOCDB} != "no" _libopenbsd?= lib/libopenbsd -_makewhatis= lib/libsqlite3 \ - usr.bin/mandoc -${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd ${_bt}-lib/libsqlite3 +_makewhatis= usr.bin/mandoc +${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd .endif bootstrap-tools: .PHONY Modified: projects/clang400-import/cddl/usr.sbin/zfsd/case_file.cc ============================================================================== --- projects/clang400-import/cddl/usr.sbin/zfsd/case_file.cc Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/cddl/usr.sbin/zfsd/case_file.cc Sun Jan 22 16:05:13 2017 (r312624) @@ -656,8 +656,11 @@ CaseFile::DeSerializeFile(const char *fi uint64_t vdevGUID; nvlist_t *vdevConf; - sscanf(fileName, "pool_%" PRIu64 "_vdev_%" PRIu64 ".case", - &poolGUID, &vdevGUID); + if (sscanf(fileName, "pool_%" PRIu64 "_vdev_%" PRIu64 ".case", + &poolGUID, &vdevGUID) != 2) { + throw ZfsdException("CaseFile::DeSerialize: " + "Unintelligible CaseFile filename %s.\n", fileName); + } existingCaseFile = Find(Guid(poolGUID), Guid(vdevGUID)); if (existingCaseFile != NULL) { /* Modified: projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c ============================================================================== --- projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.c Sun Jan 22 16:05:13 2017 (r312624) @@ -34,6 +34,7 @@ #include #include +#include #include #include #include @@ -119,13 +120,15 @@ udp_init_port(struct tport *tp) addr.sin_port = htons(p->port); addr.sin_family = AF_INET; addr.sin_len = sizeof(addr); - if (addr.sin_addr.s_addr == INADDR_ANY && - setsockopt(p->input.fd, IPPROTO_IP, IP_RECVDSTADDR, &on, - sizeof(on)) == -1) { - syslog(LOG_ERR, "setsockopt(IP_RECVDSTADDR): %m"); - close(p->input.fd); - p->input.fd = -1; - return (SNMP_ERR_GENERR); + if (addr.sin_addr.s_addr == INADDR_ANY) { + if (setsockopt(p->input.fd, IPPROTO_IP, IP_RECVDSTADDR, &on, + sizeof(on)) == -1) { + syslog(LOG_ERR, "setsockopt(IP_RECVDSTADDR): %m"); + close(p->input.fd); + p->input.fd = -1; + return (SNMP_ERR_GENERR); + } + p->recvdstaddr = true; } if (bind(p->input.fd, (struct sockaddr *)&addr, sizeof(addr))) { if (errno == EADDRNOTAVAIL) { @@ -218,7 +221,6 @@ udp_send(struct tport *tp, const u_char { struct udp_port *p = (struct udp_port *)tp; struct cmsghdr *cmsg; - struct in_addr *src_addr; struct msghdr msg; char cbuf[CMSG_SPACE(sizeof(struct in_addr))]; struct iovec iov; @@ -231,15 +233,20 @@ udp_send(struct tport *tp, const u_char msg.msg_iovlen = 1; msg.msg_name = __DECONST(void *, addr); msg.msg_namelen = addrlen; - msg.msg_control = cbuf; - msg.msg_controllen = sizeof(cbuf); - cmsg = CMSG_FIRSTHDR(&msg); - cmsg->cmsg_level = IPPROTO_IP; - cmsg->cmsg_type = IP_SENDSRCADDR; - cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); - src_addr = (struct in_addr *)(void*)CMSG_DATA(cmsg); - memcpy(src_addr, &p->recv_addr, sizeof(struct in_addr)); + if (p->recvdstaddr) { + msg.msg_control = cbuf; + msg.msg_controllen = sizeof(cbuf); + + cmsg = CMSG_FIRSTHDR(&msg); + cmsg->cmsg_level = IPPROTO_IP; + cmsg->cmsg_type = IP_SENDSRCADDR; + cmsg->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); + memcpy(CMSG_DATA(cmsg), &p->dstaddr, sizeof(struct in_addr)); + } else { + msg.msg_control = NULL; + msg.msg_controllen = 0; + } return (sendmsg(p->input.fd, &msg, 0)); } @@ -260,11 +267,12 @@ check_priv_dgram(struct port_input *pi, * Each receive should return one datagram. */ static ssize_t -recv_dgram(struct port_input *pi, struct in_addr *laddr) +udp_recv(struct tport *tp, struct port_input *pi) { u_char embuf[1000]; char cbuf[CMSG_SPACE(SOCKCREDSIZE(CMGROUP_MAX)) + CMSG_SPACE(sizeof(struct in_addr))]; + struct udp_port *p = (struct udp_port *)tp; struct msghdr msg; struct iovec iov[1]; ssize_t len; @@ -316,7 +324,8 @@ recv_dgram(struct port_input *pi, struct cmsg = CMSG_NXTHDR(&msg, cmsg)) { if (cmsg->cmsg_level == IPPROTO_IP && cmsg->cmsg_type == IP_RECVDSTADDR) - memcpy(laddr, CMSG_DATA(cmsg), sizeof(struct in_addr)); + memcpy(&p->dstaddr, CMSG_DATA(cmsg), + sizeof(struct in_addr)); if (cmsg->cmsg_level == SOL_SOCKET && cmsg->cmsg_type == SCM_CREDS) cred = (struct sockcred *)CMSG_DATA(cmsg); @@ -329,42 +338,6 @@ recv_dgram(struct port_input *pi, struct } /* - * Receive something - */ -static ssize_t -udp_recv(struct tport *tp, struct port_input *pi) -{ - struct udp_port *p = (struct udp_port *)tp; - struct cmsghdr *cmsgp; - struct in_addr *laddr; - struct msghdr msg; - char cbuf[CMSG_SPACE(sizeof(struct in_addr))]; - ssize_t ret; - - memset(cbuf, 0, sizeof(cbuf)); - - msg.msg_control = cbuf; - msg.msg_controllen = sizeof(cbuf); - - cmsgp = CMSG_FIRSTHDR(&msg); - cmsgp->cmsg_len = CMSG_LEN(sizeof(struct in_addr)); - cmsgp->cmsg_level = IPPROTO_IP; - cmsgp->cmsg_type = IP_SENDSRCADDR; - laddr = (struct in_addr *)CMSG_DATA(cmsgp); - - ret = recv_dgram(pi, laddr); - - memcpy(&p->recv_addr, laddr, sizeof(struct in_addr)); - - if (laddr->s_addr == INADDR_ANY) { - msg.msg_control = NULL; - msg.msg_controllen = 0; - } - - return (ret); -} - -/* * Port table */ int Modified: projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.h ============================================================================== --- projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.h Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/bsnmp/snmpd/trans_udp.h Sun Jan 22 16:05:13 2017 (r312624) @@ -39,7 +39,9 @@ struct udp_port { struct port_input input; /* common input stuff */ struct sockaddr_in ret; /* the return address */ - struct in_addr recv_addr; /* the address the request was sent to */ + + bool recvdstaddr; /* IP_RECVDSTADDR is on */ + struct in_addr dstaddr; /* address the request was sent to */ }; /* argument for open call */ Modified: projects/clang400-import/contrib/mdocml/INSTALL ============================================================================== --- projects/clang400-import/contrib/mdocml/INSTALL Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/INSTALL Sun Jan 22 16:05:13 2017 (r312624) @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.15 2016/07/14 11:09:06 schwarze Exp $ +$Id: INSTALL,v 1.17 2016/07/19 22:40:33 schwarze Exp $ About mdocml, the portable mandoc distribution ---------------------------------------------- @@ -35,7 +35,11 @@ To install mandoc manually, the followin command "echo BUILD_CGI=1 > configure.local". Then run "cp cgi.h.examples cgi.h" and edit cgi.h as desired. -2. Run "./configure". +2. Define MANPATH_DEFAULT in configure.local +if /usr/share/man:/usr/X11R6/man:/usr/local/man is not appropriate +for your operating system. + +3. Run "./configure". This script attempts autoconfiguration of mandoc for your system. Read both its standard output and the file "Makefile.local" it generates. If anything looks wrong or different from what you @@ -45,28 +49,21 @@ result seems right to you. On Solaris 10 and earlier, you may have to run "ksh ./configure" because the native /bin/sh lacks some POSIX features. -3. Run "make". +4. Run "make". Any POSIX-compatible make, in particular both BSD make and GNU make, should work. If the build fails, look at "configure.local.example" and go back to step 2. -4. Run "make -n install" and check whether everything will be +5. Run "make -n install" and check whether everything will be installed to the intended places. Otherwise, put some *DIR or *NM* -variables into "configure.local" and go back to step 2. +variables into "configure.local" and go back to step 3. -5. Run "sudo make install". If you intend to build a binary +6. Run "sudo make install". If you intend to build a binary package using some kind of fake root mechanism, you may need a command like "make DESTDIR=... install". Read the *-install targets in the "Makefile" to understand how DESTDIR is used. -6. If you want to use the integrated man(1) and your system uses -manpath(1), make sure it is configured correctly, in particular, -it returns all directory trees where manual pages are installed. -Otherwise, if your system uses man.conf(5), make sure it contains -a "manpath" line for each directory tree, and the order of these -lines meets your wishes. - -7. If you compiled with database support, run the command "sudo +7. Run the command "sudo makewhatis" to build mandoc.db(5) databases in all the directory trees configured in step 6. Whenever installing new manual pages, re-run makewhatis(8) to update the databases, or apropos(1) will @@ -84,20 +81,9 @@ manual page source. Understanding mandoc dependencies --------------------------------- -The mandoc(1), man(1), and demandoc(1) utilities only depend -on the zlib library for decompressing gzipped manual pages, -but makewhatis(8) and apropos(1) depend on the following -additional software: - -1. The SQLite database system, see . -The recommended version of SQLite is 3.8.4.3 or newer. The mandoc -toolset is known to work with version 3.7.5 or newer. Versions -older than 3.8.3 may not achieve full performance due to the -missing SQLITE_DETERMINISTIC optimization flag. Versions older -than 3.8.0 may not show full error information if opening a database -fails due to the missing sqlite3_errstr() API. Both are very minor -problems, apropos(1) is fully usable with SQLite 3.7.5. Versions -older than 3.7.5 may or may not work, they have not been tested. +The following libraries are required: + +1. zlib for decompressing gzipped manual pages. 2. The fts(3) directory traversion functions. If your system does not have them, the bundled compatibility version Modified: projects/clang400-import/contrib/mdocml/LICENSE ============================================================================== --- projects/clang400-import/contrib/mdocml/LICENSE Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/LICENSE Sun Jan 22 16:05:13 2017 (r312624) @@ -1,4 +1,4 @@ -$Id: LICENSE,v 1.12 2016/07/07 23:46:36 schwarze Exp $ +$Id: LICENSE,v 1.13 2016/10/18 14:15:33 schwarze Exp $ With the exceptions noted below, all code and documentation contained in the mdocml toolkit is protected by the Copyright @@ -8,7 +8,8 @@ Copyright (c) 2008-2012, 2014 Kristaps D Copyright (c) 2010-2016 Ingo Schwarze Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger Copyright (c) 2013 Franco Fichtner -Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2016 Ed Maste Copyright (c) 1999, 2004 Marc Espie Copyright (c) 1998, 2004, 2010 Todd C. Miller Copyright (c) 2008 Otto Moerbeek @@ -41,7 +42,7 @@ other people's Copyright and are distrib and 3-clause BSD licenses; see these individual files for details. soelim.c, soelim.1: -Copyright (c) 2014 Baptiste Daroussin +Copyright (c) 2014 Baptiste Daroussin compat_err.c, compat_fts.c, compat_fts.h, compat_getsubopt.c, compat_strcasestr.c, compat_strsep.c, Modified: projects/clang400-import/contrib/mdocml/Makefile ============================================================================== --- projects/clang400-import/contrib/mdocml/Makefile Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/Makefile Sun Jan 22 16:05:13 2017 (r312624) @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.488 2016/07/12 05:18:38 kristaps Exp $ +# $Id: Makefile,v 1.493 2016/11/19 15:24:51 schwarze Exp $ # # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons # Copyright (c) 2011, 2013-2016 Ingo Schwarze @@ -15,27 +15,29 @@ # ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF # OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. -VERSION = 1.13.4 +VERSION = 1.14.0 # === LIST OF FILES ==================================================== -TESTSRCS = test-dirent-namlen.c \ +TESTSRCS = test-be32toh.c \ + test-dirent-namlen.c \ + test-EFTYPE.c \ test-err.c \ test-fts.c \ test-getline.c \ test-getsubopt.c \ test-isblank.c \ test-mkdtemp.c \ - test-mmap.c \ + test-nanosleep.c \ + test-ntohl.c \ test-ohash.c \ + test-PATH_MAX.c \ test-pledge.c \ test-progname.c \ test-reallocarray.c \ test-rewb-bsd.c \ test-rewb-sysv.c \ test-sandbox_init.c \ - test-sqlite3.c \ - test-sqlite3_errstr.c \ test-strcasestr.c \ test-stringlist.c \ test-strlcat.c \ @@ -58,7 +60,6 @@ SRCS = att.c \ compat_ohash.c \ compat_progname.c \ compat_reallocarray.c \ - compat_sqlite3_errstr.c \ compat_strcasestr.c \ compat_stringlist.c \ compat_strlcat.c \ @@ -66,6 +67,12 @@ SRCS = att.c \ compat_strsep.c \ compat_strtonum.c \ compat_vasprintf.c \ + dba.c \ + dba_array.c \ + dba_read.c \ + dba_write.c \ + dbm.c \ + dbm_map.c \ demandoc.c \ eqn.c \ eqn_html.c \ @@ -86,7 +93,6 @@ SRCS = att.c \ manpage.c \ manpath.c \ mansearch.c \ - mansearch_const.c \ mdoc.c \ mdoc_argv.c \ mdoc_hash.c \ @@ -128,6 +134,11 @@ DISTFILES = INSTALL \ compat_stringlist.h \ configure \ configure.local.example \ + dba.h \ + dba_array.h \ + dba_write.h \ + dbm.h \ + dbm_map.h \ demandoc.1 \ eqn.7 \ gmdiff \ @@ -220,7 +231,6 @@ COMPAT_OBJS = compat_err.o \ compat_ohash.o \ compat_progname.o \ compat_reallocarray.o \ - compat_sqlite3_errstr.o \ compat_strcasestr.o \ compat_strlcat.o \ compat_strlcpy.o \ @@ -244,28 +254,35 @@ MANDOC_TERM_OBJS = eqn_term.o \ term_ps.o \ tbl_term.o -BASE_OBJS = $(MANDOC_HTML_OBJS) \ +DBM_OBJS = dbm.o \ + dbm_map.o \ + mansearch.o + +DBA_OBJS = dba.o \ + dba_array.o \ + dba_read.o \ + dba_write.o \ + mandocdb.o + +MAIN_OBJS = $(MANDOC_HTML_OBJS) \ $(MANDOC_MAN_OBJS) \ $(MANDOC_TERM_OBJS) \ + $(DBM_OBJS) \ + $(DBA_OBJS) \ main.o \ manpath.o \ out.o \ tag.o \ tree.o -MAIN_OBJS = $(BASE_OBJS) - -DB_OBJS = mandocdb.o \ - mansearch.o \ - mansearch_const.o - CGI_OBJS = $(MANDOC_HTML_OBJS) \ + $(DBM_OBJS) \ cgi.o \ - mansearch.o \ - mansearch_const.o \ out.o -MANPAGE_OBJS = manpage.o mansearch.o mansearch_const.o manpath.o +MANPAGE_OBJS = $(DBM_OBJS) \ + manpage.o \ + manpath.o DEMANDOC_OBJS = demandoc.o @@ -329,7 +346,7 @@ www: $(WWW_OBJS) $(WWW_MANS) $(WWW_MANS): mandoc -.PHONY: base-install cgi-install db-install install www-install +.PHONY: base-install cgi-install install www-install .PHONY: clean distclean depend include Makefile.depend @@ -341,7 +358,7 @@ distclean: clean clean: rm -f libmandoc.a $(LIBMANDOC_OBJS) $(COMPAT_OBJS) - rm -f mandoc $(BASE_OBJS) $(DB_OBJS) + rm -f mandoc $(MAIN_OBJS) rm -f man.cgi $(CGI_OBJS) rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) @@ -351,50 +368,45 @@ clean: base-install: base-build mkdir -p $(DESTDIR)$(BINDIR) - mkdir -p $(DESTDIR)$(LIBDIR) - mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(SBINDIR) mkdir -p $(DESTDIR)$(MANDIR)/man1 - mkdir -p $(DESTDIR)$(MANDIR)/man3 mkdir -p $(DESTDIR)$(MANDIR)/man5 mkdir -p $(DESTDIR)$(MANDIR)/man7 + mkdir -p $(DESTDIR)$(MANDIR)/man8 $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN) - $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) - $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ - $(DESTDIR)$(INCLUDEDIR) + ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) + ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) + ln -f $(DESTDIR)$(BINDIR)/mandoc \ + $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 - $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ - mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 + ln -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \ + $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/${MANM_MANCONF}.5 + $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MAN}.7 $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MDOC}.7 $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/${MANM_ROFF}.7 $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/${MANM_EQN}.7 $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/${MANM_TBL}.7 $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 - -db-install: base-build - mkdir -p $(DESTDIR)$(BINDIR) - mkdir -p $(DESTDIR)$(SBINDIR) - mkdir -p $(DESTDIR)$(MANDIR)/man1 - mkdir -p $(DESTDIR)$(MANDIR)/man3 - mkdir -p $(DESTDIR)$(MANDIR)/man5 - mkdir -p $(DESTDIR)$(MANDIR)/man8 - ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_APROPOS) - ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_WHATIS) - ln -f $(DESTDIR)$(BINDIR)/mandoc \ - $(DESTDIR)$(SBINDIR)/$(BINM_MAKEWHATIS) - $(INSTALL_MAN) apropos.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 - ln -f $(DESTDIR)$(MANDIR)/man1/$(BINM_APROPOS).1 \ - $(DESTDIR)$(MANDIR)/man1/$(BINM_WHATIS).1 - $(INSTALL_MAN) mansearch.3 $(DESTDIR)$(MANDIR)/man3 - $(INSTALL_MAN) mandoc.db.5 $(DESTDIR)$(MANDIR)/man5 $(INSTALL_MAN) makewhatis.8 \ $(DESTDIR)$(MANDIR)/man8/$(BINM_MAKEWHATIS).8 +lib-install: base-build + mkdir -p $(DESTDIR)$(LIBDIR) + mkdir -p $(DESTDIR)$(INCLUDEDIR) + mkdir -p $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) + $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ + $(DESTDIR)$(INCLUDEDIR) + $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ + mansearch.3 mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + cgi-install: cgi-build mkdir -p $(DESTDIR)$(CGIBINDIR) mkdir -p $(DESTDIR)$(HTDOCDIR) Modified: projects/clang400-import/contrib/mdocml/Makefile.depend ============================================================================== --- projects/clang400-import/contrib/mdocml/Makefile.depend Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/Makefile.depend Sun Jan 22 16:05:13 2017 (r312624) @@ -10,7 +10,6 @@ compat_mkdtemp.o: compat_mkdtemp.c confi compat_ohash.o: compat_ohash.c config.h compat_ohash.h compat_progname.o: compat_progname.c config.h compat_reallocarray.o: compat_reallocarray.c config.h -compat_sqlite3_errstr.o: compat_sqlite3_errstr.c config.h compat_strcasestr.o: compat_strcasestr.c config.h compat_stringlist.o: compat_stringlist.c config.h compat_stringlist.h compat_strlcat.o: compat_strlcat.c config.h @@ -18,6 +17,12 @@ compat_strlcpy.o: compat_strlcpy.c confi compat_strsep.o: compat_strsep.c config.h compat_strtonum.o: compat_strtonum.c config.h compat_vasprintf.o: compat_vasprintf.c config.h +dba.o: dba.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mansearch.h dba_write.h dba_array.h dba.h +dba_array.o: dba_array.c mandoc_aux.h dba_write.h dba_array.h +dba_read.o: dba_read.c mandoc_aux.h mansearch.h dba_array.h dba.h dbm.h +dba_write.o: dba_write.c config.h dba_write.h +dbm.o: dbm.c config.h mansearch.h dbm_map.h dbm.h +dbm_map.o: dbm_map.c config.h mansearch.h dbm_map.h dbm.h demandoc.o: demandoc.c config.h roff.h man.h mdoc.h mandoc.h eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h @@ -26,7 +31,7 @@ html.o: html.c config.h mandoc.h mandoc_ lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h -man_hash.o: man_hash.c config.h roff.h man.h libman.h +man_hash.o: man_hash.c config.h mandoc.h roff.h man.h libmandoc.h libman.h man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h @@ -34,14 +39,13 @@ man_validate.o: man_validate.c config.h mandoc.o: mandoc.c config.h mandoc.h mandoc_aux.h libmandoc.h mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h -mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h +mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h dba_array.h dba.h manpage.o: manpage.c config.h manconf.h mansearch.h manpath.o: manpath.c config.h mandoc_aux.h manconf.h -mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h -mansearch_const.o: mansearch_const.c config.h mansearch.h +mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h dbm.h mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h -mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h -mdoc_hash.o: mdoc_hash.c config.h roff.h mdoc.h libmdoc.h +mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_hash.o: mdoc_hash.c config.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h Modified: projects/clang400-import/contrib/mdocml/TODO ============================================================================== --- projects/clang400-import/contrib/mdocml/TODO Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/TODO Sun Jan 22 16:05:13 2017 (r312624) @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.218 2016/06/05 21:06:04 schwarze Exp $ +* $Id: TODO,v 1.223 2017/01/17 15:32:43 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -33,15 +33,6 @@ Obviously, as the issues have not been s are mere guesses, and some may be wrong. ************************************************************************ -* crashes -************************************************************************ - -- The abort() in bufcat(), html.c, can be triggered via buffmt_includes() - by running -Thtml -Oincludes on a file containing a long .In argument. - Fixing this will probably require reworking the whole bufcat() concept. - loc ** exist * algo * size ** imp ** - -************************************************************************ * missing features ************************************************************************ @@ -213,6 +204,13 @@ are mere guesses, and some may be wrong. synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 loc ** exist ** algo ** size ** imp *** +- break long text into lines inside cells + net/lftp(1) from jirib via bentley@ Sep 13, 2016 + +- layout l1 for a column of max text width 3 reduces the following + inter-column spacing for groff, but not for mandoc + net/lftp(1) from jirib via bentley@ Sep 13, 2016 + - the "w" layout option is ignored synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 loc * exist * algo * size * imp ** @@ -529,16 +527,6 @@ are mere guesses, and some may be wrong. loc ** exist ** algo ** size * imp ** ************************************************************************ -* portability -************************************************************************ - -- systems having UTF-8 but not en_US.UTF-8 - call locale(1) from ./configure, select a UTF-8-locale, - and use that for test-wchar.c and term_ascii.c - to Markus Waldeck Sat, 18 Jul 2015 01:55:37 +0200 - loc * exist * algo * size * imp * - -************************************************************************ * warning issues ************************************************************************ @@ -612,7 +600,6 @@ are mere guesses, and some may be wrong. ************************************************************************ - Why are we using MAP_SHARED, not MAP_PRIVATE for mmap(2)? - How does SQLITE_CONFIG_PAGECACHE actually work? Document it! from kristaps@ Sat, 09 Aug 2014 13:51:36 +0200 Several areas can be cleaned up to make mandoc even faster. These are @@ -631,6 +618,13 @@ Several areas can be cleaned up to make * structural issues ************************************************************************ +- POSIX says in the documentation of sysconf(3) that PATH_MAX + is allowed to be so large that it is a bad idea to use it + for sizing static buffers. So use dynamic buffers throughout. + See the file test-PATH_MAX.c for details. + Found by Aaron M. Ucko in the GNU Hurd via Bdale Garbee, + https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=829624 + - We use the input line number at several places to distinguish same-line from different-line input. That plainly doesn't work with user-defined macros, leading to random breakage. @@ -646,11 +640,6 @@ Several areas can be cleaned up to make - struct mparse refactoring Steffen Nurpmeso Thu, 04 Sep 2014 12:50:00 +0200 -- Consider creating some views that will make the database more - readable from the sqlite3 shell. Consider using them to - abstract from the database structure, too. - suggested by espie@ Sat, 19 Apr 2014 14:52:57 +0200 - ************************************************************************ * CGI issues ************************************************************************ Modified: projects/clang400-import/contrib/mdocml/cgi.c ============================================================================== --- projects/clang400-import/contrib/mdocml/cgi.c Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/cgi.c Sun Jan 22 16:05:13 2017 (r312624) @@ -1,7 +1,7 @@ -/* $Id: cgi.c,v 1.135 2016/07/11 22:48:37 schwarze Exp $ */ +/* $Id: cgi.c,v 1.144 2017/01/21 01:20:31 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons - * Copyright (c) 2014, 2015, 2016 Ingo Schwarze + * Copyright (c) 2014, 2015, 2016, 2017 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above @@ -113,17 +113,18 @@ static const char *const sec_names[] = { static const int sec_MAX = sizeof(sec_names) / sizeof(char *); static const char *const arch_names[] = { - "amd64", "alpha", "armish", "armv7", - "hppa", "hppa64", "i386", "landisk", + "amd64", "alpha", "armv7", + "hppa", "i386", "landisk", "loongson", "luna88k", "macppc", "mips64", - "octeon", "sgi", "socppc", "sparc", - "sparc64", "zaurus", - "amiga", "arc", "arm32", "atari", - "aviion", "beagle", "cats", "hp300", + "octeon", "sgi", "socppc", "sparc64", + "amiga", "arc", "armish", "arm32", + "atari", "aviion", "beagle", "cats", + "hppa64", "hp300", "ia64", "mac68k", "mvme68k", "mvme88k", "mvmeppc", "palm", "pc532", "pegasos", - "pmax", "powerpc", "solbourne", "sun3", - "vax", "wgrisc", "x68k" + "pmax", "powerpc", "solbourne", "sparc", + "sun3", "vax", "wgrisc", "x68k", + "zaurus" }; static const int arch_MAX = sizeof(arch_names) / sizeof(char *); @@ -137,7 +138,7 @@ html_putchar(char c) switch (c) { case ('"'): - printf(""e;"); + printf("""); break; case ('&'): printf("&"); @@ -337,6 +338,7 @@ resp_copy(const char *filename) fflush(stdout); while ((sz = read(fd, buf, sizeof(buf))) > 0) write(STDOUT_FILENO, buf, sz); + close(fd); } } @@ -349,13 +351,12 @@ resp_begin_html(int code, const char *ms printf("\n" "\n" "\n" - "\n" - "\n" + " \n" - "%s\n" + " %s\n" "\n" - "\n" - "\n", + "\n", CSS_DIR, CUSTOMIZE_TITLE); resp_copy(MAN_DIR "/header.html"); @@ -376,16 +377,14 @@ resp_searchform(const struct req *req, e { int i; - puts(""); - printf("
\n" - "
\n" - "
\n" - "Manual Page Search Parameters\n", + printf("\n" + "
\n" + " Manual Page Search Parameters\n", scriptname); /* Write query input box. */ - printf("q.query != NULL) html_print(req->q.query); printf( "\" size=\"40\""); @@ -395,45 +394,46 @@ resp_searchform(const struct req *req, e /* Write submission buttons. */ - printf( "\n" - "\n
\n"); + " \n" + "
\n"); /* Write section selector. */ - puts(""); for (i = 0; i < sec_MAX; i++) { - printf("\n", sec_names[i]); } - puts(""); + puts(" "); /* Write architecture selector. */ - printf( ""); + puts(" "); /* Write manpath selector. */ if (req->psz > 1) { - puts(""); for (i = 0; i < (int)req->psz; i++) { - printf(""); } - puts(""); + puts(" "); } - puts("
\n" - "\n" - "
"); - puts(""); + puts(" \n" + ""); } static int @@ -496,9 +494,9 @@ pg_index(const struct req *req) resp_searchform(req, FOCUS_QUERY); printf("

\n" "This web interface is documented in the\n" - "man.cgi(8)\n" + "man.cgi(8)\n" "manual, and the\n" - "apropos(1)\n" + "apropos(1)\n" "manual explains the query syntax.\n" "

\n", scriptname, *scriptname == '\0' ? "" : "/", @@ -578,27 +576,21 @@ pg_searchres(const struct req *req, stru req->q.equal || sz == 1 ? FOCUS_NONE : FOCUS_QUERY); if (sz > 1) { - puts("
"); - puts(""); - + puts("
"); for (i = 0; i < sz; i++) { - printf("\n" - "\n" - "\n" + " \n" - ""); + puts("\n" + " "); } - - puts("
\n" - "\n" + " " + "", scriptname, *scriptname == '\0' ? "" : "/", req->q.manpath, r[i].file); - printf("\">"); html_print(r[i].names); - printf("\n" - ""); + printf(""); html_print(r[i].output); - puts("
\n" - "
"); + puts(""); } /* @@ -800,7 +792,8 @@ resp_format(const struct req *req, const } mchars_alloc(); - mp = mparse_alloc(MPARSE_SO, MANDOCLEVEL_BADARG, NULL, req->q.manpath); + mp = mparse_alloc(MPARSE_SO | MPARSE_UTF8 | MPARSE_LATIN1, + MANDOCLEVEL_BADARG, NULL, req->q.manpath); mparse_readfd(mp, fd, file); close(fd); Modified: projects/clang400-import/contrib/mdocml/compat_fts.c ============================================================================== --- projects/clang400-import/contrib/mdocml/compat_fts.c Sun Jan 22 15:35:51 2017 (r312623) +++ projects/clang400-import/contrib/mdocml/compat_fts.c Sun Jan 22 16:05:13 2017 (r312624) @@ -6,8 +6,8 @@ int dummy; #else -/* $Id: compat_fts.c,v 1.9 2015/03/18 19:29:48 schwarze Exp $ */ -/* $OpenBSD: fts.c,v 1.50 2015/01/16 16:48:51 deraadt Exp $ */ +/* $Id: compat_fts.c,v 1.12 2016/10/18 23:58:12 schwarze Exp $ */ +/* $OpenBSD: fts.c,v 1.56 2016/09/21 04:38:56 guenther Exp $ */ /*- * Copyright (c) 1990, 1993, 1994 @@ -59,6 +59,7 @@ static void fts_load(FTS *, FTSENT *); static size_t fts_maxarglen(char * const *); static void fts_padjust(FTS *, FTSENT *); static int fts_palloc(FTS *, size_t); +static FTSENT *fts_sort(FTS *, FTSENT *, int); static unsigned short fts_stat(FTS *, FTSENT *); #define ISDOT(a) (a[0] == '.' && (!a[1] || (a[1] == '.' && !a[2]))) @@ -68,19 +69,22 @@ static unsigned short fts_stat(FTS *, F #ifndef O_CLOEXEC #define O_CLOEXEC 0 #endif +#ifndef PATH_MAX +#define PATH_MAX 4096 +#endif #define CLR(opt) (sp->fts_options &= ~(opt)) #define ISSET(opt) (sp->fts_options & (opt)) #define SET(opt) (sp->fts_options |= (opt)) FTS * -fts_open(char * const *argv, int options, void *dummy) +fts_open(char * const *argv, int options, + int (*compar)(const FTSENT **, const FTSENT **)) { FTS *sp; FTSENT *p, *root; int nitems; FTSENT *parent, *tmp; - size_t len; /* Options check. */ if (options & ~FTS_OPTIONMASK) { @@ -88,9 +92,16 @@ fts_open(char * const *argv, int options return (NULL); } + /* At least one path must be specified. */ + if (*argv == NULL) { + errno = EINVAL; + return (NULL); + } + /* Allocate/initialize the stream */ if ((sp = calloc(1, sizeof(FTS))) == NULL) return (NULL); + sp->fts_compar = compar; sp->fts_options = options; /* @@ -107,13 +118,7 @@ fts_open(char * const *argv, int options /* Allocate/initialize root(s). */ for (root = NULL, nitems = 0; *argv; ++argv, ++nitems) { - /* Don't allow zero-length paths. */ - if ((len = strlen(*argv)) == 0) { - errno = ENOENT; - goto mem3; - } - - if ((p = fts_alloc(sp, *argv, len)) == NULL) + if ((p = fts_alloc(sp, *argv, strlen(*argv))) == NULL) goto mem3; p->fts_level = FTS_ROOTLEVEL; p->fts_parent = parent; @@ -124,14 +129,25 @@ fts_open(char * const *argv, int options if (p->fts_info == FTS_DOT) p->fts_info = FTS_D; - p->fts_link = NULL; - if (root == NULL) - tmp = root = p; - else { - tmp->fts_link = p; - tmp = p; + /* + * If comparison routine supplied, traverse in sorted + * order; otherwise traverse in the order specified. + */ + if (compar) { + p->fts_link = root; + root = p; + } else { + p->fts_link = NULL; + if (root == NULL) + tmp = root = p; + else { + tmp->fts_link = p; + tmp = p; + } } } + if (compar && nitems > 1) + root = fts_sort(sp, root, nitems); /* * Allocate a dummy pointer and make fts_read think that we've just @@ -201,6 +217,7 @@ fts_close(FTS *sp) /* Free up child linked list, sort array, path buffer, stream ptr.*/ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sun Jan 22 18:02:48 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8EB5FCBC2AE for ; Sun, 22 Jan 2017 18:02:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2B8861BE; Sun, 22 Jan 2017 18:02:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0MI2l0k052396; Sun, 22 Jan 2017 18:02:47 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0MI2jIn052374; Sun, 22 Jan 2017 18:02:45 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701221802.v0MI2jIn052374@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Jan 2017 18:02:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312639 - in projects/clang400-import: contrib/llvm/lib/Analysis contrib/llvm/lib/Bitcode/Reader contrib/llvm/lib/LTO contrib/llvm/lib/Target/X86 contrib/llvm/lib/Transforms/Scalar cont... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 18:02:48 -0000 Author: dim Date: Sun Jan 22 18:02:44 2017 New Revision: 312639 URL: https://svnweb.freebsd.org/changeset/base/312639 Log: Merge llvm, clang, lld and lldb release_40 branch 292732, and update build glue. Modified: projects/clang400-import/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp projects/clang400-import/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang400-import/contrib/llvm/lib/Target/X86/X86Subtarget.cpp projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp projects/clang400-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.h projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.h projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp projects/clang400-import/lib/clang/include/clang/Basic/Version.inc projects/clang400-import/lib/clang/include/lld/Config/Version.inc Directory Properties: projects/clang400-import/contrib/llvm/ (props changed) projects/clang400-import/contrib/llvm/tools/clang/ (props changed) projects/clang400-import/contrib/llvm/tools/lld/ (props changed) projects/clang400-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang400-import/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Analysis/ModuleSummaryAnalysis.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -405,6 +405,7 @@ char ModuleSummaryIndexWrapperPass::ID = INITIALIZE_PASS_BEGIN(ModuleSummaryIndexWrapperPass, "module-summary-analysis", "Module Summary Analysis", false, true) INITIALIZE_PASS_DEPENDENCY(BlockFrequencyInfoWrapperPass) +INITIALIZE_PASS_DEPENDENCY(ProfileSummaryInfoWrapperPass) INITIALIZE_PASS_END(ModuleSummaryIndexWrapperPass, "module-summary-analysis", "Module Summary Analysis", false, true) Modified: projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -768,13 +768,12 @@ void MetadataLoader::MetadataLoaderImpl: unsigned ID, PlaceholderQueue &Placeholders) { assert(ID < (MDStringRef.size()) + GlobalMetadataBitPosIndex.size()); assert(ID >= MDStringRef.size() && "Unexpected lazy-loading of MDString"); -#ifndef NDEBUG // Lookup first if the metadata hasn't already been loaded. if (auto *MD = MetadataList.lookup(ID)) { auto *N = dyn_cast_or_null(MD); - assert(N && N->isTemporary() && "Lazy loading an already loaded metadata"); + if (!N->isTemporary()) + return; } -#endif SmallVector Record; StringRef Blob; IndexCursor.JumpToBit(GlobalMetadataBitPosIndex[ID - MDStringRef.size()]); @@ -827,8 +826,22 @@ Error MetadataLoader::MetadataLoaderImpl auto getMD = [&](unsigned ID) -> Metadata * { if (ID < MDStringRef.size()) return lazyLoadOneMDString(ID); - if (!IsDistinct) + if (!IsDistinct) { + if (auto *MD = MetadataList.lookup(ID)) + return MD; + // If lazy-loading is enabled, we try recursively to load the operand + // instead of creating a temporary. + if (ID < (MDStringRef.size() + GlobalMetadataBitPosIndex.size())) { + // Create a temporary for the node that is referencing the operand we + // will lazy-load. It is needed before recursing in case there are + // uniquing cycles. + MetadataList.getMetadataFwdRef(NextMetadataNo); + lazyLoadOneMetadata(ID, Placeholders); + return MetadataList.lookup(ID); + } + // Return a temporary. return MetadataList.getMetadataFwdRef(ID); + } if (auto *MD = MetadataList.getMetadataIfResolved(ID)) return MD; return &Placeholders.getPlaceholderOp(ID); Modified: projects/clang400-import/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/LTO/ThinLTOCodeGenerator.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -829,11 +829,22 @@ static std::string writeGeneratedObject( // Main entry point for the ThinLTO processing void ThinLTOCodeGenerator::run() { + // Prepare the resulting object vector + assert(ProducedBinaries.empty() && "The generator should not be reused"); + if (SavedObjectsDirectoryPath.empty()) + ProducedBinaries.resize(Modules.size()); + else { + sys::fs::create_directories(SavedObjectsDirectoryPath); + bool IsDir; + sys::fs::is_directory(SavedObjectsDirectoryPath, IsDir); + if (!IsDir) + report_fatal_error("Unexistent dir: '" + SavedObjectsDirectoryPath + "'"); + ProducedBinaryFiles.resize(Modules.size()); + } + if (CodeGenOnly) { // Perform only parallel codegen and return. ThreadPool Pool; - assert(ProducedBinaries.empty() && "The generator should not be reused"); - ProducedBinaries.resize(Modules.size()); int count = 0; for (auto &ModuleBuffer : Modules) { Pool.async([&](int count) { @@ -845,7 +856,12 @@ void ThinLTOCodeGenerator::run() { /*IsImporting*/ false); // CodeGen - ProducedBinaries[count] = codegen(*TheModule); + auto OutputBuffer = codegen(*TheModule); + if (SavedObjectsDirectoryPath.empty()) + ProducedBinaries[count] = std::move(OutputBuffer); + else + ProducedBinaryFiles[count] = writeGeneratedObject( + count, "", SavedObjectsDirectoryPath, *OutputBuffer); }, count++); } @@ -866,18 +882,6 @@ void ThinLTOCodeGenerator::run() { WriteIndexToFile(*Index, OS); } - // Prepare the resulting object vector - assert(ProducedBinaries.empty() && "The generator should not be reused"); - if (SavedObjectsDirectoryPath.empty()) - ProducedBinaries.resize(Modules.size()); - else { - sys::fs::create_directories(SavedObjectsDirectoryPath); - bool IsDir; - sys::fs::is_directory(SavedObjectsDirectoryPath, IsDir); - if (!IsDir) - report_fatal_error("Unexistent dir: '" + SavedObjectsDirectoryPath + "'"); - ProducedBinaryFiles.resize(Modules.size()); - } // Prepare the module map. auto ModuleMap = generateModuleMap(Modules); Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -29455,19 +29455,11 @@ static SDValue combineSelect(SDNode *N, return SDValue(); } -/// Combine brcond/cmov/setcc/.. based on comparing the result of -/// atomic_load_add to use EFLAGS produced by the addition -/// directly if possible. For example: -/// -/// (setcc (cmp (atomic_load_add x, -C) C), COND_E) -/// becomes: -/// (setcc (LADD x, -C), COND_E) -/// -/// and +/// Combine: /// (brcond/cmov/setcc .., (cmp (atomic_load_add x, 1), 0), COND_S) -/// becomes: +/// to: /// (brcond/cmov/setcc .., (LADD x, 1), COND_LE) -/// +/// i.e., reusing the EFLAGS produced by the LOCKed instruction. /// Note that this is only legal for some op/cc combinations. static SDValue combineSetCCAtomicArith(SDValue Cmp, X86::CondCode &CC, SelectionDAG &DAG) { @@ -29482,7 +29474,7 @@ static SDValue combineSetCCAtomicArith(S if (!Cmp.hasOneUse()) return SDValue(); - // This applies to variations of the common case: + // This only applies to variations of the common case: // (icmp slt x, 0) -> (icmp sle (add x, 1), 0) // (icmp sge x, 0) -> (icmp sgt (add x, 1), 0) // (icmp sle x, 0) -> (icmp slt (sub x, 1), 0) @@ -29501,9 +29493,8 @@ static SDValue combineSetCCAtomicArith(S return SDValue(); auto *CmpRHSC = dyn_cast(CmpRHS); - if (!CmpRHSC) + if (!CmpRHSC || CmpRHSC->getZExtValue() != 0) return SDValue(); - APInt Comparand = CmpRHSC->getAPIntValue(); const unsigned Opc = CmpLHS.getOpcode(); @@ -29519,19 +29510,16 @@ static SDValue combineSetCCAtomicArith(S if (Opc == ISD::ATOMIC_LOAD_SUB) Addend = -Addend; - if (Comparand == -Addend) { - // No change to CC. - } else if (CC == X86::COND_S && Comparand == 0 && Addend == 1) { + if (CC == X86::COND_S && Addend == 1) CC = X86::COND_LE; - } else if (CC == X86::COND_NS && Comparand == 0 && Addend == 1) { + else if (CC == X86::COND_NS && Addend == 1) CC = X86::COND_G; - } else if (CC == X86::COND_G && Comparand == 0 && Addend == -1) { + else if (CC == X86::COND_G && Addend == -1) CC = X86::COND_GE; - } else if (CC == X86::COND_LE && Comparand == 0 && Addend == -1) { + else if (CC == X86::COND_LE && Addend == -1) CC = X86::COND_L; - } else { + else return SDValue(); - } SDValue LockOp = lowerAtomicArithWithLOCK(CmpLHS, DAG); DAG.ReplaceAllUsesOfValueWith(CmpLHS.getValue(0), Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86Subtarget.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86Subtarget.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86Subtarget.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -232,9 +232,6 @@ void X86Subtarget::initSubtargetFeatures else if (isTargetDarwin() || isTargetLinux() || isTargetSolaris() || isTargetKFreeBSD() || In64BitMode) stackAlignment = 16; - - assert((!isPMULLDSlow() || hasSSE41()) && - "Feature Slow PMULLD can only be set on a subtarget with SSE4.1"); } void X86Subtarget::initializeEnvironment() { Modified: projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -3163,6 +3163,9 @@ LSRInstance::CollectLoopInvariantFixupsA // Don't bother if the instruction is in a BB which ends in an EHPad. if (UseBB->getTerminator()->isEHPad()) continue; + // Don't bother rewriting PHIs in catchswitch blocks. + if (isa(UserInst->getParent()->getTerminator())) + continue; // Ignore uses which are part of other SCEV expressions, to avoid // analyzing them multiple times. if (SE.isSCEVable(UserInst->getType())) { @@ -4672,7 +4675,8 @@ void LSRInstance::RewriteForPHI(PHINode // is the canonical backedge for this loop, which complicates post-inc // users. if (e != 1 && BB->getTerminator()->getNumSuccessors() > 1 && - !isa(BB->getTerminator())) { + !isa(BB->getTerminator()) && + !isa(BB->getTerminator())) { BasicBlock *Parent = PN->getParent(); Loop *PNLoop = LI.getLoopFor(Parent); if (!PNLoop || Parent != PNLoop->getHeader()) { Modified: projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -81,6 +81,10 @@ STATISTIC(NumGVNOpsSimplified, "Number o STATISTIC(NumGVNPhisAllSame, "Number of PHIs whos arguments are all the same"); STATISTIC(NumGVNMaxIterations, "Maximum Number of iterations it took to converge GVN"); +STATISTIC(NumGVNLeaderChanges, "Number of leader changes"); +STATISTIC(NumGVNSortedLeaderChanges, "Number of sorted leader changes"); +STATISTIC(NumGVNAvoidedSortedLeaderChanges, + "Number of avoided sorted leader changes"); //===----------------------------------------------------------------------===// // GVN Pass @@ -139,6 +143,10 @@ struct CongruenceClass { // This is used so we can detect store equivalence changes properly. int StoreCount = 0; + // The most dominating leader after our current leader, because the member set + // is not sorted and is expensive to keep sorted all the time. + std::pair NextLeader = {nullptr, ~0U}; + explicit CongruenceClass(unsigned ID) : ID(ID) {} CongruenceClass(unsigned ID, Value *Leader, const Expression *E) : ID(ID), RepLeader(Leader), DefiningExpr(E) {} @@ -320,8 +328,8 @@ private: // Templated to allow them to work both on BB's and BB-edges. template Value *lookupOperandLeader(Value *, const User *, const T &) const; - void performCongruenceFinding(Value *, const Expression *); - void moveValueToNewCongruenceClass(Value *, CongruenceClass *, + void performCongruenceFinding(Instruction *, const Expression *); + void moveValueToNewCongruenceClass(Instruction *, CongruenceClass *, CongruenceClass *); // Reachability handling. void updateReachableEdge(BasicBlock *, BasicBlock *); @@ -1056,20 +1064,43 @@ void NewGVN::markLeaderChangeTouched(Con // Move a value, currently in OldClass, to be part of NewClass // Update OldClass for the move (including changing leaders, etc) -void NewGVN::moveValueToNewCongruenceClass(Value *V, CongruenceClass *OldClass, +void NewGVN::moveValueToNewCongruenceClass(Instruction *I, + CongruenceClass *OldClass, CongruenceClass *NewClass) { - DEBUG(dbgs() << "New congruence class for " << V << " is " << NewClass->ID + DEBUG(dbgs() << "New congruence class for " << I << " is " << NewClass->ID << "\n"); - OldClass->Members.erase(V); - NewClass->Members.insert(V); - if (isa(V)) { + + if (I == OldClass->NextLeader.first) + OldClass->NextLeader = {nullptr, ~0U}; + + // The new instruction and new class leader may either be siblings in the + // dominator tree, or the new class leader should dominate the new member + // instruction. We simply check that the member instruction does not properly + // dominate the new class leader. + assert( + !isa(NewClass->RepLeader) || !NewClass->RepLeader || + I == NewClass->RepLeader || + !DT->properlyDominates( + I->getParent(), + cast(NewClass->RepLeader)->getParent()) && + "New class for instruction should not be dominated by instruction"); + + if (NewClass->RepLeader != I) { + auto DFSNum = InstrDFS.lookup(I); + if (DFSNum < NewClass->NextLeader.second) + NewClass->NextLeader = {I, DFSNum}; + } + + OldClass->Members.erase(I); + NewClass->Members.insert(I); + if (isa(I)) { --OldClass->StoreCount; assert(OldClass->StoreCount >= 0); ++NewClass->StoreCount; assert(NewClass->StoreCount > 0); } - ValueToClass[V] = NewClass; + ValueToClass[I] = NewClass; // See if we destroyed the class or need to swap leaders. if (OldClass->Members.empty() && OldClass != InitialClass) { if (OldClass->DefiningExpr) { @@ -1078,25 +1109,48 @@ void NewGVN::moveValueToNewCongruenceCla << " from table\n"); ExpressionToClass.erase(OldClass->DefiningExpr); } - } else if (OldClass->RepLeader == V) { + } else if (OldClass->RepLeader == I) { // When the leader changes, the value numbering of // everything may change due to symbolization changes, so we need to // reprocess. - OldClass->RepLeader = *(OldClass->Members.begin()); + DEBUG(dbgs() << "Leader change!\n"); + ++NumGVNLeaderChanges; + // We don't need to sort members if there is only 1, and we don't care about + // sorting the initial class because everything either gets out of it or is + // unreachable. + if (OldClass->Members.size() == 1 || OldClass == InitialClass) { + OldClass->RepLeader = *(OldClass->Members.begin()); + } else if (OldClass->NextLeader.first) { + ++NumGVNAvoidedSortedLeaderChanges; + OldClass->RepLeader = OldClass->NextLeader.first; + OldClass->NextLeader = {nullptr, ~0U}; + } else { + ++NumGVNSortedLeaderChanges; + // TODO: If this ends up to slow, we can maintain a dual structure for + // member testing/insertion, or keep things mostly sorted, and sort only + // here, or .... + std::pair MinDFS = {nullptr, ~0U}; + for (const auto X : OldClass->Members) { + auto DFSNum = InstrDFS.lookup(X); + if (DFSNum < MinDFS.second) + MinDFS = {X, DFSNum}; + } + OldClass->RepLeader = MinDFS.first; + } markLeaderChangeTouched(OldClass); } } // Perform congruence finding on a given value numbering expression. -void NewGVN::performCongruenceFinding(Value *V, const Expression *E) { - ValueToExpression[V] = E; +void NewGVN::performCongruenceFinding(Instruction *I, const Expression *E) { + ValueToExpression[I] = E; // This is guaranteed to return something, since it will at least find // INITIAL. - CongruenceClass *VClass = ValueToClass[V]; - assert(VClass && "Should have found a vclass"); + CongruenceClass *IClass = ValueToClass[I]; + assert(IClass && "Should have found a IClass"); // Dead classes should have been eliminated from the mapping. - assert(!VClass->Dead && "Found a dead class"); + assert(!IClass->Dead && "Found a dead class"); CongruenceClass *EClass; if (const auto *VE = dyn_cast(E)) { @@ -1118,13 +1172,13 @@ void NewGVN::performCongruenceFinding(Va NewClass->RepLeader = lookupOperandLeader(SI->getValueOperand(), SI, SI->getParent()); } else { - NewClass->RepLeader = V; + NewClass->RepLeader = I; } assert(!isa(E) && "VariableExpression should have been handled already"); EClass = NewClass; - DEBUG(dbgs() << "Created new congruence class for " << *V + DEBUG(dbgs() << "Created new congruence class for " << *I << " using expression " << *E << " at " << NewClass->ID << " and leader " << *(NewClass->RepLeader) << "\n"); DEBUG(dbgs() << "Hash value was " << E->getHashValue() << "\n"); @@ -1140,36 +1194,31 @@ void NewGVN::performCongruenceFinding(Va assert(!EClass->Dead && "We accidentally looked up a dead class"); } } - bool ClassChanged = VClass != EClass; - bool LeaderChanged = LeaderChanges.erase(V); + bool ClassChanged = IClass != EClass; + bool LeaderChanged = LeaderChanges.erase(I); if (ClassChanged || LeaderChanged) { DEBUG(dbgs() << "Found class " << EClass->ID << " for expression " << E << "\n"); if (ClassChanged) - - moveValueToNewCongruenceClass(V, VClass, EClass); - - - markUsersTouched(V); - if (auto *I = dyn_cast(V)) { - if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) { - // If this is a MemoryDef, we need to update the equivalence table. If - // we determined the expression is congruent to a different memory - // state, use that different memory state. If we determined it didn't, - // we update that as well. Right now, we only support store - // expressions. - if (!isa(MA) && isa(E) && - EClass->Members.size() != 1) { - auto *DefAccess = cast(E)->getDefiningAccess(); - setMemoryAccessEquivTo(MA, DefAccess != MA ? DefAccess : nullptr); - } else { - setMemoryAccessEquivTo(MA, nullptr); - } - markMemoryUsersTouched(MA); + moveValueToNewCongruenceClass(I, IClass, EClass); + markUsersTouched(I); + if (MemoryAccess *MA = MSSA->getMemoryAccess(I)) { + // If this is a MemoryDef, we need to update the equivalence table. If + // we determined the expression is congruent to a different memory + // state, use that different memory state. If we determined it didn't, + // we update that as well. Right now, we only support store + // expressions. + if (!isa(MA) && isa(E) && + EClass->Members.size() != 1) { + auto *DefAccess = cast(E)->getDefiningAccess(); + setMemoryAccessEquivTo(MA, DefAccess != MA ? DefAccess : nullptr); + } else { + setMemoryAccessEquivTo(MA, nullptr); } + markMemoryUsersTouched(MA); } - } else if (StoreInst *SI = dyn_cast(V)) { + } else if (auto *SI = dyn_cast(I)) { // There is, sadly, one complicating thing for stores. Stores do not // produce values, only consume them. However, in order to make loads and // stores value number the same, we ignore the value operand of the store. Modified: projects/clang400-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -5602,6 +5602,13 @@ void LoopVectorizationLegality::collectL // is consecutive-like, the pointer operand should remain uniform. else if (hasConsecutiveLikePtrOperand(&I)) ConsecutiveLikePtrs.insert(Ptr); + + // Otherwise, if the memory instruction will be vectorized and its + // pointer operand is non-consecutive-like, the memory instruction should + // be a gather or scatter operation. Its pointer operand will be + // non-uniform. + else + PossibleNonUniformPtrs.insert(Ptr); } // Add to the Worklist all consecutive and consecutive-like pointers that Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td Sun Jan 22 18:02:44 2017 (r312639) @@ -3337,8 +3337,8 @@ def note_ovl_candidate : Note<"candidate def note_ovl_candidate_inherited_constructor : Note< "constructor from base class %0 inherited here">; def note_ovl_candidate_inherited_constructor_slice : Note< - "constructor inherited from base class cannot be used to initialize from " - "an argument of the derived class type">; + "candidate %select{constructor|template}0 ignored: " + "inherited constructor cannot be used to %select{copy|move}1 object">; def note_ovl_candidate_illegal_constructor : Note< "candidate %select{constructor|template}0 ignored: " "instantiation %select{takes|would take}0 its own class type by value">; Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -512,7 +512,7 @@ protected: Builder.defineMacro("__unix__"); Builder.defineMacro("__ELF__"); if (Opts.POSIXThreads) - Builder.defineMacro("_POSIX_THREADS"); + Builder.defineMacro("_REENTRANT"); switch (Triple.getArch()) { default: Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -1652,9 +1652,10 @@ Parser::ParsePostfixExpressionSuffix(Exp if (Tok.is(tok::code_completion)) { // Code completion for a member access expression. - Actions.CodeCompleteMemberReferenceExpr( - getCurScope(), LHS.get(), OpLoc, OpKind == tok::arrow, - ExprStatementTokLoc == LHS.get()->getLocStart()); + if (Expr *Base = LHS.get()) + Actions.CodeCompleteMemberReferenceExpr( + getCurScope(), Base, OpLoc, OpKind == tok::arrow, + ExprStatementTokLoc == Base->getLocStart()); cutOffParsing(); return ExprError(); Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -5944,6 +5944,28 @@ Sema::AddOverloadCandidate(FunctionDecl Candidate.FailureKind = ovl_fail_illegal_constructor; return; } + + // C++ [over.match.funcs]p8: (proposed DR resolution) + // A constructor inherited from class type C that has a first parameter + // of type "reference to P" (including such a constructor instantiated + // from a template) is excluded from the set of candidate functions when + // constructing an object of type cv D if the argument list has exactly + // one argument and D is reference-related to P and P is reference-related + // to C. + auto *Shadow = dyn_cast(FoundDecl.getDecl()); + if (Shadow && Args.size() == 1 && Constructor->getNumParams() >= 1 && + Constructor->getParamDecl(0)->getType()->isReferenceType()) { + QualType P = Constructor->getParamDecl(0)->getType()->getPointeeType(); + QualType C = Context.getRecordType(Constructor->getParent()); + QualType D = Context.getRecordType(Shadow->getParent()); + SourceLocation Loc = Args.front()->getExprLoc(); + if ((Context.hasSameUnqualifiedType(P, C) || IsDerivedFrom(Loc, P, C)) && + (Context.hasSameUnqualifiedType(D, P) || IsDerivedFrom(Loc, D, P))) { + Candidate.Viable = false; + Candidate.FailureKind = ovl_fail_inhctor_slice; + return; + } + } } unsigned NumParams = Proto->getNumParams(); @@ -6016,31 +6038,6 @@ Sema::AddOverloadCandidate(FunctionDecl } } - // C++ [over.best.ics]p4+: (proposed DR resolution) - // If the target is the first parameter of an inherited constructor when - // constructing an object of type C with an argument list that has exactly - // one expression, an implicit conversion sequence cannot be formed if C is - // reference-related to the type that the argument would have after the - // application of the user-defined conversion (if any) and before the final - // standard conversion sequence. - auto *Shadow = dyn_cast(FoundDecl.getDecl()); - if (Shadow && Args.size() == 1 && !isa(Args.front())) { - bool DerivedToBase, ObjCConversion, ObjCLifetimeConversion; - QualType ConvertedArgumentType = Args.front()->getType(); - if (Candidate.Conversions[0].isUserDefined()) - ConvertedArgumentType = - Candidate.Conversions[0].UserDefined.After.getFromType(); - if (CompareReferenceRelationship(Args.front()->getLocStart(), - Context.getRecordType(Shadow->getParent()), - ConvertedArgumentType, DerivedToBase, - ObjCConversion, - ObjCLifetimeConversion) >= Ref_Related) { - Candidate.Viable = false; - Candidate.FailureKind = ovl_fail_inhctor_slice; - return; - } - } - if (EnableIfAttr *FailedAttr = CheckEnableIf(Function, Args)) { Candidate.Viable = false; Candidate.FailureKind = ovl_fail_enable_if; @@ -10222,8 +10219,13 @@ static void NoteFunctionCandidate(Sema & return DiagnoseOpenCLExtensionDisabled(S, Cand); case ovl_fail_inhctor_slice: + // It's generally not interesting to note copy/move constructors here. + if (cast(Fn)->isCopyOrMoveConstructor()) + return; S.Diag(Fn->getLocation(), - diag::note_ovl_candidate_inherited_constructor_slice); + diag::note_ovl_candidate_inherited_constructor_slice) + << (Fn->getPrimaryTemplate() ? 1 : 0) + << Fn->getParamDecl(0)->getType()->isRValueReferenceType(); MaybeEmitInheritedConstructorNote(S, Cand->FoundDecl); return; Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -5127,18 +5127,22 @@ ExprResult Sema::CheckTemplateArgument(N if (CTAK == CTAK_Deduced && !Context.hasSameType(ParamType.getNonLValueExprType(Context), Arg->getType())) { - // C++ [temp.deduct.type]p17: (DR1770) - // If P has a form that contains , and if the type of i differs from - // the type of the corresponding template parameter of the template named - // by the enclosing simple-template-id, deduction fails. - // - // Note that CTAK will be CTAK_DeducedFromArrayBound if the form was [i] - // rather than . - // - // FIXME: We interpret the 'i' here as referring to the expression - // denoting the non-type template parameter rather than the parameter - // itself, and so strip off references before comparing types. It's - // not clear how this is supposed to work for references. + // FIXME: If either type is dependent, we skip the check. This isn't + // correct, since during deduction we're supposed to have replaced each + // template parameter with some unique (non-dependent) placeholder. + // FIXME: If the argument type contains 'auto', we carry on and fail the + // type check in order to force specific types to be more specialized than + // 'auto'. It's not clear how partial ordering with 'auto' is supposed to + // work. + if ((ParamType->isDependentType() || Arg->isTypeDependent()) && + !Arg->getType()->getContainedAutoType()) { + Converted = TemplateArgument(Arg); + return Arg; + } + // FIXME: This attempts to implement C++ [temp.deduct.type]p17. Per DR1770, + // we should actually be checking the type of the template argument in P, + // not the type of the template argument deduced from A, against the + // template parameter type. Diag(StartLoc, diag::err_deduced_non_type_template_arg_type_mismatch) << Arg->getType() << ParamType.getUnqualifiedType(); Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -140,7 +140,7 @@ template DefinedRegular *SymbolTable::addIgnored(StringRef Name, uint8_t Visibility) { SymbolBody *S = find(Name); - if (!S || !S->isUndefined()) + if (!S || S->isInCurrentDSO()) return nullptr; return addAbsolute(Name, Visibility); } @@ -283,7 +283,7 @@ static int compareDefined(Symbol *S, boo if (WasInserted) return 1; SymbolBody *Body = S->body(); - if (Body->isLazy() || Body->isUndefined() || Body->isShared()) + if (Body->isLazy() || !Body->isInCurrentDSO()) return 1; if (Binding == STB_WEAK) return -1; @@ -426,12 +426,8 @@ void SymbolTable::addShared(Shared std::tie(S, WasInserted) = insert(Name, Sym.getType(), STV_DEFAULT, /*CanOmitFromDynSym*/ true, F); // Make sure we preempt DSO symbols with default visibility. - if (Sym.getVisibility() == STV_DEFAULT) { + if (Sym.getVisibility() == STV_DEFAULT) S->ExportDynamic = true; - // Exporting preempting symbols takes precedence over linker scripts. - if (S->VersionId == VER_NDX_LOCAL) - S->VersionId = VER_NDX_GLOBAL; - } if (WasInserted || isa>(S->body())) { replaceBody>(S, F, Name, Sym, Verdef); if (!S->isWeak()) @@ -468,6 +464,14 @@ template SymbolBody *Symbol } template +SymbolBody *SymbolTable::findInCurrentDSO(StringRef Name) { + if (SymbolBody *S = find(Name)) + if (S->isInCurrentDSO()) + return S; + return nullptr; +} + +template void SymbolTable::addLazyArchive(ArchiveFile *F, const object::Archive::Symbol Sym) { Symbol *S; Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.h ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.h Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/SymbolTable.h Sun Jan 22 18:02:44 2017 (r312639) @@ -82,6 +82,7 @@ public: void scanVersionScript(); SymbolBody *find(StringRef Name); + SymbolBody *findInCurrentDSO(StringRef Name); void trace(StringRef Name); void wrap(StringRef Name); Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -203,8 +203,8 @@ void SymbolBody::parseSymbolVersion() { // Truncate the symbol name so that it doesn't include the version string. Name = {S.data(), Pos}; - // If this is an undefined or shared symbol it is not a definition. - if (isUndefined() || isShared()) + // If this is not in this DSO, it is not a definition. + if (!isInCurrentDSO()) return; // '@@' in a symbol name means the default version. @@ -299,7 +299,8 @@ uint8_t Symbol::computeBinding() const { return Binding; if (Visibility != STV_DEFAULT && Visibility != STV_PROTECTED) return STB_LOCAL; - if (VersionId == VER_NDX_LOCAL && !body()->isUndefined()) + const SymbolBody *Body = body(); + if (VersionId == VER_NDX_LOCAL && Body->isInCurrentDSO()) return STB_LOCAL; if (Config->NoGnuUnique && Binding == STB_GNU_UNIQUE) return STB_GLOBAL; Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.h ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.h Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Symbols.h Sun Jan 22 18:02:44 2017 (r312639) @@ -67,6 +67,7 @@ public: return SymbolKind == LazyArchiveKind || SymbolKind == LazyObjectKind; } bool isShared() const { return SymbolKind == SharedKind; } + bool isInCurrentDSO() const { return !isUndefined() && !isShared(); } bool isLocal() const { return IsLocal; } bool isPreemptible() const; StringRef getName() const { return Name; } Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/SyntheticSections.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -883,9 +883,9 @@ template void DynamicSectio add({DT_FINI_ARRAYSZ, Out::FiniArray, Entry::SecSize}); } - if (SymbolBody *B = Symtab::X->find(Config->Init)) + if (SymbolBody *B = Symtab::X->findInCurrentDSO(Config->Init)) add({DT_INIT, B}); - if (SymbolBody *B = Symtab::X->find(Config->Fini)) + if (SymbolBody *B = Symtab::X->findInCurrentDSO(Config->Fini)) add({DT_FINI, B}); bool HasVerNeed = In::VerNeed->getNeedNum() != 0; Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Sun Jan 22 18:02:44 2017 (r312639) @@ -641,7 +641,7 @@ static void addOptionalSynthetic(StringR typename ELFT::uint Val, uint8_t StOther = STV_HIDDEN) { if (SymbolBody *S = Symtab::X->find(Name)) - if (S->isUndefined() || S->isShared()) + if (!S->isInCurrentDSO()) Symtab::X->addSynthetic(Name, Sec, Val, StOther); } @@ -661,7 +661,7 @@ static Symbol *addOptionalRegular(String SymbolBody *S = Symtab::X->find(Name); if (!S) return nullptr; - if (!S->isUndefined() && !S->isShared()) + if (S->isInCurrentDSO()) return S->symbol(); return addRegular(Name, IS, Value); } Modified: projects/clang400-import/lib/clang/include/clang/Basic/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Sun Jan 22 18:02:44 2017 (r312639) @@ -8,4 +8,4 @@ #define CLANG_VENDOR "FreeBSD " -#define SVN_REVISION "292009" +#define SVN_REVISION "292732" Modified: projects/clang400-import/lib/clang/include/lld/Config/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/lld/Config/Version.inc Sun Jan 22 17:49:14 2017 (r312638) +++ projects/clang400-import/lib/clang/include/lld/Config/Version.inc Sun Jan 22 18:02:44 2017 (r312639) @@ -4,5 +4,5 @@ #define LLD_VERSION_STRING "4.0.0" #define LLD_VERSION_MAJOR 4 #define LLD_VERSION_MINOR 0 -#define LLD_REVISION_STRING "292009" +#define LLD_REVISION_STRING "292732" #define LLD_REPOSITORY_STRING "FreeBSD" From owner-svn-src-projects@freebsd.org Sun Jan 22 18:04:43 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2029ACBC2F8 for ; Sun, 22 Jan 2017 18:04:43 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CA3162F2; Sun, 22 Jan 2017 18:04:42 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0MI4fQl052540; Sun, 22 Jan 2017 18:04:41 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0MI4fHg052539; Sun, 22 Jan 2017 18:04:41 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701221804.v0MI4fHg052539@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Jan 2017 18:04:41 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312640 - projects/clang400-import/contrib/compiler-rt X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 18:04:43 -0000 Author: dim Date: Sun Jan 22 18:04:41 2017 New Revision: 312640 URL: https://svnweb.freebsd.org/changeset/base/312640 Log: Merge compiler-rt release_40 branch r292732. Modified: Directory Properties: projects/clang400-import/contrib/compiler-rt/ (props changed) From owner-svn-src-projects@freebsd.org Sun Jan 22 18:06:23 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 899FDCBC40F for ; Sun, 22 Jan 2017 18:06:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 642BD807; Sun, 22 Jan 2017 18:06:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0MI6MWI052746; Sun, 22 Jan 2017 18:06:22 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0MI6L4u052740; Sun, 22 Jan 2017 18:06:21 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701221806.v0MI6L4u052740@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Jan 2017 18:06:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312642 - in projects/clang400-import/contrib/libc++: include src X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 18:06:23 -0000 Author: dim Date: Sun Jan 22 18:06:21 2017 New Revision: 312642 URL: https://svnweb.freebsd.org/changeset/base/312642 Log: Merge libc++ release_40 branch r292732. Modified: projects/clang400-import/contrib/libc++/include/__config projects/clang400-import/contrib/libc++/include/array projects/clang400-import/contrib/libc++/include/new projects/clang400-import/contrib/libc++/include/string projects/clang400-import/contrib/libc++/include/typeinfo projects/clang400-import/contrib/libc++/src/new.cpp Directory Properties: projects/clang400-import/contrib/libc++/ (props changed) Modified: projects/clang400-import/contrib/libc++/include/__config ============================================================================== --- projects/clang400-import/contrib/libc++/include/__config Sun Jan 22 18:04:57 2017 (r312641) +++ projects/clang400-import/contrib/libc++/include/__config Sun Jan 22 18:06:21 2017 (r312642) @@ -835,6 +835,18 @@ template struct __static_asse #define _DECLARE_C99_LDBL_MATH 1 #endif +#if defined(__APPLE__) +# if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ + defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) +# define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIROMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# endif +# if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) +# if __MAC_OS_X_VERSION_MIN_REQUIRED < 1060 +# define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION +# endif +# endif +#endif // defined(__APPLE__) + #if defined(__APPLE__) || defined(__FreeBSD__) #define _LIBCPP_HAS_DEFAULTRUNELOCALE #endif Modified: projects/clang400-import/contrib/libc++/include/array ============================================================================== --- projects/clang400-import/contrib/libc++/include/array Sun Jan 22 18:04:57 2017 (r312641) +++ projects/clang400-import/contrib/libc++/include/array Sun Jan 22 18:06:21 2017 (r312642) @@ -185,14 +185,17 @@ struct _LIBCPP_TEMPLATE_VIS array _LIBCPP_CONSTEXPR bool empty() const _NOEXCEPT {return _Size == 0;} // element access: - _LIBCPP_INLINE_VISIBILITY reference operator[](size_type __n) {return __elems_[__n];} - _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference operator[](size_type __n) const {return __elems_[__n];} - reference at(size_type __n); + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 + reference operator[](size_type __n) {return __elems_[__n];} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 + const_reference operator[](size_type __n) const {return __elems_[__n];} + + _LIBCPP_CONSTEXPR_AFTER_CXX14 reference at(size_type __n); _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference at(size_type __n) const; - _LIBCPP_INLINE_VISIBILITY reference front() {return __elems_[0];} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 reference front() {return __elems_[0];} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference front() const {return __elems_[0];} - _LIBCPP_INLINE_VISIBILITY reference back() {return __elems_[_Size > 0 ? _Size-1 : 0];} + _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 reference back() {return __elems_[_Size > 0 ? _Size-1 : 0];} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX11 const_reference back() const {return __elems_[_Size > 0 ? _Size-1 : 0];} _LIBCPP_INLINE_VISIBILITY _LIBCPP_CONSTEXPR_AFTER_CXX14 @@ -202,6 +205,7 @@ struct _LIBCPP_TEMPLATE_VIS array }; template +_LIBCPP_CONSTEXPR_AFTER_CXX14 typename array<_Tp, _Size>::reference array<_Tp, _Size>::at(size_type __n) { Modified: projects/clang400-import/contrib/libc++/include/new ============================================================================== --- projects/clang400-import/contrib/libc++/include/new Sun Jan 22 18:04:57 2017 (r312641) +++ projects/clang400-import/contrib/libc++/include/new Sun Jan 22 18:06:21 2017 (r312642) @@ -101,8 +101,9 @@ void operator delete[](void* ptr, void* # define _LIBCPP_HAS_NO_SIZED_DEALLOCATION #endif -#if !(defined(_LIBCPP_BUILDING_NEW) || _LIBCPP_STD_VER > 14 || \ - (defined(__cpp_aligned_new) && __cpp_aligned_new >= 201606)) +#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) && \ + (!(defined(_LIBCPP_BUILDING_NEW) || _LIBCPP_STD_VER > 14 || \ + (defined(__cpp_aligned_new) && __cpp_aligned_new >= 201606))) # define _LIBCPP_HAS_NO_ALIGNED_ALLOCATION #endif @@ -144,7 +145,7 @@ public: #endif // defined(_LIBCPP_BUILDING_NEW) || (_LIBCPP_STD_VER > 11) -#ifndef _LIBCPP_HAS_NO_ALIGNED_ALLOCATION +#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) || _LIBCPP_STD_VER > 14 #ifndef _LIBCPP_CXX03_LANG enum class _LIBCPP_ENUM_VIS align_val_t : size_t { }; #else Modified: projects/clang400-import/contrib/libc++/include/string ============================================================================== --- projects/clang400-import/contrib/libc++/include/string Sun Jan 22 18:04:57 2017 (r312641) +++ projects/clang400-import/contrib/libc++/include/string Sun Jan 22 18:06:21 2017 (r312642) @@ -818,6 +818,7 @@ public: operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); } basic_string& operator=(const basic_string& __str); + template _LIBCPP_INLINE_VISIBILITY basic_string& operator=(__self_view __sv) {return assign(__sv);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES Modified: projects/clang400-import/contrib/libc++/include/typeinfo ============================================================================== --- projects/clang400-import/contrib/libc++/include/typeinfo Sun Jan 22 18:04:57 2017 (r312641) +++ projects/clang400-import/contrib/libc++/include/typeinfo Sun Jan 22 18:06:21 2017 (r312642) @@ -95,12 +95,13 @@ protected: uintptr_t __type_name; _LIBCPP_INLINE_VISIBILITY - type_info(const char* __n) : __type_name(reinterpret_cast(__n)) {} + explicit type_info(const char* __n) + : __type_name(reinterpret_cast(__n)) {} #else const char *__type_name; _LIBCPP_INLINE_VISIBILITY - type_info(const char* __n) : __type_name(__n) {} + explicit type_info(const char* __n) : __type_name(__n) {} #endif public: Modified: projects/clang400-import/contrib/libc++/src/new.cpp ============================================================================== --- projects/clang400-import/contrib/libc++/src/new.cpp Sun Jan 22 18:04:57 2017 (r312641) +++ projects/clang400-import/contrib/libc++/src/new.cpp Sun Jan 22 18:06:21 2017 (r312642) @@ -64,38 +64,6 @@ operator new(std::size_t size) _THROW_BA } _LIBCPP_WEAK -void * -operator new(std::size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC -{ - if (size == 0) - size = 1; - if (static_cast(alignment) < sizeof(void*)) - alignment = std::align_val_t(sizeof(void*)); - void* p; -#if defined(_LIBCPP_MSVCRT) - while ((p = _aligned_malloc(size, static_cast(alignment))) == nullptr) -#else - while (::posix_memalign(&p, static_cast(alignment), size) != 0) -#endif - { - // If posix_memalign fails and there is a new_handler, - // call it to try free up memory. - std::new_handler nh = std::get_new_handler(); - if (nh) - nh(); - else { -#ifndef _LIBCPP_NO_EXCEPTIONS - throw std::bad_alloc(); -#else - p = nullptr; // posix_memalign doesn't initialize 'p' on failure - break; -#endif - } - } - return p; -} - -_LIBCPP_WEAK void* operator new(size_t size, const std::nothrow_t&) _NOEXCEPT { @@ -116,14 +84,21 @@ operator new(size_t size, const std::not _LIBCPP_WEAK void* -operator new(size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT +operator new[](size_t size) _THROW_BAD_ALLOC +{ + return ::operator new(size); +} + +_LIBCPP_WEAK +void* +operator new[](size_t size, const std::nothrow_t&) _NOEXCEPT { void* p = 0; #ifndef _LIBCPP_NO_EXCEPTIONS try { #endif // _LIBCPP_NO_EXCEPTIONS - p = ::operator new(size, alignment); + p = ::operator new[](size); #ifndef _LIBCPP_NO_EXCEPTIONS } catch (...) @@ -134,29 +109,92 @@ operator new(size_t size, std::align_val } _LIBCPP_WEAK -void* -operator new[](size_t size) _THROW_BAD_ALLOC +void +operator delete(void* ptr) _NOEXCEPT { - return ::operator new(size); + if (ptr) + ::free(ptr); } _LIBCPP_WEAK -void* -operator new[](size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC +void +operator delete(void* ptr, const std::nothrow_t&) _NOEXCEPT { - return ::operator new(size, alignment); + ::operator delete(ptr); +} + +_LIBCPP_WEAK +void +operator delete(void* ptr, size_t) _NOEXCEPT +{ + ::operator delete(ptr); +} + +_LIBCPP_WEAK +void +operator delete[] (void* ptr) _NOEXCEPT +{ + ::operator delete(ptr); +} + +_LIBCPP_WEAK +void +operator delete[] (void* ptr, const std::nothrow_t&) _NOEXCEPT +{ + ::operator delete[](ptr); +} + +_LIBCPP_WEAK +void +operator delete[] (void* ptr, size_t) _NOEXCEPT +{ + ::operator delete[](ptr); +} + +#if !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) + +_LIBCPP_WEAK +void * +operator new(std::size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC +{ + if (size == 0) + size = 1; + if (static_cast(alignment) < sizeof(void*)) + alignment = std::align_val_t(sizeof(void*)); + void* p; +#if defined(_LIBCPP_MSVCRT) + while ((p = _aligned_malloc(size, static_cast(alignment))) == nullptr) +#else + while (::posix_memalign(&p, static_cast(alignment), size) != 0) +#endif + { + // If posix_memalign fails and there is a new_handler, + // call it to try free up memory. + std::new_handler nh = std::get_new_handler(); + if (nh) + nh(); + else { +#ifndef _LIBCPP_NO_EXCEPTIONS + throw std::bad_alloc(); +#else + p = nullptr; // posix_memalign doesn't initialize 'p' on failure + break; +#endif + } + } + return p; } _LIBCPP_WEAK void* -operator new[](size_t size, const std::nothrow_t&) _NOEXCEPT +operator new(size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT { void* p = 0; #ifndef _LIBCPP_NO_EXCEPTIONS try { #endif // _LIBCPP_NO_EXCEPTIONS - p = ::operator new[](size); + p = ::operator new(size, alignment); #ifndef _LIBCPP_NO_EXCEPTIONS } catch (...) @@ -168,6 +206,13 @@ operator new[](size_t size, const std::n _LIBCPP_WEAK void* +operator new[](size_t size, std::align_val_t alignment) _THROW_BAD_ALLOC +{ + return ::operator new(size, alignment); +} + +_LIBCPP_WEAK +void* operator new[](size_t size, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT { void* p = 0; @@ -187,14 +232,6 @@ operator new[](size_t size, std::align_v _LIBCPP_WEAK void -operator delete(void* ptr) _NOEXCEPT -{ - if (ptr) - ::free(ptr); -} - -_LIBCPP_WEAK -void operator delete(void* ptr, std::align_val_t) _NOEXCEPT { if (ptr) @@ -207,13 +244,6 @@ operator delete(void* ptr, std::align_va _LIBCPP_WEAK void -operator delete(void* ptr, const std::nothrow_t&) _NOEXCEPT -{ - ::operator delete(ptr); -} - -_LIBCPP_WEAK -void operator delete(void* ptr, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT { ::operator delete(ptr, alignment); @@ -221,13 +251,6 @@ operator delete(void* ptr, std::align_va _LIBCPP_WEAK void -operator delete(void* ptr, size_t) _NOEXCEPT -{ - ::operator delete(ptr); -} - -_LIBCPP_WEAK -void operator delete(void* ptr, size_t, std::align_val_t alignment) _NOEXCEPT { ::operator delete(ptr, alignment); @@ -235,13 +258,6 @@ operator delete(void* ptr, size_t, std:: _LIBCPP_WEAK void -operator delete[] (void* ptr) _NOEXCEPT -{ - ::operator delete(ptr); -} - -_LIBCPP_WEAK -void operator delete[] (void* ptr, std::align_val_t alignment) _NOEXCEPT { ::operator delete(ptr, alignment); @@ -249,13 +265,6 @@ operator delete[] (void* ptr, std::align _LIBCPP_WEAK void -operator delete[] (void* ptr, const std::nothrow_t&) _NOEXCEPT -{ - ::operator delete[](ptr); -} - -_LIBCPP_WEAK -void operator delete[] (void* ptr, std::align_val_t alignment, const std::nothrow_t&) _NOEXCEPT { ::operator delete[](ptr, alignment); @@ -263,18 +272,13 @@ operator delete[] (void* ptr, std::align _LIBCPP_WEAK void -operator delete[] (void* ptr, size_t) _NOEXCEPT -{ - ::operator delete[](ptr); -} - -_LIBCPP_WEAK -void operator delete[] (void* ptr, size_t, std::align_val_t alignment) _NOEXCEPT { ::operator delete[](ptr, alignment); } +#endif // !defined(_LIBCPP_HAS_NO_ALIGNED_ALLOCATION) + #endif // !__GLIBCXX__ namespace std From owner-svn-src-projects@freebsd.org Sun Jan 22 18:31:50 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 88606CBCE90 for ; Sun, 22 Jan 2017 18:31:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4A6F2862; Sun, 22 Jan 2017 18:31:50 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0MIVnO9063749; Sun, 22 Jan 2017 18:31:49 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0MIVnsM063748; Sun, 22 Jan 2017 18:31:49 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701221831.v0MIVnsM063748@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sun, 22 Jan 2017 18:31:49 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312643 - projects/clang400-import/contrib/llvm/lib/Target/X86 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 18:31:50 -0000 Author: dim Date: Sun Jan 22 18:31:49 2017 New Revision: 312643 URL: https://svnweb.freebsd.org/changeset/base/312643 Log: Pull in r292758 from upstream llvm trunk (by Sanjay Patel): [x86] avoid crashing with illegal vector type (PR31672) https://llvm.org/bugs/show_bug.cgi?id=31672 This fixes an assertion while building graphics/gegl3. PR: 216166 Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Modified: projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sun Jan 22 18:06:21 2017 (r312642) +++ projects/clang400-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sun Jan 22 18:31:49 2017 (r312643) @@ -28788,10 +28788,12 @@ static SDValue combineExtractVectorElt(S return SDValue(); } -/// If a vector select has an operand that is -1 or 0, simplify the select to a -/// bitwise logic operation. -static SDValue combineVSelectWithAllOnesOrZeros(SDNode *N, SelectionDAG &DAG, - const X86Subtarget &Subtarget) { +/// If a vector select has an operand that is -1 or 0, try to simplify the +/// select to a bitwise logic operation. +static SDValue +combineVSelectWithAllOnesOrZeros(SDNode *N, SelectionDAG &DAG, + TargetLowering::DAGCombinerInfo &DCI, + const X86Subtarget &Subtarget) { SDValue Cond = N->getOperand(0); SDValue LHS = N->getOperand(1); SDValue RHS = N->getOperand(2); @@ -28853,18 +28855,28 @@ static SDValue combineVSelectWithAllOnes } } - if (!TValIsAllOnes && !FValIsAllZeros) + // vselect Cond, 111..., 000... -> Cond + if (TValIsAllOnes && FValIsAllZeros) + return DAG.getBitcast(VT, Cond); + + if (!DCI.isBeforeLegalize() && !TLI.isTypeLegal(CondVT)) return SDValue(); - SDValue Ret; - if (TValIsAllOnes && FValIsAllZeros) - Ret = Cond; - else if (TValIsAllOnes) - Ret = DAG.getNode(ISD::OR, DL, CondVT, Cond, DAG.getBitcast(CondVT, RHS)); - else if (FValIsAllZeros) - Ret = DAG.getNode(ISD::AND, DL, CondVT, Cond, DAG.getBitcast(CondVT, LHS)); + // vselect Cond, 111..., X -> or Cond, X + if (TValIsAllOnes) { + SDValue CastRHS = DAG.getBitcast(CondVT, RHS); + SDValue Or = DAG.getNode(ISD::OR, DL, CondVT, Cond, CastRHS); + return DAG.getBitcast(VT, Or); + } - return DAG.getBitcast(VT, Ret); + // vselect Cond, X, 000... -> and Cond, X + if (FValIsAllZeros) { + SDValue CastLHS = DAG.getBitcast(CondVT, LHS); + SDValue And = DAG.getNode(ISD::AND, DL, CondVT, Cond, CastLHS); + return DAG.getBitcast(VT, And); + } + + return SDValue(); } static SDValue combineSelectOfTwoConstants(SDNode *N, SelectionDAG &DAG) { @@ -29353,7 +29365,7 @@ static SDValue combineSelect(SDNode *N, } } - if (SDValue V = combineVSelectWithAllOnesOrZeros(N, DAG, Subtarget)) + if (SDValue V = combineVSelectWithAllOnesOrZeros(N, DAG, DCI, Subtarget)) return V; // If this is a *dynamic* select (non-constant condition) and we can match From owner-svn-src-projects@freebsd.org Mon Jan 23 22:10:58 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id A1A04CBE220 for ; Mon, 23 Jan 2017 22:10:58 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6B38124F; Mon, 23 Jan 2017 22:10:58 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0NMAvf9048173; Mon, 23 Jan 2017 22:10:57 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0NMAvPl048172; Mon, 23 Jan 2017 22:10:57 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701232210.v0NMAvPl048172@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 23 Jan 2017 22:10:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312673 - projects/clang400-import/contrib/libc++/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jan 2017 22:10:58 -0000 Author: dim Date: Mon Jan 23 22:10:57 2017 New Revision: 312673 URL: https://svnweb.freebsd.org/changeset/base/312673 Log: Pull in r292830 from upstream libc++ trunk (by Eric Fiselier): Fix GCC C++03 build by hiding default template argument in C++03 This allows the graphics/GraphicsMagic to compile with gcc 4.9 and libc++. PR: 216404 Modified: projects/clang400-import/contrib/libc++/include/string Modified: projects/clang400-import/contrib/libc++/include/string ============================================================================== --- projects/clang400-import/contrib/libc++/include/string Mon Jan 23 21:09:27 2017 (r312672) +++ projects/clang400-import/contrib/libc++/include/string Mon Jan 23 22:10:57 2017 (r312673) @@ -818,7 +818,10 @@ public: operator __self_view() const _NOEXCEPT { return __self_view(data(), size()); } basic_string& operator=(const basic_string& __str); + +#ifndef _LIBCPP_CXX03_LANG template +#endif _LIBCPP_INLINE_VISIBILITY basic_string& operator=(__self_view __sv) {return assign(__sv);} #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES From owner-svn-src-projects@freebsd.org Mon Jan 23 23:20:02 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 21AFFCBEB15 for ; Mon, 23 Jan 2017 23:20:02 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CBD62FDB; Mon, 23 Jan 2017 23:20:01 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0NNK0AP078766; Mon, 23 Jan 2017 23:20:00 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0NNK0Dv078765; Mon, 23 Jan 2017 23:20:00 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701232320.v0NNK0Dv078765@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 23 Jan 2017 23:20:00 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312675 - projects/clang400-import/contrib/libc++/include X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 23 Jan 2017 23:20:02 -0000 Author: dim Date: Mon Jan 23 23:20:00 2017 New Revision: 312675 URL: https://svnweb.freebsd.org/changeset/base/312675 Log: Pull in r292833 from upstream libc++ trunk (by Eric Fiselier): Manually force the use of __decltype in C++03 with Clang 3.4. uses `decltype` in a way incompatible with `__typeof__`. This is problematic when compiling with Clang 3.4 because even though it provides `__decltype` libc++ still used `__typeof__` because clang 3.4 doesn't provide __is_identifier which libc++ uses to detect __decltype. This patch manually detects Clang 3.4 and properly configures for it. This allows the graphics/openshadinglanguage port to build with lang/clang34. PR: 216054 Modified: projects/clang400-import/contrib/libc++/include/__config Modified: projects/clang400-import/contrib/libc++/include/__config ============================================================================== --- projects/clang400-import/contrib/libc++/include/__config Mon Jan 23 23:14:41 2017 (r312674) +++ projects/clang400-import/contrib/libc++/include/__config Mon Jan 23 23:20:00 2017 (r312675) @@ -103,6 +103,9 @@ #if defined(__clang__) #define _LIBCPP_COMPILER_CLANG +# ifndef __apple_build_version__ +# define _LIBCPP_CLANG_VER (__clang_major__ * 100 + __clang_minor__) +# endif #elif defined(__GNUC__) #define _LIBCPP_COMPILER_GCC #elif defined(_MSC_VER) @@ -111,6 +114,10 @@ #define _LIBCPP_COMPILER_IBM #endif +#ifndef _LIBCPP_CLANG_VER +#define _LIBCPP_CLANG_VER 0 +#endif + // FIXME: ABI detection should be done via compiler builtin macros. This // is just a placeholder until Clang implements such macros. For now assume // that Windows compilers pretending to be MSVC++ target the microsoft ABI. @@ -741,7 +748,7 @@ template struct __static_asse #ifdef _LIBCPP_HAS_NO_DECLTYPE // GCC 4.6 provides __decltype in all standard modes. -#if !__is_identifier(__decltype) || _GNUC_VER >= 406 +#if !__is_identifier(__decltype) || _LIBCPP_CLANG_VER >= 304 || _GNUC_VER >= 406 # define decltype(__x) __decltype(__x) #else # define decltype(__x) __typeof__(__x) From owner-svn-src-projects@freebsd.org Tue Jan 24 05:06:53 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id E71D7CBFAF1 for ; Tue, 24 Jan 2017 05:06:53 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AFB1D3CB; Tue, 24 Jan 2017 05:06:53 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0O56q1r020436; Tue, 24 Jan 2017 05:06:52 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0O56qCp020431; Tue, 24 Jan 2017 05:06:52 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701240506.v0O56qCp020431@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 24 Jan 2017 05:06:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312682 - in projects/ipsec: lib/libipsec sys/net sys/netipsec X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2017 05:06:54 -0000 Author: ae Date: Tue Jan 24 05:06:52 2017 New Revision: 312682 URL: https://svnweb.freebsd.org/changeset/base/312682 Log: Make it possible to change SA addresses via SADB_UPDATE. This is not allowed by RFC 2367, but it is useful feature for implementing MOBIKE protocol by IKEd (RFC 4555). We still support the old behavior of the SADB_UPDATE, but two new extension headers are added: SADB_X_EXT_NEW_ADDRESS_SRC and SADB_X_EXT_NEW_ADDRESS_DST. IKEd can use them to specify new addresses for MATURE SA. When kernel has discovered these headers, it allocates new SA, copies the content of old SA into new, then unlinks old SA from the SADB. The same actions will be done, when IKEd wants to change NAT-T configuration. This is similar to making SADB_DELETE and SADB_ADD, but it keeps the state of SA unchanged, that is impossible to make with SADB_DELETE and SADB_ADD. To implement this the lock filed of secasvar was changed to be a pointer. Also all fields that could not be copied moved to the end of structure. Now secasvar lock can be shared between old and new SA, this needed to avoid modification of SA content (e.g. replay window) during migration. Discussed with: Tobias Brunner Modified: projects/ipsec/lib/libipsec/pfkey.c projects/ipsec/sys/net/pfkeyv2.h projects/ipsec/sys/netipsec/key.c projects/ipsec/sys/netipsec/keydb.h Modified: projects/ipsec/lib/libipsec/pfkey.c ============================================================================== --- projects/ipsec/lib/libipsec/pfkey.c Tue Jan 24 03:00:22 2017 (r312681) +++ projects/ipsec/lib/libipsec/pfkey.c Tue Jan 24 05:06:52 2017 (r312682) @@ -1783,6 +1783,8 @@ pfkey_align(msg, mhp) case SADB_X_EXT_NAT_T_OAR: case SADB_X_EXT_NAT_T_FRAG: case SADB_X_EXT_SA_REPLAY: + case SADB_X_EXT_NEW_ADDRESS_SRC: + case SADB_X_EXT_NEW_ADDRESS_DST: mhp[ext->sadb_ext_type] = (caddr_t)ext; break; default: Modified: projects/ipsec/sys/net/pfkeyv2.h ============================================================================== --- projects/ipsec/sys/net/pfkeyv2.h Tue Jan 24 03:00:22 2017 (r312681) +++ projects/ipsec/sys/net/pfkeyv2.h Tue Jan 24 05:06:52 2017 (r312682) @@ -320,7 +320,9 @@ _Static_assert(sizeof(struct sadb_x_sa_r #define SADB_X_EXT_NAT_T_OAR 24 /* Peer's NAT_OA for dst of SA. */ #define SADB_X_EXT_NAT_T_FRAG 25 /* Manual MTU override. */ #define SADB_X_EXT_SA_REPLAY 26 /* Replay window override. */ -#define SADB_EXT_MAX 26 +#define SADB_X_EXT_NEW_ADDRESS_SRC 27 +#define SADB_X_EXT_NEW_ADDRESS_DST 28 +#define SADB_EXT_MAX 28 #define SADB_SATYPE_UNSPEC 0 #define SADB_SATYPE_AH 2 Modified: projects/ipsec/sys/netipsec/key.c ============================================================================== --- projects/ipsec/sys/netipsec/key.c Tue Jan 24 03:00:22 2017 (r312681) +++ projects/ipsec/sys/netipsec/key.c Tue Jan 24 05:06:52 2017 (r312682) @@ -336,6 +336,8 @@ static const int minsize[] = { sizeof(struct sadb_address), /* SADB_X_EXT_NAT_T_OAR */ sizeof(struct sadb_x_nat_t_frag),/* SADB_X_EXT_NAT_T_FRAG */ sizeof(struct sadb_x_sa_replay), /* SADB_X_EXT_SA_REPLAY */ + sizeof(struct sadb_address), /* SADB_X_EXT_NEW_ADDRESS_SRC */ + sizeof(struct sadb_address), /* SADB_X_EXT_NEW_ADDRESS_DST */ }; _Static_assert(sizeof(minsize)/sizeof(int) == SADB_EXT_MAX + 1, "minsize size mismatch"); @@ -367,9 +369,18 @@ static const int maxsize[] = { 0, /* SADB_X_EXT_NAT_T_OAR */ sizeof(struct sadb_x_nat_t_frag),/* SADB_X_EXT_NAT_T_FRAG */ sizeof(struct sadb_x_sa_replay), /* SADB_X_EXT_SA_REPLAY */ + 0, /* SADB_X_EXT_NEW_ADDRESS_SRC */ + 0, /* SADB_X_EXT_NEW_ADDRESS_DST */ }; _Static_assert(sizeof(maxsize)/sizeof(int) == SADB_EXT_MAX + 1, "minsize size mismatch"); +/* + * Internal values for SA flags: + * SADB_X_EXT_F_CLONED means that SA was cloned by key_updateaddresses, + * thus we will not free the most of SA content in key_delsav(). + */ +#define SADB_X_EXT_F_CLONED 0x80000000 + #define SADB_CHECKLEN(_mhp, _ext) \ ((_mhp)->extlen[(_ext)] < minsize[(_ext)] || (maxsize[(_ext)] != 0 && \ ((_mhp)->extlen[(_ext)] > maxsize[(_ext)]))) @@ -596,6 +607,9 @@ static struct secasvar *key_getsavbyspi( static int key_setnatt(struct secasvar *, const struct sadb_msghdr *); static int key_setsaval(struct secasvar *, const struct sadb_msghdr *); static int key_updatelifetimes(struct secasvar *, const struct sadb_msghdr *); +static int key_updateaddresses(struct socket *, struct mbuf *, + const struct sadb_msghdr *, struct secasvar *, struct secasindex *); + static struct mbuf *key_setdumpsa(struct secasvar *, u_int8_t, u_int8_t, u_int32_t, u_int32_t); static struct mbuf *key_setsadbmsg(u_int8_t, u_int16_t, u_int8_t, @@ -2748,16 +2762,18 @@ key_newsav(const struct sadb_msghdr *mhp sav = malloc(sizeof(struct secasvar), M_IPSEC_SA, M_NOWAIT | M_ZERO); if (sav == NULL) { - PFKEYSTAT_INC(in_nomem); - ipseclog((LOG_DEBUG, "%s: No more memory.\n", __func__)); *errp = ENOBUFS; goto done; } + sav->lock = malloc(sizeof(struct mtx), M_IPSEC_MISC, + M_NOWAIT | M_ZERO); + if (sav->lock == NULL) { + *errp = ENOBUFS; + goto done; + } + mtx_init(sav->lock, "ipsec association", NULL, MTX_DEF); sav->lft_c = uma_zalloc(V_key_lft_zone, M_NOWAIT); if (sav->lft_c == NULL) { - PFKEYSTAT_INC(in_nomem); - ipseclog((LOG_DEBUG, "%s: No more memory.\n", __func__)); - free(sav, M_IPSEC_SA), sav = NULL; *errp = ENOBUFS; goto done; } @@ -2769,7 +2785,6 @@ key_newsav(const struct sadb_msghdr *mhp sav->state = SADB_SASTATE_LARVAL; sav->pid = (pid_t)mhp->msg->sadb_msg_pid; SAV_INITREF(sav); - SECASVAR_LOCK_INIT(sav); again: sah = key_getsah(saidx); if (sah == NULL) { @@ -2844,12 +2859,21 @@ again: done: if (*errp != 0) { if (sav != NULL) { - SECASVAR_LOCK_DESTROY(sav); - uma_zfree(V_key_lft_zone, sav->lft_c); + if (sav->lock != NULL) { + mtx_destroy(sav->lock); + free(sav->lock, M_IPSEC_MISC); + } + if (sav->lft_c != NULL) + uma_zfree(V_key_lft_zone, sav->lft_c); free(sav, M_IPSEC_SA), sav = NULL; } if (sah != NULL) key_freesah(&sah); + if (*errp == ENOBUFS) { + ipseclog((LOG_DEBUG, "%s: No more memory.\n", + __func__)); + PFKEYSTAT_INC(in_nomem); + } } return (sav); } @@ -2861,6 +2885,12 @@ static void key_cleansav(struct secasvar *sav) { + if (sav->natt != NULL) { + free(sav->natt, M_IPSEC_MISC); + sav->natt = NULL; + } + if (sav->flags & SADB_X_EXT_F_CLONED) + return; /* * Cleanup xform state. Note that zeroize'ing causes the * keys to be cleared; otherwise we must do it ourself. @@ -2886,10 +2916,6 @@ key_cleansav(struct secasvar *sav) free(sav->key_enc, M_IPSEC_MISC); sav->key_enc = NULL; } - if (sav->natt != NULL) { - free(sav->natt, M_IPSEC_MISC); - sav->natt = NULL; - } if (sav->replay != NULL) { if (sav->replay->bitmap != NULL) free(sav->replay->bitmap, M_IPSEC_MISC); @@ -2918,10 +2944,17 @@ key_delsav(struct secasvar *sav) IPSEC_ASSERT(sav->refcnt == 0, ("reference count %u > 0", sav->refcnt)); - /* SA must be unlinked from the chain and hashtbl */ + /* + * SA must be unlinked from the chain and hashtbl. + * If SA was cloned, we leave all fields untouched, + * except NAT-T config. + */ key_cleansav(sav); - SECASVAR_LOCK_DESTROY(sav); - uma_zfree(V_key_lft_zone, sav->lft_c); + if ((sav->flags & SADB_X_EXT_F_CLONED) == 0) { + mtx_destroy(sav->lock); + free(sav->lock, M_IPSEC_MISC); + uma_zfree(V_key_lft_zone, sav->lft_c); + } free(sav, M_IPSEC_SA); } @@ -3012,7 +3045,6 @@ key_updatelifetimes(struct secasvar *sav } return (0); } - /* XXXAE: what should we do with CURRENT lifetime? */ /* Both HARD and SOFT extensions must present */ if ((SADB_CHECKHDR(mhp, SADB_EXT_LIFETIME_HARD) && !SADB_CHECKHDR(mhp, SADB_EXT_LIFETIME_SOFT)) || @@ -4939,6 +4971,177 @@ key_getsav_tcpmd5(struct secasindex *sai return (NULL); } +static int +key_updateaddresses(struct socket *so, struct mbuf *m, + const struct sadb_msghdr *mhp, struct secasvar *sav, + struct secasindex *saidx) +{ + struct sockaddr *newaddr; + struct secashead *sah; + struct secasvar *newsav, *tmp; + struct mbuf *n; + int error, isnew; + + /* Check that we need to change SAH */ + if (!SADB_CHECKHDR(mhp, SADB_X_EXT_NEW_ADDRESS_SRC)) { + newaddr = (struct sockaddr *)( + ((struct sadb_address *) + mhp->ext[SADB_X_EXT_NEW_ADDRESS_SRC]) + 1); + bcopy(newaddr, &saidx->src, newaddr->sa_len); + key_porttosaddr(&saidx->src.sa, 0); + } + if (!SADB_CHECKHDR(mhp, SADB_X_EXT_NEW_ADDRESS_DST)) { + newaddr = (struct sockaddr *)( + ((struct sadb_address *) + mhp->ext[SADB_X_EXT_NEW_ADDRESS_DST]) + 1); + bcopy(newaddr, &saidx->dst, newaddr->sa_len); + key_porttosaddr(&saidx->dst.sa, 0); + } + if (!SADB_CHECKHDR(mhp, SADB_X_EXT_NEW_ADDRESS_SRC) || + !SADB_CHECKHDR(mhp, SADB_X_EXT_NEW_ADDRESS_DST)) { + error = key_checksockaddrs(&saidx->src.sa, &saidx->dst.sa); + if (error != 0) { + ipseclog((LOG_DEBUG, "%s: invalid new sockaddr.\n", + __func__)); + return (error); + } + + sah = key_getsah(saidx); + if (sah == NULL) { + /* create a new SA index */ + sah = key_newsah(saidx); + if (sah == NULL) { + ipseclog((LOG_DEBUG, + "%s: No more memory.\n", __func__)); + return (ENOBUFS); + } + isnew = 2; /* SAH is new */ + } else + isnew = 1; /* existing SAH is referenced */ + } else { + /* + * src and dst addresses are still the same. + * Do we want to change NAT-T config? + */ + if (sav->sah->saidx.proto != IPPROTO_ESP || + SADB_CHECKHDR(mhp, SADB_X_EXT_NAT_T_TYPE) || + SADB_CHECKHDR(mhp, SADB_X_EXT_NAT_T_SPORT) || + SADB_CHECKHDR(mhp, SADB_X_EXT_NAT_T_DPORT)) { + ipseclog((LOG_DEBUG, + "%s: invalid message: missing required header.\n", + __func__)); + return (EINVAL); + } + /* We hold reference to SA, thus SAH will be referenced too. */ + sah = sav->sah; + isnew = 0; + } + + newsav = malloc(sizeof(struct secasvar), M_IPSEC_SA, + M_NOWAIT | M_ZERO); + if (newsav == NULL) { + ipseclog((LOG_DEBUG, "%s: No more memory.\n", __func__)); + error = ENOBUFS; + goto fail; + } + + /* Clone SA's content into newsav */ + SAV_INITREF(newsav); + bcopy(sav, newsav, offsetof(struct secasvar, chain)); + /* + * We create new NAT-T config if it is needed. + * Old NAT-T config will be freed by key_cleansav() when + * last reference to SA will be released. + */ + newsav->natt = NULL; + newsav->sah = sah; + newsav->state = SADB_SASTATE_MATURE; + error = key_setnatt(sav, mhp); + if (error != 0) + goto fail; + + SAHTREE_WLOCK(); + /* Check that SA is still alive */ + if (sav->state == SADB_SASTATE_DEAD) { + /* SA was unlinked */ + SAHTREE_WUNLOCK(); + error = ESRCH; + goto fail; + } + + /* Unlink SA from SAH and SPI hash */ + IPSEC_ASSERT((sav->flags & SADB_X_EXT_F_CLONED) == 0, + ("SA is already cloned")); + IPSEC_ASSERT(sav->state == SADB_SASTATE_MATURE || + sav->state == SADB_SASTATE_DYING, + ("Wrong SA state %u\n", sav->state)); + TAILQ_REMOVE(&sav->sah->savtree_alive, sav, chain); + LIST_REMOVE(sav, spihash); + sav->state = SADB_SASTATE_DEAD; + + /* + * Link new SA with SAH. Keep SAs ordered by + * create time (newer are first). + */ + TAILQ_FOREACH(tmp, &sah->savtree_alive, chain) { + if (newsav->created > tmp->created) { + TAILQ_INSERT_BEFORE(tmp, newsav, chain); + break; + } + } + if (tmp == NULL) + TAILQ_INSERT_TAIL(&sah->savtree_alive, newsav, chain); + + /* Add new SA into SPI hash. */ + LIST_INSERT_HEAD(SAVHASH_HASH(newsav->spi), newsav, spihash); + + /* Add new SAH into SADB. */ + if (isnew == 2) { + TAILQ_INSERT_HEAD(&V_sahtree, sah, chain); + LIST_INSERT_HEAD(SAHADDRHASH_HASH(saidx), sah, addrhash); + sah->state = SADB_SASTATE_MATURE; + SAH_ADDREF(sah); /* newsav references new SAH */ + } + /* + * isnew == 1 -> @sah was referenced by key_getsah(). + * isnew == 0 -> we use the same @sah, that was used by @sav, + * and we use its reference for @newsav. + */ + SECASVAR_LOCK(sav); + /* XXX: replace cntr with pointer? */ + newsav->cntr = sav->cntr; + sav->flags |= SADB_X_EXT_F_CLONED; + SECASVAR_UNLOCK(sav); + + SAHTREE_WUNLOCK(); + + KEYDBG(KEY_STAMP, + printf("%s: SA(%p) cloned into SA(%p)\n", + __func__, sav, newsav)); + KEYDBG(KEY_DATA, kdebug_secasv(newsav)); + + key_freesav(&sav); /* release last reference */ + + /* set msg buf from mhp */ + n = key_getmsgbuf_x1(m, mhp); + if (n == NULL) { + ipseclog((LOG_DEBUG, "%s: No more memory.\n", __func__)); + return (ENOBUFS); + } + m_freem(m); + key_sendup_mbuf(so, n, KEY_SENDUP_ALL); + return (0); +fail: + if (isnew != 0) + key_freesah(&sah); + if (newsav != NULL) { + if (newsav->natt != NULL) + free(newsav->natt, M_IPSEC_MISC); + free(newsav, M_IPSEC_SA); + } + return (error); +} + /* * SADB_UPDATE processing * receive @@ -5109,6 +5312,24 @@ key_update(struct socket *so, struct mbu key_freesav(&sav); return (key_senderror(so, m, error)); } + /* + * This is FreeBSD extension to RFC2367. + * IKEd can specify SADB_X_EXT_NEW_ADDRESS_SRC and/or + * SADB_X_EXT_NEW_ADDRESS_DST when it wants to change + * SA addresses (for example to implement MOBIKE protocol + * as described in RFC4555). Also we allow to change + * NAT-T config. + */ + if (!SADB_CHECKHDR(mhp, SADB_X_EXT_NEW_ADDRESS_SRC) || + !SADB_CHECKHDR(mhp, SADB_X_EXT_NEW_ADDRESS_DST) || + !SADB_CHECKHDR(mhp, SADB_X_EXT_NAT_T_TYPE) || + sav->natt != NULL) { + error = key_updateaddresses(so, m, mhp, sav, &saidx); + key_freesav(&sav); + if (error != 0) + return (key_senderror(so, m, error)); + return (0); + } /* Check that SA is still alive */ SAHTREE_WLOCK(); if (sav->state == SADB_SASTATE_DEAD) { @@ -5558,14 +5779,15 @@ key_getmsgbuf_x1(struct mbuf *m, const s IPSEC_ASSERT(mhp->msg != NULL, ("null msg")); /* create new sadb_msg to reply. */ - n = key_gather_mbuf(m, mhp, 1, 14, SADB_EXT_RESERVED, + n = key_gather_mbuf(m, mhp, 1, 16, SADB_EXT_RESERVED, SADB_EXT_SA, SADB_X_EXT_SA2, SADB_EXT_ADDRESS_SRC, SADB_EXT_ADDRESS_DST, SADB_EXT_LIFETIME_HARD, SADB_EXT_LIFETIME_SOFT, SADB_EXT_IDENTITY_SRC, SADB_EXT_IDENTITY_DST, SADB_X_EXT_NAT_T_TYPE, SADB_X_EXT_NAT_T_SPORT, SADB_X_EXT_NAT_T_DPORT, SADB_X_EXT_NAT_T_OAI, - SADB_X_EXT_NAT_T_OAR); + SADB_X_EXT_NAT_T_OAR, SADB_X_EXT_NEW_ADDRESS_SRC, + SADB_X_EXT_NEW_ADDRESS_DST); if (!n) return NULL; @@ -7675,6 +7897,8 @@ key_align(struct mbuf *m, struct sadb_ms case SADB_X_EXT_NAT_T_OAR: case SADB_X_EXT_NAT_T_FRAG: case SADB_X_EXT_SA_REPLAY: + case SADB_X_EXT_NEW_ADDRESS_SRC: + case SADB_X_EXT_NEW_ADDRESS_DST: /* duplicate check */ /* * XXX Are there duplication payloads of either @@ -7750,6 +7974,10 @@ key_validate_ext(const struct sadb_ext * case SADB_EXT_ADDRESS_SRC: case SADB_EXT_ADDRESS_DST: case SADB_EXT_ADDRESS_PROXY: + case SADB_X_EXT_NAT_T_OAI: + case SADB_X_EXT_NAT_T_OAR: + case SADB_X_EXT_NEW_ADDRESS_SRC: + case SADB_X_EXT_NEW_ADDRESS_DST: baselen = PFKEY_ALIGN8(sizeof(struct sadb_address)); checktype = ADDR; break; Modified: projects/ipsec/sys/netipsec/keydb.h ============================================================================== --- projects/ipsec/sys/netipsec/keydb.h Tue Jan 24 03:00:22 2017 (r312681) +++ projects/ipsec/sys/netipsec/keydb.h Tue Jan 24 05:06:52 2017 (r312682) @@ -133,61 +133,60 @@ struct comp_algo; * to search better candidate. The newer SA (by created time) are placed * in the beginning of the savtree list. There is no preference between * DYING and MATURE. + * + * NB: Fields with a tdb_ prefix are part of the "glue" used + * to interface to the OpenBSD crypto support. This was done + * to distinguish this code from the mainline KAME code. + * NB: Fields are sorted on the basis of the frequency of changes, i.e. + * constants and unchangeable fields are going first. + * NB: if you want to change this structure, check that this will not break + * key_updateaddresses(). */ struct secasvar { - TAILQ_ENTRY(secasvar) chain; - LIST_ENTRY(secasvar) spihash; - LIST_ENTRY(secasvar) drainq; /* used ONLY by flush callout */ - uint32_t spi; /* SPI Value, network byte order */ uint32_t flags; /* holder for SADB_KEY_FLAGS */ - uint32_t seq; /* sequence number */ pid_t pid; /* message's pid */ - - uint8_t state; /* Status of this SA (pfkeyv2.h) */ - uint8_t alg_auth; /* Authentication Algorithm Identifier*/ - uint8_t alg_enc; /* Cipher Algorithm Identifier */ - uint8_t alg_comp; /* Compression Algorithm Identifier */ + u_int ivlen; /* length of IV */ struct secashead *sah; /* back pointer to the secashead */ struct seckey *key_auth; /* Key for Authentication */ struct seckey *key_enc; /* Key for Encryption */ struct secreplay *replay; /* replay prevention */ struct secnatt *natt; /* NAT-T config */ - uint64_t cntr; /* counter for GCM and CTR */ - u_int ivlen; /* length of IV */ + struct mtx *lock; /* update/access lock */ - volatile u_int refcnt; /* reference count */ + const struct xformsw *tdb_xform; /* transform */ + const struct enc_xform *tdb_encalgxform;/* encoding algorithm */ + const struct auth_hash *tdb_authalgxform;/* authentication algorithm */ + const struct comp_algo *tdb_compalgxform;/* compression algorithm */ + uint64_t tdb_cryptoid; /* crypto session id */ + + uint8_t alg_auth; /* Authentication Algorithm Identifier*/ + uint8_t alg_enc; /* Cipher Algorithm Identifier */ + uint8_t alg_comp; /* Compression Algorithm Identifier */ + uint8_t state; /* Status of this SA (pfkeyv2.h) */ - uint64_t created; /* time when SA was created */ - uint64_t firstused; /* time when SA was first used */ counter_u64_t lft_c; /* CURRENT lifetime */ #define lft_c_allocations lft_c #define lft_c_bytes lft_c + 1 struct seclifetime *lft_h; /* HARD lifetime */ struct seclifetime *lft_s; /* SOFT lifetime */ - /* - * NB: Fields with a tdb_ prefix are part of the "glue" used - * to interface to the OpenBSD crypto support. This was done - * to distinguish this code from the mainline KAME code. - */ - const struct xformsw *tdb_xform; /* transform */ - const struct enc_xform *tdb_encalgxform;/* encoding algorithm */ - const struct auth_hash *tdb_authalgxform;/* authentication algorithm */ - const struct comp_algo *tdb_compalgxform;/* compression algorithm */ - uint64_t tdb_cryptoid; /* crypto session id */ + uint64_t created; /* time when SA was created */ + uint64_t firstused; /* time when SA was first used */ - struct mtx lock; /* update/access lock */ + TAILQ_ENTRY(secasvar) chain; + LIST_ENTRY(secasvar) spihash; + LIST_ENTRY(secasvar) drainq; /* used ONLY by flush callout */ + + uint64_t cntr; /* counter for GCM and CTR */ + volatile u_int refcnt; /* reference count */ }; -#define SECASVAR_LOCK_INIT(_sav) \ - mtx_init(&(_sav)->lock, "ipsec association", NULL, MTX_DEF) -#define SECASVAR_LOCK(_sav) mtx_lock(&(_sav)->lock) -#define SECASVAR_UNLOCK(_sav) mtx_unlock(&(_sav)->lock) -#define SECASVAR_LOCK_DESTROY(_sav) mtx_destroy(&(_sav)->lock) -#define SECASVAR_LOCK_ASSERT(_sav) mtx_assert(&(_sav)->lock, MA_OWNED) +#define SECASVAR_LOCK(_sav) mtx_lock((_sav)->lock) +#define SECASVAR_UNLOCK(_sav) mtx_unlock((_sav)->lock) +#define SECASVAR_LOCK_ASSERT(_sav) mtx_assert((_sav)->lock, MA_OWNED) #define SAV_ISGCM(_sav) \ ((_sav)->alg_enc == SADB_X_EALG_AESGCM8 || \ (_sav)->alg_enc == SADB_X_EALG_AESGCM12 || \ From owner-svn-src-projects@freebsd.org Tue Jan 24 19:42:26 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 06F2BCC07C6 for ; Tue, 24 Jan 2017 19:42:26 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id BBE8A139E; Tue, 24 Jan 2017 19:42:25 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0OJgOS2085560; Tue, 24 Jan 2017 19:42:24 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0OJgODV085557; Tue, 24 Jan 2017 19:42:24 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701241942.v0OJgODV085557@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 24 Jan 2017 19:42:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312717 - projects/ipsec/share/man/man4 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2017 19:42:26 -0000 Author: ae Date: Tue Jan 24 19:42:24 2017 New Revision: 312717 URL: https://svnweb.freebsd.org/changeset/base/312717 Log: Add if_ipsec(4) manual page and document new ipsec sysctl variables. Added: projects/ipsec/share/man/man4/if_ipsec.4 (contents, props changed) Modified: projects/ipsec/share/man/man4/Makefile projects/ipsec/share/man/man4/ipsec.4 Modified: projects/ipsec/share/man/man4/Makefile ============================================================================== --- projects/ipsec/share/man/man4/Makefile Tue Jan 24 19:41:55 2017 (r312716) +++ projects/ipsec/share/man/man4/Makefile Tue Jan 24 19:42:24 2017 (r312717) @@ -201,6 +201,7 @@ MAN= aac.4 \ icmp.4 \ icmp6.4 \ ida.4 \ + if_ipsec.4 \ ifmib.4 \ ig4.4 \ igb.4 \ Added: projects/ipsec/share/man/man4/if_ipsec.4 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/ipsec/share/man/man4/if_ipsec.4 Tue Jan 24 19:42:24 2017 (r312717) @@ -0,0 +1,140 @@ +.\" Copyright (c) 2017 Andrey V. Elsukov +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd January 24, 2017 +.Dt if_ipsec 4 +.Os +.Sh NAME +.Nm if_ipsec +.Nd IPsec virtual tunneling interface +.Sh SYNOPSIS +The +.Cm if_ipsec +network interface is a part of +.Fx +IPsec implementation. +To compile it into the kernel, place the following line in the kernel +configuration file: +.Bd -ragged -offset indent +.Cd "options IPSEC" +.Ed +.Pp +Alternatively, it can be loaded as part of +.Cm ipsec +kernel module, if the kernel was compiled with: +.Bd -ragged -offset indent +.Cd "options IPSEC_SUPPORT" +.Ed +.Sh DESCRIPTION +The +.Nm +network interface is targeted for creating route-based VPNs. +It can tunnel IPv[46] traffic over IPv[46] and secure it using ESP. +.Pp +.Nm +interfaces are dynamically created and destroyed with the +.Xr ifconfig 8 +.Cm create +and +.Cm destroy +subcommands. +The administrator needs to configure IPsec +.Cm tunnel +endpoints addresses. +These addresses will be used for the outer IP header of ESP packets. +The administrator also can configure the protocol and addresses for the inner +IP header with +.Xr ifconfig 8 , +and modify the routing table to route the packets through the +.Nm +interface. +.Pp +When +.Nm +interface is configured, it automatically creates special security policies, +that may be used to acquire security associations from IKE daemon, needed for +establishing an IPsec tunnel. +Also it is possible to create needed security associations manually using +.Xr setkey 8 +utility. +.Pp +Each +.Nm +interface has additional numeric configuration option +.Cm reqid Ar id . +This +.Ar id +used to distinguish traffic and security policies between several +.Nm +interfaces. +The +.Cm reqid +can be specified on interface creating and changed later. +If it is not specified, it will be automatically assigned. +Note that changing of +.Cm reqid +will lead to generation of new security policies, and this +may require creating of new security associations. +.Sh EXAMPLES +The example below shows how to manually configure IPsec tunnel +between two FreeBSD hosts. Assuming host A has the IP address +192.168.0.3, and host B has the IP address 192.168.0.5. +.Pp +On host A: +.Bd -literal -offset indent +ifconfig ipsec0 create reqid 100 +ifconfig ipsec0 inet tunnel 192.168.0.3 192.168.0.5 +ifconfig ipsec0 inet 172.16.0.3/16 172.16.0.5 +setkey -c +add 192.168.0.3 192.168.0.5 esp 10000 -m tunnel -u 100 -E rijndael-cbc "VerySecureKey!!1"; +add 192.168.0.5 192.168.0.3 esp 10001 -m tunnel -u 100 -E rijndael-cbc "VerySecureKey!!2"; +^D +.Ed +.Pp +On host B: +.Bd -literal -offset indent +ifconfig ipsec0 create reqid 200 +ifconfig ipsec0 inet tunnel 192.168.0.5 192.168.0.3 +ifconfig ipsec0 inet 172.16.0.5/16 172.16.0.3 +setkey -c +add 192.168.0.3 192.168.0.5 esp 10000 -m tunnel -u 200 -E rijndael-cbc "VerySecureKey!!1"; +add 192.168.0.5 192.168.0.3 esp 10001 -m tunnel -u 200 -E rijndael-cbc "VerySecureKey!!2"; +^D +.Ed +.Pp +Note the value 100 on host A and value 200 on host B are used as reqid. +The same values should be used as identifier of the policy entry in +the +.Xr setkey 8 +command. +.Sh SEE ALSO +.Xr gif 4 , +.Xr gre 4 , +.Xr ipsec 4 , +.Xr ifconfig 8 , +.Xr setkey 8 +.Sh AUTHORS +.An Andrey V. Elsukov Aq Mt ae@FreeBSD.org Modified: projects/ipsec/share/man/man4/ipsec.4 ============================================================================== --- projects/ipsec/share/man/man4/ipsec.4 Tue Jan 24 19:41:55 2017 (r312716) +++ projects/ipsec/share/man/man4/ipsec.4 Tue Jan 24 19:42:24 2017 (r312717) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 1, 2017 +.Dd January 24, 2017 .Dt IPSEC 4 .Os .Sh NAME @@ -239,6 +239,8 @@ for tweaking the kernel's IPsec behavior .It "net.inet.ipsec.dfbit integer yes" .It "net.inet.ipsec.ecn integer yes" .It "net.inet.ipsec.debug integer yes" +.It "net.inet.ipsec.natt_cksum_policy integer yes" +.It "net.inet.ipsec.check_policy_history integer yes" .It "net.inet6.ipsec6.ecn integer yes" .It "net.inet6.ipsec6.debug integer yes" .El @@ -281,6 +283,24 @@ talks more about the behavior. .It Li ipsec.debug If set to non-zero, debug messages will be generated via .Xr syslog 3 . +.It Li ipsec.natt_cksum_policy +This variable controls how the kernel handles TCP and UDP checksums +when ESP in UDP encapsulation is used for IPsec transport mode. +If set to non-zero value, the kernel fully recomputes checksums for +inbound TCP segments and UDP datagrams after they are decapsulated and +decrypted. +If set to 0 and original addresses were configured for corresponding SA +by the IKE daemon, the kernel will incrementally recompute checksums for +inbound TCP segments and UDP datagrams. +If addresses weren't configured, the checksums will be ignored. +.It Li ipsec.check_policy_history +This variable enables strict policy checking for inbound packets. +The default behavior for inbound security policies is just make sure, +that a handled by IPsec packet was decrypted and authenticated. +If this variable is set to non-zero value, each handled by IPsec packet +will be checked against the history of used IPsec security associations. +The check requires matching of the IPsec security protocol, mode, and SA +addresses. .El .Pp Variables under the @@ -316,6 +336,7 @@ routines from looking into the IP payloa .Xr ipsec_set_policy 3 , .Xr crypto 4 , .Xr enc 4 , +.Xr if_ipsec 4 , .Xr icmp6 4 , .Xr intro 4 , .Xr ip6 4 , From owner-svn-src-projects@freebsd.org Tue Jan 24 19:56:25 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CEEC4CC0AA3 for ; Tue, 24 Jan 2017 19:56:25 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 855D71B44; Tue, 24 Jan 2017 19:56:25 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0OJuOg4090488; Tue, 24 Jan 2017 19:56:24 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0OJuMld090469; Tue, 24 Jan 2017 19:56:22 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701241956.v0OJuMld090469@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 24 Jan 2017 19:56:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312719 - in projects/clang400-import: contrib/libc++/include contrib/llvm/lib/Bitcode/Reader contrib/llvm/lib/Target/AArch64 contrib/llvm/lib/Target/ARM contrib/llvm/lib/Transforms/Ins... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2017 19:56:25 -0000 Author: dim Date: Tue Jan 24 19:56:22 2017 New Revision: 312719 URL: https://svnweb.freebsd.org/changeset/base/312719 Log: Merge llvm, clang, compiler-rt, libc++, lld and lldb release_40 branch r292951, and update build glue. Modified: projects/clang400-import/contrib/libc++/include/__config projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/clang400-import/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang400-import/contrib/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp projects/clang400-import/lib/clang/include/clang/Basic/Version.inc projects/clang400-import/lib/clang/include/lld/Config/Version.inc Directory Properties: projects/clang400-import/contrib/compiler-rt/ (props changed) projects/clang400-import/contrib/libc++/ (props changed) projects/clang400-import/contrib/llvm/ (props changed) projects/clang400-import/contrib/llvm/tools/clang/ (props changed) projects/clang400-import/contrib/llvm/tools/lld/ (props changed) projects/clang400-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang400-import/contrib/libc++/include/__config ============================================================================== --- projects/clang400-import/contrib/libc++/include/__config Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/libc++/include/__config Tue Jan 24 19:56:22 2017 (r312719) @@ -115,7 +115,7 @@ #endif #ifndef _LIBCPP_CLANG_VER -#define _LIBCPP_CLANG_VER 0 +# define _LIBCPP_CLANG_VER 0 #endif // FIXME: ABI detection should be done via compiler builtin macros. This @@ -845,7 +845,7 @@ template struct __static_asse #if defined(__APPLE__) # if !defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && \ defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) -# define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIROMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ +# define __MAC_OS_X_VERSION_MIN_REQUIRED __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ # endif # if defined(__MAC_OS_X_VERSION_MIN_REQUIRED) # if __MAC_OS_X_VERSION_MIN_REQUIRED < 1060 Modified: projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -512,7 +512,7 @@ private: } Metadata *getFnMetadataByID(unsigned ID) { - return MDLoader->getMetadataFwdRef(ID); + return MDLoader->getMetadataFwdRefOrLoad(ID); } BasicBlock *getBasicBlock(unsigned ID) const { Modified: projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -485,8 +485,21 @@ public: Error parseMetadata(bool ModuleLevel); bool hasFwdRefs() const { return MetadataList.hasFwdRefs(); } - Metadata *getMetadataFwdRef(unsigned Idx) { - return MetadataList.getMetadataFwdRef(Idx); + + Metadata *getMetadataFwdRefOrLoad(unsigned ID) { + if (ID < MDStringRef.size()) + return lazyLoadOneMDString(ID); + if (auto *MD = MetadataList.lookup(ID)) + return MD; + // If lazy-loading is enabled, we try recursively to load the operand + // instead of creating a temporary. + if (ID < (MDStringRef.size() + GlobalMetadataBitPosIndex.size())) { + PlaceholderQueue Placeholders; + lazyLoadOneMetadata(ID, Placeholders); + resolveForwardRefsAndPlaceholders(Placeholders); + return MetadataList.lookup(ID); + } + return MetadataList.getMetadataFwdRef(ID); } MDNode *getMDNodeFwdRefOrNull(unsigned Idx) { @@ -1727,8 +1740,8 @@ bool MetadataLoader::hasFwdRefs() const /// Return the given metadata, creating a replaceable forward reference if /// necessary. -Metadata *MetadataLoader::getMetadataFwdRef(unsigned Idx) { - return Pimpl->getMetadataFwdRef(Idx); +Metadata *MetadataLoader::getMetadataFwdRefOrLoad(unsigned Idx) { + return Pimpl->getMetadataFwdRefOrLoad(Idx); } MDNode *MetadataLoader::getMDNodeFwdRefOrNull(unsigned Idx) { Modified: projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Bitcode/Reader/MetadataLoader.h Tue Jan 24 19:56:22 2017 (r312719) @@ -63,7 +63,7 @@ public: /// Return the given metadata, creating a replaceable forward reference if /// necessary. - Metadata *getMetadataFwdRef(unsigned Idx); + Metadata *getMetadataFwdRefOrLoad(unsigned Idx); MDNode *getMDNodeFwdRefOrNull(unsigned Idx); Modified: projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Target/AArch64/AArch64LoadStoreOptimizer.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -687,9 +687,30 @@ AArch64LoadStoreOpt::mergePairedInsns(Ma MachineInstrBuilder MIB; DebugLoc DL = I->getDebugLoc(); MachineBasicBlock *MBB = I->getParent(); + MachineOperand RegOp0 = getLdStRegOp(*RtMI); + MachineOperand RegOp1 = getLdStRegOp(*Rt2MI); + // Kill flags may become invalid when moving stores for pairing. + if (RegOp0.isUse()) { + if (!MergeForward) { + // Clear kill flags on store if moving upwards. Example: + // STRWui %w0, ... + // USE %w1 + // STRWui kill %w1 ; need to clear kill flag when moving STRWui upwards + RegOp0.setIsKill(false); + RegOp1.setIsKill(false); + } else { + // Clear kill flags of the first stores register. Example: + // STRWui %w1, ... + // USE kill %w1 ; need to clear kill flag when moving STRWui downwards + // STRW %w0 + unsigned Reg = getLdStRegOp(*I).getReg(); + for (MachineInstr &MI : make_range(std::next(I), Paired)) + MI.clearRegisterKills(Reg, TRI); + } + } MIB = BuildMI(*MBB, InsertionPoint, DL, TII->get(getMatchingPairOpcode(Opc))) - .addOperand(getLdStRegOp(*RtMI)) - .addOperand(getLdStRegOp(*Rt2MI)) + .addOperand(RegOp0) + .addOperand(RegOp1) .addOperand(BaseRegOp) .addImm(OffsetImm) .setMemRefs(I->mergeMemRefsWith(*Paired)); Modified: projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -97,171 +97,6 @@ namespace { }; } -void ARMTargetLowering::InitLibcallCallingConvs() { - // The builtins on ARM always use AAPCS, irrespective of wheter C is AAPCS or - // AAPCS_VFP. - for (const auto LC : { - RTLIB::SHL_I16, - RTLIB::SHL_I32, - RTLIB::SHL_I64, - RTLIB::SHL_I128, - RTLIB::SRL_I16, - RTLIB::SRL_I32, - RTLIB::SRL_I64, - RTLIB::SRL_I128, - RTLIB::SRA_I16, - RTLIB::SRA_I32, - RTLIB::SRA_I64, - RTLIB::SRA_I128, - RTLIB::MUL_I8, - RTLIB::MUL_I16, - RTLIB::MUL_I32, - RTLIB::MUL_I64, - RTLIB::MUL_I128, - RTLIB::MULO_I32, - RTLIB::MULO_I64, - RTLIB::MULO_I128, - RTLIB::SDIV_I8, - RTLIB::SDIV_I16, - RTLIB::SDIV_I32, - RTLIB::SDIV_I64, - RTLIB::SDIV_I128, - RTLIB::UDIV_I8, - RTLIB::UDIV_I16, - RTLIB::UDIV_I32, - RTLIB::UDIV_I64, - RTLIB::UDIV_I128, - RTLIB::SREM_I8, - RTLIB::SREM_I16, - RTLIB::SREM_I32, - RTLIB::SREM_I64, - RTLIB::SREM_I128, - RTLIB::UREM_I8, - RTLIB::UREM_I16, - RTLIB::UREM_I32, - RTLIB::UREM_I64, - RTLIB::UREM_I128, - RTLIB::SDIVREM_I8, - RTLIB::SDIVREM_I16, - RTLIB::SDIVREM_I32, - RTLIB::SDIVREM_I64, - RTLIB::SDIVREM_I128, - RTLIB::UDIVREM_I8, - RTLIB::UDIVREM_I16, - RTLIB::UDIVREM_I32, - RTLIB::UDIVREM_I64, - RTLIB::UDIVREM_I128, - RTLIB::NEG_I32, - RTLIB::NEG_I64, - RTLIB::ADD_F32, - RTLIB::ADD_F64, - RTLIB::ADD_F80, - RTLIB::ADD_F128, - RTLIB::SUB_F32, - RTLIB::SUB_F64, - RTLIB::SUB_F80, - RTLIB::SUB_F128, - RTLIB::MUL_F32, - RTLIB::MUL_F64, - RTLIB::MUL_F80, - RTLIB::MUL_F128, - RTLIB::DIV_F32, - RTLIB::DIV_F64, - RTLIB::DIV_F80, - RTLIB::DIV_F128, - RTLIB::POWI_F32, - RTLIB::POWI_F64, - RTLIB::POWI_F80, - RTLIB::POWI_F128, - RTLIB::FPEXT_F64_F128, - RTLIB::FPEXT_F32_F128, - RTLIB::FPEXT_F32_F64, - RTLIB::FPEXT_F16_F32, - RTLIB::FPROUND_F32_F16, - RTLIB::FPROUND_F64_F16, - RTLIB::FPROUND_F80_F16, - RTLIB::FPROUND_F128_F16, - RTLIB::FPROUND_F64_F32, - RTLIB::FPROUND_F80_F32, - RTLIB::FPROUND_F128_F32, - RTLIB::FPROUND_F80_F64, - RTLIB::FPROUND_F128_F64, - RTLIB::FPTOSINT_F32_I32, - RTLIB::FPTOSINT_F32_I64, - RTLIB::FPTOSINT_F32_I128, - RTLIB::FPTOSINT_F64_I32, - RTLIB::FPTOSINT_F64_I64, - RTLIB::FPTOSINT_F64_I128, - RTLIB::FPTOSINT_F80_I32, - RTLIB::FPTOSINT_F80_I64, - RTLIB::FPTOSINT_F80_I128, - RTLIB::FPTOSINT_F128_I32, - RTLIB::FPTOSINT_F128_I64, - RTLIB::FPTOSINT_F128_I128, - RTLIB::FPTOUINT_F32_I32, - RTLIB::FPTOUINT_F32_I64, - RTLIB::FPTOUINT_F32_I128, - RTLIB::FPTOUINT_F64_I32, - RTLIB::FPTOUINT_F64_I64, - RTLIB::FPTOUINT_F64_I128, - RTLIB::FPTOUINT_F80_I32, - RTLIB::FPTOUINT_F80_I64, - RTLIB::FPTOUINT_F80_I128, - RTLIB::FPTOUINT_F128_I32, - RTLIB::FPTOUINT_F128_I64, - RTLIB::FPTOUINT_F128_I128, - RTLIB::SINTTOFP_I32_F32, - RTLIB::SINTTOFP_I32_F64, - RTLIB::SINTTOFP_I32_F80, - RTLIB::SINTTOFP_I32_F128, - RTLIB::SINTTOFP_I64_F32, - RTLIB::SINTTOFP_I64_F64, - RTLIB::SINTTOFP_I64_F80, - RTLIB::SINTTOFP_I64_F128, - RTLIB::SINTTOFP_I128_F32, - RTLIB::SINTTOFP_I128_F64, - RTLIB::SINTTOFP_I128_F80, - RTLIB::SINTTOFP_I128_F128, - RTLIB::UINTTOFP_I32_F32, - RTLIB::UINTTOFP_I32_F64, - RTLIB::UINTTOFP_I32_F80, - RTLIB::UINTTOFP_I32_F128, - RTLIB::UINTTOFP_I64_F32, - RTLIB::UINTTOFP_I64_F64, - RTLIB::UINTTOFP_I64_F80, - RTLIB::UINTTOFP_I64_F128, - RTLIB::UINTTOFP_I128_F32, - RTLIB::UINTTOFP_I128_F64, - RTLIB::UINTTOFP_I128_F80, - RTLIB::UINTTOFP_I128_F128, - RTLIB::OEQ_F32, - RTLIB::OEQ_F64, - RTLIB::OEQ_F128, - RTLIB::UNE_F32, - RTLIB::UNE_F64, - RTLIB::UNE_F128, - RTLIB::OGE_F32, - RTLIB::OGE_F64, - RTLIB::OGE_F128, - RTLIB::OLT_F32, - RTLIB::OLT_F64, - RTLIB::OLT_F128, - RTLIB::OLE_F32, - RTLIB::OLE_F64, - RTLIB::OLE_F128, - RTLIB::OGT_F32, - RTLIB::OGT_F64, - RTLIB::OGT_F128, - RTLIB::UO_F32, - RTLIB::UO_F64, - RTLIB::UO_F128, - RTLIB::O_F32, - RTLIB::O_F64, - RTLIB::O_F128, - }) - setLibcallCallingConv(LC, CallingConv::ARM_AAPCS); -} - // The APCS parameter registers. static const MCPhysReg GPRArgRegs[] = { ARM::R0, ARM::R1, ARM::R2, ARM::R3 @@ -349,7 +184,22 @@ ARMTargetLowering::ARMTargetLowering(con setBooleanVectorContents(ZeroOrNegativeOneBooleanContent); - InitLibcallCallingConvs(); + if (!Subtarget->isTargetDarwin() && !Subtarget->isTargetIOS() && + !Subtarget->isTargetWatchOS()) { + const auto &E = Subtarget->getTargetTriple().getEnvironment(); + + bool IsHFTarget = E == Triple::EABIHF || E == Triple::GNUEABIHF || + E == Triple::MuslEABIHF; + // Windows is a special case. Technically, we will replace all of the "GNU" + // calls with calls to MSVCRT if appropriate and adjust the calling + // convention then. + IsHFTarget = IsHFTarget || Subtarget->isTargetWindows(); + + for (int LCID = 0; LCID < RTLIB::UNKNOWN_LIBCALL; ++LCID) + setLibcallCallingConv(static_cast(LCID), + IsHFTarget ? CallingConv::ARM_AAPCS_VFP + : CallingConv::ARM_AAPCS); + } if (Subtarget->isTargetMachO()) { // Uses VFP for Thumb libfuncs if available. Modified: projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.h ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.h Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.h Tue Jan 24 19:56:22 2017 (r312719) @@ -538,8 +538,6 @@ class InstrItineraryData; bool HasStandaloneRem = true; - void InitLibcallCallingConvs(); - void addTypeForNEON(MVT VT, MVT PromotedLdStVT, MVT PromotedBitwiseVT); void addDRTypeForNEON(MVT VT); void addQRTypeForNEON(MVT VT); Modified: projects/clang400-import/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -600,6 +600,22 @@ private: void initializeCallbacks(Module &M); bool InstrumentGlobals(IRBuilder<> &IRB, Module &M); + void InstrumentGlobalsCOFF(IRBuilder<> &IRB, Module &M, + ArrayRef ExtendedGlobals, + ArrayRef MetadataInitializers); + void InstrumentGlobalsMachO(IRBuilder<> &IRB, Module &M, + ArrayRef ExtendedGlobals, + ArrayRef MetadataInitializers); + void + InstrumentGlobalsWithMetadataArray(IRBuilder<> &IRB, Module &M, + ArrayRef ExtendedGlobals, + ArrayRef MetadataInitializers); + + GlobalVariable *CreateMetadataGlobal(Module &M, Constant *Initializer, + StringRef OriginalName); + void SetComdatForGlobalMetadata(GlobalVariable *G, GlobalVariable *Metadata); + IRBuilder<> CreateAsanModuleDtor(Module &M); + bool ShouldInstrumentGlobal(GlobalVariable *G); bool ShouldUseMachOGlobalsSection() const; StringRef getGlobalMetadataSection() const; @@ -1553,17 +1569,173 @@ void AddressSanitizerModule::initializeC // Declare the functions that find globals in a shared object and then invoke // the (un)register function on them. - AsanRegisterImageGlobals = checkSanitizerInterfaceFunction( - M.getOrInsertFunction(kAsanRegisterImageGlobalsName, - IRB.getVoidTy(), IntptrTy, nullptr)); + AsanRegisterImageGlobals = + checkSanitizerInterfaceFunction(M.getOrInsertFunction( + kAsanRegisterImageGlobalsName, IRB.getVoidTy(), IntptrTy, nullptr)); AsanRegisterImageGlobals->setLinkage(Function::ExternalLinkage); - AsanUnregisterImageGlobals = checkSanitizerInterfaceFunction( - M.getOrInsertFunction(kAsanUnregisterImageGlobalsName, - IRB.getVoidTy(), IntptrTy, nullptr)); + AsanUnregisterImageGlobals = + checkSanitizerInterfaceFunction(M.getOrInsertFunction( + kAsanUnregisterImageGlobalsName, IRB.getVoidTy(), IntptrTy, nullptr)); AsanUnregisterImageGlobals->setLinkage(Function::ExternalLinkage); } +// Put the metadata and the instrumented global in the same group. This ensures +// that the metadata is discarded if the instrumented global is discarded. +void AddressSanitizerModule::SetComdatForGlobalMetadata( + GlobalVariable *G, GlobalVariable *Metadata) { + Module &M = *G->getParent(); + Comdat *C = G->getComdat(); + if (!C) { + if (!G->hasName()) { + // If G is unnamed, it must be internal. Give it an artificial name + // so we can put it in a comdat. + assert(G->hasLocalLinkage()); + G->setName(Twine(kAsanGenPrefix) + "_anon_global"); + } + C = M.getOrInsertComdat(G->getName()); + // Make this IMAGE_COMDAT_SELECT_NODUPLICATES on COFF. + if (TargetTriple.isOSBinFormatCOFF()) + C->setSelectionKind(Comdat::NoDuplicates); + G->setComdat(C); + } + + assert(G->hasComdat()); + Metadata->setComdat(G->getComdat()); +} + +// Create a separate metadata global and put it in the appropriate ASan +// global registration section. +GlobalVariable * +AddressSanitizerModule::CreateMetadataGlobal(Module &M, Constant *Initializer, + StringRef OriginalName) { + GlobalVariable *Metadata = + new GlobalVariable(M, Initializer->getType(), false, + GlobalVariable::InternalLinkage, Initializer, + Twine("__asan_global_") + + GlobalValue::getRealLinkageName(OriginalName)); + Metadata->setSection(getGlobalMetadataSection()); + return Metadata; +} + +IRBuilder<> AddressSanitizerModule::CreateAsanModuleDtor(Module &M) { + Function *AsanDtorFunction = + Function::Create(FunctionType::get(Type::getVoidTy(*C), false), + GlobalValue::InternalLinkage, kAsanModuleDtorName, &M); + BasicBlock *AsanDtorBB = BasicBlock::Create(*C, "", AsanDtorFunction); + appendToGlobalDtors(M, AsanDtorFunction, kAsanCtorAndDtorPriority); + + return IRBuilder<>(ReturnInst::Create(*C, AsanDtorBB)); +} + +void AddressSanitizerModule::InstrumentGlobalsCOFF( + IRBuilder<> &IRB, Module &M, ArrayRef ExtendedGlobals, + ArrayRef MetadataInitializers) { + assert(ExtendedGlobals.size() == MetadataInitializers.size()); + auto &DL = M.getDataLayout(); + + for (size_t i = 0; i < ExtendedGlobals.size(); i++) { + Constant *Initializer = MetadataInitializers[i]; + GlobalVariable *G = ExtendedGlobals[i]; + GlobalVariable *Metadata = + CreateMetadataGlobal(M, Initializer, G->getName()); + + // The MSVC linker always inserts padding when linking incrementally. We + // cope with that by aligning each struct to its size, which must be a power + // of two. + unsigned SizeOfGlobalStruct = DL.getTypeAllocSize(Initializer->getType()); + assert(isPowerOf2_32(SizeOfGlobalStruct) && + "global metadata will not be padded appropriately"); + Metadata->setAlignment(SizeOfGlobalStruct); + + SetComdatForGlobalMetadata(G, Metadata); + } +} + +void AddressSanitizerModule::InstrumentGlobalsMachO( + IRBuilder<> &IRB, Module &M, ArrayRef ExtendedGlobals, + ArrayRef MetadataInitializers) { + assert(ExtendedGlobals.size() == MetadataInitializers.size()); + + // On recent Mach-O platforms, use a structure which binds the liveness of + // the global variable to the metadata struct. Keep the list of "Liveness" GV + // created to be added to llvm.compiler.used + StructType *LivenessTy = StructType::get(IntptrTy, IntptrTy, nullptr); + SmallVector LivenessGlobals(ExtendedGlobals.size()); + + for (size_t i = 0; i < ExtendedGlobals.size(); i++) { + Constant *Initializer = MetadataInitializers[i]; + GlobalVariable *G = ExtendedGlobals[i]; + GlobalVariable *Metadata = + CreateMetadataGlobal(M, Initializer, G->getName()); + + // On recent Mach-O platforms, we emit the global metadata in a way that + // allows the linker to properly strip dead globals. + auto LivenessBinder = ConstantStruct::get( + LivenessTy, Initializer->getAggregateElement(0u), + ConstantExpr::getPointerCast(Metadata, IntptrTy), nullptr); + GlobalVariable *Liveness = new GlobalVariable( + M, LivenessTy, false, GlobalVariable::InternalLinkage, LivenessBinder, + Twine("__asan_binder_") + G->getName()); + Liveness->setSection("__DATA,__asan_liveness,regular,live_support"); + LivenessGlobals[i] = Liveness; + } + + // Update llvm.compiler.used, adding the new liveness globals. This is + // needed so that during LTO these variables stay alive. The alternative + // would be to have the linker handling the LTO symbols, but libLTO + // current API does not expose access to the section for each symbol. + if (!LivenessGlobals.empty()) + appendToCompilerUsed(M, LivenessGlobals); + + // RegisteredFlag serves two purposes. First, we can pass it to dladdr() + // to look up the loaded image that contains it. Second, we can store in it + // whether registration has already occurred, to prevent duplicate + // registration. + // + // common linkage ensures that there is only one global per shared library. + GlobalVariable *RegisteredFlag = new GlobalVariable( + M, IntptrTy, false, GlobalVariable::CommonLinkage, + ConstantInt::get(IntptrTy, 0), kAsanGlobalsRegisteredFlagName); + RegisteredFlag->setVisibility(GlobalVariable::HiddenVisibility); + + IRB.CreateCall(AsanRegisterImageGlobals, + {IRB.CreatePointerCast(RegisteredFlag, IntptrTy)}); + + // We also need to unregister globals at the end, e.g., when a shared library + // gets closed. + IRBuilder<> IRB_Dtor = CreateAsanModuleDtor(M); + IRB_Dtor.CreateCall(AsanUnregisterImageGlobals, + {IRB.CreatePointerCast(RegisteredFlag, IntptrTy)}); +} + +void AddressSanitizerModule::InstrumentGlobalsWithMetadataArray( + IRBuilder<> &IRB, Module &M, ArrayRef ExtendedGlobals, + ArrayRef MetadataInitializers) { + assert(ExtendedGlobals.size() == MetadataInitializers.size()); + unsigned N = ExtendedGlobals.size(); + assert(N > 0); + + // On platforms that don't have a custom metadata section, we emit an array + // of global metadata structures. + ArrayType *ArrayOfGlobalStructTy = + ArrayType::get(MetadataInitializers[0]->getType(), N); + auto AllGlobals = new GlobalVariable( + M, ArrayOfGlobalStructTy, false, GlobalVariable::InternalLinkage, + ConstantArray::get(ArrayOfGlobalStructTy, MetadataInitializers), ""); + + IRB.CreateCall(AsanRegisterGlobals, + {IRB.CreatePointerCast(AllGlobals, IntptrTy), + ConstantInt::get(IntptrTy, N)}); + + // We also need to unregister globals at the end, e.g., when a shared library + // gets closed. + IRBuilder<> IRB_Dtor = CreateAsanModuleDtor(M); + IRB_Dtor.CreateCall(AsanUnregisterGlobals, + {IRB.CreatePointerCast(AllGlobals, IntptrTy), + ConstantInt::get(IntptrTy, N)}); +} + // This function replaces all global variables with new variables that have // trailing redzones. It also creates a function that poisons // redzones and inserts this function into llvm.global_ctors. @@ -1580,9 +1752,6 @@ bool AddressSanitizerModule::InstrumentG if (n == 0) return false; auto &DL = M.getDataLayout(); - bool UseComdatMetadata = TargetTriple.isOSBinFormatCOFF(); - bool UseMachOGlobalsSection = ShouldUseMachOGlobalsSection(); - bool UseMetadataArray = !(UseComdatMetadata || UseMachOGlobalsSection); // A global is described by a structure // size_t beg; @@ -1597,19 +1766,8 @@ bool AddressSanitizerModule::InstrumentG StructType *GlobalStructTy = StructType::get(IntptrTy, IntptrTy, IntptrTy, IntptrTy, IntptrTy, IntptrTy, IntptrTy, IntptrTy, nullptr); - unsigned SizeOfGlobalStruct = DL.getTypeAllocSize(GlobalStructTy); - assert(isPowerOf2_32(SizeOfGlobalStruct) && - "global metadata will not be padded appropriately"); - SmallVector Initializers(UseMetadataArray ? n : 0); - - // On recent Mach-O platforms, use a structure which binds the liveness of - // the global variable to the metadata struct. Keep the list of "Liveness" GV - // created to be added to llvm.compiler.used - StructType *LivenessTy = nullptr; - if (UseMachOGlobalsSection) - LivenessTy = StructType::get(IntptrTy, IntptrTy, nullptr); - SmallVector LivenessGlobals( - UseMachOGlobalsSection ? n : 0); + SmallVector NewGlobals(n); + SmallVector Initializers(n); bool HasDynamicallyInitializedGlobals = false; @@ -1681,25 +1839,7 @@ bool AddressSanitizerModule::InstrumentG ConstantExpr::getGetElementPtr(NewTy, NewGlobal, Indices2, true)); NewGlobal->takeName(G); G->eraseFromParent(); - G = NewGlobal; - - if (UseComdatMetadata) { - // Get or create a COMDAT for G so that we can use it with our metadata. - Comdat *C = G->getComdat(); - if (!C) { - if (!G->hasName()) { - // If G is unnamed, it must be internal. Give it an artificial name - // so we can put it in a comdat. - assert(G->hasLocalLinkage()); - G->setName(Twine(kAsanGenPrefix) + "_anon_global"); - } - C = M.getOrInsertComdat(G->getName()); - // Make this IMAGE_COMDAT_SELECT_NODUPLICATES on COFF. - if (TargetTriple.isOSBinFormatCOFF()) - C->setSelectionKind(Comdat::NoDuplicates); - G->setComdat(C); - } - } + NewGlobals[i] = NewGlobal; Constant *SourceLoc; if (!MD.SourceLoc.empty()) { @@ -1750,117 +1890,21 @@ bool AddressSanitizerModule::InstrumentG DEBUG(dbgs() << "NEW GLOBAL: " << *NewGlobal << "\n"); - // If we aren't using separate metadata globals, add it to the initializer - // list and continue. - if (UseMetadataArray) { - Initializers[i] = Initializer; - continue; - } - - // Create a separate metadata global and put it in the appropriate ASan - // global registration section. - GlobalVariable *Metadata = new GlobalVariable( - M, GlobalStructTy, false, GlobalVariable::InternalLinkage, - Initializer, Twine("__asan_global_") + - GlobalValue::getRealLinkageName(G->getName())); - Metadata->setSection(getGlobalMetadataSection()); - - // We don't want any padding, but we also need a reasonable alignment. - // The MSVC linker always inserts padding when linking incrementally. We - // cope with that by aligning each struct to its size, which must be a power - // of two. - Metadata->setAlignment(SizeOfGlobalStruct); - - // On platforms that support comdats, put the metadata and the - // instrumented global in the same group. This ensures that the metadata - // is discarded if the instrumented global is discarded. - if (UseComdatMetadata) { - assert(G->hasComdat()); - Metadata->setComdat(G->getComdat()); - continue; - } - assert(UseMachOGlobalsSection); + Initializers[i] = Initializer; + } - // On recent Mach-O platforms, we emit the global metadata in a way that - // allows the linker to properly strip dead globals. - auto LivenessBinder = ConstantStruct::get( - LivenessTy, Initializer->getAggregateElement(0u), - ConstantExpr::getPointerCast(Metadata, IntptrTy), nullptr); - GlobalVariable *Liveness = new GlobalVariable( - M, LivenessTy, false, GlobalVariable::InternalLinkage, LivenessBinder, - Twine("__asan_binder_") + G->getName()); - Liveness->setSection("__DATA,__asan_liveness,regular,live_support"); - LivenessGlobals[i] = Liveness; + if (TargetTriple.isOSBinFormatCOFF()) { + InstrumentGlobalsCOFF(IRB, M, NewGlobals, Initializers); + } else if (ShouldUseMachOGlobalsSection()) { + InstrumentGlobalsMachO(IRB, M, NewGlobals, Initializers); + } else { + InstrumentGlobalsWithMetadataArray(IRB, M, NewGlobals, Initializers); } // Create calls for poisoning before initializers run and unpoisoning after. if (HasDynamicallyInitializedGlobals) createInitializerPoisonCalls(M, ModuleName); - // Platforms with a dedicated metadata section don't need to emit any more - // code. - if (UseComdatMetadata) - return true; - - GlobalVariable *AllGlobals = nullptr; - GlobalVariable *RegisteredFlag = nullptr; - - if (UseMachOGlobalsSection) { - // RegisteredFlag serves two purposes. First, we can pass it to dladdr() - // to look up the loaded image that contains it. Second, we can store in it - // whether registration has already occurred, to prevent duplicate - // registration. - // - // common linkage ensures that there is only one global per shared library. - RegisteredFlag = new GlobalVariable( - M, IntptrTy, false, GlobalVariable::CommonLinkage, - ConstantInt::get(IntptrTy, 0), kAsanGlobalsRegisteredFlagName); - RegisteredFlag->setVisibility(GlobalVariable::HiddenVisibility); - - // Update llvm.compiler.used, adding the new liveness globals. This is - // needed so that during LTO these variables stay alive. The alternative - // would be to have the linker handling the LTO symbols, but libLTO - // current API does not expose access to the section for each symbol. - if (!LivenessGlobals.empty()) - appendToCompilerUsed(M, LivenessGlobals); - } else if (UseMetadataArray) { - // On platforms that don't have a custom metadata section, we emit an array - // of global metadata structures. - ArrayType *ArrayOfGlobalStructTy = ArrayType::get(GlobalStructTy, n); - AllGlobals = new GlobalVariable( - M, ArrayOfGlobalStructTy, false, GlobalVariable::InternalLinkage, - ConstantArray::get(ArrayOfGlobalStructTy, Initializers), ""); - } - - // Create a call to register the globals with the runtime. - if (UseMachOGlobalsSection) { - IRB.CreateCall(AsanRegisterImageGlobals, - {IRB.CreatePointerCast(RegisteredFlag, IntptrTy)}); - } else { - IRB.CreateCall(AsanRegisterGlobals, - {IRB.CreatePointerCast(AllGlobals, IntptrTy), - ConstantInt::get(IntptrTy, n)}); - } - - // We also need to unregister globals at the end, e.g., when a shared library - // gets closed. - Function *AsanDtorFunction = - Function::Create(FunctionType::get(Type::getVoidTy(*C), false), - GlobalValue::InternalLinkage, kAsanModuleDtorName, &M); - BasicBlock *AsanDtorBB = BasicBlock::Create(*C, "", AsanDtorFunction); - IRBuilder<> IRB_Dtor(ReturnInst::Create(*C, AsanDtorBB)); - - if (UseMachOGlobalsSection) { - IRB_Dtor.CreateCall(AsanUnregisterImageGlobals, - {IRB.CreatePointerCast(RegisteredFlag, IntptrTy)}); - } else { - IRB_Dtor.CreateCall(AsanUnregisterGlobals, - {IRB.CreatePointerCast(AllGlobals, IntptrTy), - ConstantInt::get(IntptrTy, n)}); - } - - appendToGlobalDtors(M, AsanDtorFunction, kAsanCtorAndDtorPriority); - DEBUG(dbgs() << M); return true; } Modified: projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/lib/Transforms/Scalar/NewGVN.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -85,6 +85,8 @@ STATISTIC(NumGVNLeaderChanges, "Number o STATISTIC(NumGVNSortedLeaderChanges, "Number of sorted leader changes"); STATISTIC(NumGVNAvoidedSortedLeaderChanges, "Number of avoided sorted leader changes"); +STATISTIC(NumGVNNotMostDominatingLeader, + "Number of times a member dominated it's new classes' leader"); //===----------------------------------------------------------------------===// // GVN Pass @@ -1073,17 +1075,20 @@ void NewGVN::moveValueToNewCongruenceCla if (I == OldClass->NextLeader.first) OldClass->NextLeader = {nullptr, ~0U}; - // The new instruction and new class leader may either be siblings in the - // dominator tree, or the new class leader should dominate the new member - // instruction. We simply check that the member instruction does not properly - // dominate the new class leader. - assert( - !isa(NewClass->RepLeader) || !NewClass->RepLeader || - I == NewClass->RepLeader || - !DT->properlyDominates( + // It's possible, though unlikely, for us to discover equivalences such + // that the current leader does not dominate the old one. + // This statistic tracks how often this happens. + // We assert on phi nodes when this happens, currently, for debugging, because + // we want to make sure we name phi node cycles properly. + if (isa(NewClass->RepLeader) && NewClass->RepLeader && + I != NewClass->RepLeader && + DT->properlyDominates( I->getParent(), - cast(NewClass->RepLeader)->getParent()) && - "New class for instruction should not be dominated by instruction"); + cast(NewClass->RepLeader)->getParent())) { + ++NumGVNNotMostDominatingLeader; + assert(!isa(I) && + "New class for instruction should not be dominated by instruction"); + } if (NewClass->RepLeader != I) { auto DFSNum = InstrDFS.lookup(I); Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def Tue Jan 24 19:56:22 2017 (r312719) @@ -1339,6 +1339,7 @@ BUILTIN(__builtin_smulll_overflow, "bSLL BUILTIN(__builtin_addressof, "v*v&", "nct") BUILTIN(__builtin_operator_new, "v*z", "c") BUILTIN(__builtin_operator_delete, "vv*", "n") +BUILTIN(__builtin_char_memchr, "c*cC*iz", "n") // Safestack builtins BUILTIN(__builtin___get_unsafe_stack_start, "v*", "Fn") Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -5683,6 +5683,7 @@ bool PointerExprEvaluator::VisitBuiltinC case Builtin::BI__builtin_strchr: case Builtin::BI__builtin_wcschr: case Builtin::BI__builtin_memchr: + case Builtin::BI__builtin_char_memchr: case Builtin::BI__builtin_wmemchr: { if (!Visit(E->getArg(0))) return false; @@ -5720,6 +5721,7 @@ bool PointerExprEvaluator::VisitBuiltinC // Fall through. case Builtin::BImemchr: case Builtin::BI__builtin_memchr: + case Builtin::BI__builtin_char_memchr: // memchr compares by converting both sides to unsigned char. That's also // correct for strchr if we get this far (to cope with plain char being // unsigned in the strchr case). Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -1189,6 +1189,10 @@ RValue CodeGenFunction::EmitBuiltinExpr( return RValue::get(Dest.getPointer()); } + case Builtin::BI__builtin_char_memchr: + BuiltinID = Builtin::BI__builtin_memchr; + break; + case Builtin::BI__builtin___memcpy_chk: { // fold __builtin_memcpy_chk(x, y, cst1, cst2) to memcpy iff cst1<=cst2. llvm::APSInt Size, DstSize; Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -1183,6 +1183,7 @@ static bool HasFeature(const Preprocesso .Case("cxx_attributes", LangOpts.CPlusPlus11) .Case("cxx_auto_type", LangOpts.CPlusPlus11) .Case("cxx_constexpr", LangOpts.CPlusPlus11) + .Case("cxx_constexpr_string_builtins", LangOpts.CPlusPlus11) .Case("cxx_decltype", LangOpts.CPlusPlus11) .Case("cxx_decltype_incomplete_return_types", LangOpts.CPlusPlus11) .Case("cxx_default_function_template_args", LangOpts.CPlusPlus11) Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -12383,9 +12383,9 @@ ExprResult Sema::BuildCXXDefaultInitExpr Diag(Loc, diag::err_in_class_initializer_not_yet_parsed) << OutermostClass << Field; Diag(Field->getLocEnd(), diag::note_in_class_initializer_not_yet_parsed); - - // Don't diagnose this again. - Field->setInvalidDecl(); + // Recover by marking the field invalid, unless we're in a SFINAE context. + if (!isSFINAEContext()) + Field->setInvalidDecl(); return ExprError(); } Modified: projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -11496,7 +11496,7 @@ ExprResult Sema::BuildBinOp(Scope *S, So return checkPseudoObjectAssignment(S, OpLoc, Opc, LHSExpr, RHSExpr); // Don't resolve overloads if the other type is overloadable. - if (pty->getKind() == BuiltinType::Overload) { + if (getLangOpts().CPlusPlus && pty->getKind() == BuiltinType::Overload) { // We can't actually test that if we still have a placeholder, // though. Fortunately, none of the exceptions we see in that // code below are valid when the LHS is an overload set. Note @@ -11521,17 +11521,16 @@ ExprResult Sema::BuildBinOp(Scope *S, So // An overload in the RHS can potentially be resolved by the type // being assigned to. if (Opc == BO_Assign && pty->getKind() == BuiltinType::Overload) { - if (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent()) - return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); - - if (LHSExpr->getType()->isOverloadableType()) + if (getLangOpts().CPlusPlus && + (LHSExpr->isTypeDependent() || RHSExpr->isTypeDependent() || + LHSExpr->getType()->isOverloadableType())) return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); return CreateBuiltinBinOp(OpLoc, Opc, LHSExpr, RHSExpr); } // Don't resolve overloads if the other type is overloadable. - if (pty->getKind() == BuiltinType::Overload && + if (getLangOpts().CPlusPlus && pty->getKind() == BuiltinType::Overload && LHSExpr->getType()->isOverloadableType()) return BuildOverloadedBinOp(*this, S, OpLoc, Opc, LHSExpr, RHSExpr); Modified: projects/clang400-import/contrib/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/contrib/llvm/tools/llvm-cxxfilt/llvm-cxxfilt.cpp Tue Jan 24 19:56:22 2017 (r312719) @@ -14,9 +14,12 @@ using namespace llvm; -static void demangle(llvm::raw_ostream &OS, const char *Mangled) { +static void demangle(llvm::raw_ostream &OS, const std::string &Mangled) { int Status; - char *Demangled = itaniumDemangle(Mangled, nullptr, nullptr, &Status); + char *Demangled = nullptr; + if ((Mangled.size() >= 2 && Mangled.compare(0, 2, "_Z")) || + (Mangled.size() >= 4 && Mangled.compare(0, 4, "___Z"))) + Demangled = itaniumDemangle(Mangled.c_str(), nullptr, nullptr, &Status); OS << (Demangled ? Demangled : Mangled) << '\n'; free(Demangled); } @@ -24,7 +27,7 @@ static void demangle(llvm::raw_ostream & int main(int argc, char **argv) { if (argc == 1) for (std::string Mangled; std::getline(std::cin, Mangled);) - demangle(llvm::outs(), Mangled.c_str()); + demangle(llvm::outs(), Mangled); else for (int I = 1; I < argc; ++I) demangle(llvm::outs(), argv[I]); Modified: projects/clang400-import/lib/clang/include/clang/Basic/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/lib/clang/include/clang/Basic/Version.inc Tue Jan 24 19:56:22 2017 (r312719) @@ -8,4 +8,4 @@ #define CLANG_VENDOR "FreeBSD " -#define SVN_REVISION "292732" +#define SVN_REVISION "292951" Modified: projects/clang400-import/lib/clang/include/lld/Config/Version.inc ============================================================================== --- projects/clang400-import/lib/clang/include/lld/Config/Version.inc Tue Jan 24 19:45:33 2017 (r312718) +++ projects/clang400-import/lib/clang/include/lld/Config/Version.inc Tue Jan 24 19:56:22 2017 (r312719) @@ -4,5 +4,5 @@ #define LLD_VERSION_STRING "4.0.0" #define LLD_VERSION_MAJOR 4 #define LLD_VERSION_MINOR 0 -#define LLD_REVISION_STRING "292732" +#define LLD_REVISION_STRING "292951" #define LLD_REPOSITORY_STRING "FreeBSD" From owner-svn-src-projects@freebsd.org Tue Jan 24 19:59:28 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 84C00CC0B0B for ; Tue, 24 Jan 2017 19:59:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2121E1CAE; Tue, 24 Jan 2017 19:59:28 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0OJxRjx090682; Tue, 24 Jan 2017 19:59:27 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0OJxPp9090667; Tue, 24 Jan 2017 19:59:25 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701241959.v0OJxPp9090667@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Tue, 24 Jan 2017 19:59:25 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312720 - in projects/clang400-import: etc/devd lib/libc/aarch64/sys sbin/restore share/man/man4 share/man/man5 sys/amd64/linux sys/arm/freescale/imx sys/arm/ti/cpsw sys/arm64/arm64 sys... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2017 19:59:28 -0000 Author: dim Date: Tue Jan 24 19:59:25 2017 New Revision: 312720 URL: https://svnweb.freebsd.org/changeset/base/312720 Log: Merge ^/head r312624 through r312719. Added: projects/clang400-import/sys/contrib/dev/rtwn/rtwn-rtl8192eufw.fw.uu - copied unchanged from r312719, head/sys/contrib/dev/rtwn/rtwn-rtl8192eufw.fw.uu projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c_llt.c - copied unchanged from r312719, head/sys/dev/rtwn/rtl8192c/r92c_llt.c projects/clang400-import/sys/dev/rtwn/rtl8192e/ - copied from r312719, head/sys/dev/rtwn/rtl8192e/ projects/clang400-import/sys/modules/rtwnfw/rtwnrtl8192eu/ - copied from r312719, head/sys/modules/rtwnfw/rtwnrtl8192eu/ projects/clang400-import/usr.bin/truss/riscv64-freebsd.c - copied unchanged from r312719, head/usr.bin/truss/riscv64-freebsd.c Modified: projects/clang400-import/etc/devd/usb.conf projects/clang400-import/lib/libc/aarch64/sys/cerror.S projects/clang400-import/sbin/restore/restore.8 projects/clang400-import/share/man/man4/rtwn.4 projects/clang400-import/share/man/man4/rtwn_usb.4 projects/clang400-import/share/man/man4/rtwnfw.4 projects/clang400-import/share/man/man5/tmpfs.5 projects/clang400-import/sys/amd64/linux/linux_sysvec.c projects/clang400-import/sys/arm/freescale/imx/imx_machdep.c projects/clang400-import/sys/arm/ti/cpsw/if_cpsw.c projects/clang400-import/sys/arm/ti/cpsw/if_cpswvar.h projects/clang400-import/sys/arm64/arm64/mp_machdep.c projects/clang400-import/sys/boot/fdt/dts/arm/beaglebone-black.dts projects/clang400-import/sys/cam/ctl/ctl_backend_ramdisk.c projects/clang400-import/sys/cam/ctl/ctl_frontend.h projects/clang400-import/sys/cam/ctl/ctl_frontend_cam_sim.c projects/clang400-import/sys/cam/ctl/ctl_frontend_ioctl.c projects/clang400-import/sys/cam/ctl/ctl_frontend_iscsi.c projects/clang400-import/sys/cam/ctl/ctl_tpc_local.c projects/clang400-import/sys/cam/ctl/scsi_ctl.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/clang400-import/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/clang400-import/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/clang400-import/sys/conf/files projects/clang400-import/sys/dev/ath/if_ath.c projects/clang400-import/sys/dev/ath/if_ath_tx.c projects/clang400-import/sys/dev/ath/if_ath_tx_edma.c projects/clang400-import/sys/dev/e1000/em_txrx.c projects/clang400-import/sys/dev/e1000/if_em.c projects/clang400-import/sys/dev/hyperv/netvsc/hn_nvs.c projects/clang400-import/sys/dev/hyperv/netvsc/hn_nvs.h projects/clang400-import/sys/dev/hyperv/netvsc/if_hn.c projects/clang400-import/sys/dev/hyperv/netvsc/if_hnreg.h projects/clang400-import/sys/dev/hyperv/netvsc/if_hnvar.h projects/clang400-import/sys/dev/mrsas/mrsas_linux.c projects/clang400-import/sys/dev/rtwn/if_rtwn.c projects/clang400-import/sys/dev/rtwn/if_rtwnvar.h projects/clang400-import/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c projects/clang400-import/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c.h projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c_init.c projects/clang400-import/sys/dev/rtwn/rtl8192c/r92c_reg.h projects/clang400-import/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c projects/clang400-import/sys/dev/rtwn/rtl8812a/r12a_beacon.c projects/clang400-import/sys/dev/rtwn/rtl8812a/r12a_fw.c projects/clang400-import/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c projects/clang400-import/sys/dev/rtwn/rtl8821a/r21a_init.c projects/clang400-import/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c projects/clang400-import/sys/dev/rtwn/usb/rtwn_usb_attach.h projects/clang400-import/sys/dev/usb/usbdevs projects/clang400-import/sys/kern/kern_switch.c projects/clang400-import/sys/kern/kern_time.c projects/clang400-import/sys/kern/subr_clock.c projects/clang400-import/sys/kern/subr_gtaskqueue.c projects/clang400-import/sys/kern/vfs_lookup.c projects/clang400-import/sys/kern/vfs_vnops.c projects/clang400-import/sys/libkern/bcd.c projects/clang400-import/sys/modules/rtwn/Makefile projects/clang400-import/sys/modules/rtwn_usb/Makefile projects/clang400-import/sys/modules/rtwnfw/Makefile projects/clang400-import/sys/net/ieee8023ad_lacp.c projects/clang400-import/sys/net/if.c projects/clang400-import/sys/net/iflib.c projects/clang400-import/sys/net80211/ieee80211.c projects/clang400-import/sys/powerpc/powerpc/db_trace.c projects/clang400-import/sys/riscv/include/frame.h projects/clang400-import/sys/riscv/riscv/trap.c projects/clang400-import/sys/sys/eventhandler.h projects/clang400-import/sys/sys/gtaskqueue.h projects/clang400-import/sys/sys/libkern.h projects/clang400-import/usr.bin/find/find.1 projects/clang400-import/usr.bin/iscsictl/iscsictl.c projects/clang400-import/usr.bin/mail/popen.c projects/clang400-import/usr.bin/mail/send.c projects/clang400-import/usr.bin/sort/radixsort.c projects/clang400-import/usr.sbin/ctladm/ctladm.8 projects/clang400-import/usr.sbin/pw/psdate.c projects/clang400-import/usr.sbin/pw/pw_user.c projects/clang400-import/usr.sbin/pw/tests/pw_usermod.sh projects/clang400-import/usr.sbin/wpa/wpa_cli/wpa_cli.8 Directory Properties: projects/clang400-import/ (props changed) projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang400-import/etc/devd/usb.conf ============================================================================== --- projects/clang400-import/etc/devd/usb.conf Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/etc/devd/usb.conf Tue Jan 24 19:59:25 2017 (r312720) @@ -2753,7 +2753,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x0bda"; - match "product" "(0x818a|0x8191)"; + match "product" "(0x818a|0x818b|0x8191)"; action "kldload -n if_rtwn_usb"; }; @@ -3793,7 +3793,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x1199"; - match "product" "(0x68aa|0x68c0|0x9041)"; + match "product" "(0x68aa|0x68c0|0x9041|0x9071)"; action "kldload -n u3g"; }; @@ -3905,7 +3905,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x12d1"; - match "product" "(0x1573|0x1803|0x1c05|0x1c0b)"; + match "product" "(0x1573|0x15c1|0x1803|0x1c05|0x1c0b)"; action "kldload -n u3g"; }; @@ -5025,7 +5025,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x2001"; - match "product" "(0x3307|0x3308|0x3309|0x330a|0x330d|0x330f|0x3310|0x3314|0x3315|0x3316|0x3318)"; + match "product" "(0x3307|0x3308|0x3309|0x330a|0x330d|0x330f|0x3310|0x3314|0x3315|0x3316|0x3318|0x3319)"; action "kldload -n if_rtwn_usb"; }; @@ -5297,7 +5297,7 @@ nomatch 32 { match "bus" "uhub[0-9]+"; match "mode" "host"; match "vendor" "0x2357"; - match "product" "0x0101"; + match "product" "(0x0101|0x0108|0x0109)"; action "kldload -n if_rtwn_usb"; }; @@ -5889,5 +5889,5 @@ nomatch 32 { action "kldload -n umass"; }; -# 2743 USB entries processed +# 2751 USB entries processed Modified: projects/clang400-import/lib/libc/aarch64/sys/cerror.S ============================================================================== --- projects/clang400-import/lib/libc/aarch64/sys/cerror.S Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/lib/libc/aarch64/sys/cerror.S Tue Jan 24 19:59:25 2017 (r312720) @@ -34,7 +34,7 @@ ENTRY(cerror) stp x0, lr, [sp] bl _C_LABEL(__error) ldp x1, lr, [sp] - str x1, [x0] + str w1, [x0] movn x0, #0 movn x1, #0 add sp, sp, #16 Modified: projects/clang400-import/sbin/restore/restore.8 ============================================================================== --- projects/clang400-import/sbin/restore/restore.8 Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sbin/restore/restore.8 Tue Jan 24 19:59:25 2017 (r312720) @@ -349,6 +349,8 @@ To prevent this, the .Fl u (unlink) flag causes restore to remove old entries before attempting to create new ones. +This flag is recommended when using extended attributes +to avoid improperly accumulating attributes on pre-existing files. .It Fl v Normally .Nm Modified: projects/clang400-import/share/man/man4/rtwn.4 ============================================================================== --- projects/clang400-import/share/man/man4/rtwn.4 Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/share/man/man4/rtwn.4 Tue Jan 24 19:59:25 2017 (r312720) @@ -18,7 +18,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 17, 2016 +.Dd January 24, 2017 .Dt RTWN 4 .Os .Sh NAME @@ -52,9 +52,9 @@ if_rtwn_usb_load="YES" The .Nm driver provides support for wireless network devices based on -the Realtek RTL8192C, RTL8188E, RTL8812A and RTL8821A programming APIs. -These APIs are used by a wide variety of chips; most chips with USB -and some with PCI interface are supported. +the Realtek RTL8192C, RTL8188E, RTL8192E, RTL8812A and RTL8821A +programming APIs. These APIs are used by a wide variety of chips; +most chips with USB and some with PCI interface are supported. .Pp To enable use for PCI/PCIe systems, see the rtwn_pci(4) driver; for USB devices, use the rtwn_usb(4) driver. @@ -98,6 +98,7 @@ when an interface is brought up: .It Pa /boot/kernel/rtwn-rtl8192cfwE.ko .It Pa /boot/kernel/rtwn-rtl8192cfwT.ko .It Pa /boot/kernel/rtwn-rtl8192cfwU.ko +.It Pa /boot/kernel/rtwn-rtl8192eufw.ko .It Pa /boot/kernel/rtwn-rtl8812aufw.ko .It Pa /boot/kernel/rtwn-rtl8821aufw.ko .El Modified: projects/clang400-import/share/man/man4/rtwn_usb.4 ============================================================================== --- projects/clang400-import/share/man/man4/rtwn_usb.4 Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/share/man/man4/rtwn_usb.4 Tue Jan 24 19:59:25 2017 (r312720) @@ -29,7 +29,7 @@ .\" .\" $FreeBSD$ .\"/ -.Dd January 6, 2017 +.Dd January 24, 2017 .Dt RTWN_USB 4 .Os .Sh NAME @@ -56,7 +56,7 @@ driver. .Sh HARDWARE The .Nm -driver supports Realtek RTL8188CU/RTL8188RU/RTL8188EU/RTL8192CU/RTL8812AU/RTL8821AU +driver supports Realtek RTL8188CU/RTL8188RU/RTL8188EU/RTL8192CU/RTL8192EU/RTL8812AU/RTL8821AU based USB wireless network adapters, including: .Pp .Bl -column -compact "Belkin F7D1102 Surf Wireless Micro" "Bus" @@ -70,6 +70,7 @@ based USB wireless network adapters, inc .It "D-Link DWA-123 rev D1" Ta USB 2.0 .It "D-Link DWA-125 rev D1" Ta USB 2.0 .It "D-Link DWA-131" Ta USB 2.0 +.It "D-Link DWA-131 rev E1" Ta USB 2.0 .It "D-Link DWA-171 rev A1" Ta USB 2.0 .It "D-Link DWA-172 rev A1" Ta USB 2.0 .It "D-Link DWA-180 rev A1" Ta USB 2.0 @@ -94,7 +95,10 @@ based USB wireless network adapters, inc .It "TP-LINK TL-WN723N v3" Ta USB 2.0 .It "TP-LINK TL-WN725N v2" Ta USB 2.0 .It "TP-LINK TL-WN821N v4" Ta USB 2.0 +.It "TP-LINK TL-WN821N v5" Ta USB 2.0 +.It "TP-LINK TL-WN822N v4" Ta USB 2.0 .It "TP-LINK TL-WN823N v1" Ta USB 2.0 +.It "TP-LINK TL-WN823N v2" Ta USB 2.0 .It "TRENDnet TEW-805UB" Ta USB 3.0 .It "ZyXEL NWD6605" Ta USB 3.0 .El Modified: projects/clang400-import/share/man/man4/rtwnfw.4 ============================================================================== --- projects/clang400-import/share/man/man4/rtwnfw.4 Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/share/man/man4/rtwnfw.4 Tue Jan 24 19:59:25 2017 (r312720) @@ -23,7 +23,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 28, 2015 +.Dd January 24, 2017 .Dt RTWNFW 4 .Os .Sh NAME @@ -46,6 +46,7 @@ of the following: .Cd "device rtwn-rtl8192cfwE" .Cd "device rtwn-rtl8192cfwT" .Cd "device rtwn-rtl8192cfwU" +.Cd "device rtwn-rtl8192eufw" .Cd "device rtwn-rtl8812aufw" .Cd "device rtwn-rtl8821aufw" .Ed @@ -59,6 +60,7 @@ rtwn-rtl8192cfwE_B_load="YES" rtwn-rtl8192cfwE_load="YES" rtwn-rtl8192cfwT_load="YES" rtwn-rtl8192cfwU_load="YES" +rtwn-rtl8192eufw_load="YES" rtwn-rtl8812aufw_load="YES" rtwn-rtl8821aufw_load="YES" .Ed @@ -66,8 +68,8 @@ rtwn-rtl8821aufw_load="YES" rtwn-rtl8192cfwE and rtl8192cfwE_B modules provide access to firmware sets for the Realtek RTL8188CE chip based PCIe adapters. Other modules provide access to firmware sets for the Realtek RTL8188CUS, -RTL8188CE-VAU, RTL8188EUS, RTL8188RU, RTL8192CU, RTL8812AU and RTL8821AU -chip based USB WiFi adapters. +RTL8188CE-VAU, RTL8188EUS, RTL8188RU, RTL8192CU, RTL8192EU, RTL8812AU and +RTL8821AU chip based USB WiFi adapters. They may be statically linked into the kernel, or loaded as a modules. .Pp Modified: projects/clang400-import/share/man/man5/tmpfs.5 ============================================================================== --- projects/clang400-import/share/man/man5/tmpfs.5 Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/share/man/man5/tmpfs.5 Tue Jan 24 19:59:25 2017 (r312720) @@ -54,7 +54,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 17, 2017 +.Dd January 20, 2017 .Dt TMPFS 5 .Os .Sh NAME @@ -77,7 +77,7 @@ tmpfs_load="YES" .Sh DESCRIPTION The .Nm -driver implements in-memory, or +driver implements an in-memory, or .Tn tmpfs file system. The filesystem stores both file metadata and data in main memory. @@ -85,22 +85,22 @@ This allows very fast and low latency ac The data is volatile. An umount or system reboot invalidates it. These properties make the filesystem's mounts suitable for fast -scratch storage, e.g. +scratch storage, like .Pa /tmp . .Pp If the system becomes low on memory and swap is configured (see .Xr swapon 8 ), -file data may be written to the swap space, freeing memory +the system can transfer file data to swap space, freeing memory for other needs. -The current implementation never swaps out metadata, including -the directory content. +Metadata, including the directory content, is never swapped out by the +current implementation. Keep this in mind when planning the mount limits, especially when expecting to place many small files on a tmpfs mount. .Pp -When a file from a tmpfs mount is mmaped (see -.Xr mmap 2 ) -into the process address space, the swap VM object which manages the file -pages is used to implement mapping and to avoid double-copying of +When +.Xr mmap 2 +is used on a file from a tmpfs mount, the swap VM object managing the +file pages is used to implement mapping and avoid double-copying of the file data. This quirk causes process inspection tools, like .Xr procstat 1 , @@ -120,6 +120,10 @@ Defaults to the mount point's UID. .It Cm mode Specifies the mode (in octal notation) of the root inode of the file system. Defaults to the mount point's mode. +.It Cm nonc +Do not use namecache to resolve names to files for the created mount. +This saves memory, but currently might impair scalability for highly +used mounts on large machines. .It Cm inodes Specifies the maximum number of nodes available to the file system. If not specified, the file system chooses a reasonable maximum based on Modified: projects/clang400-import/sys/amd64/linux/linux_sysvec.c ============================================================================== --- projects/clang400-import/sys/amd64/linux/linux_sysvec.c Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/amd64/linux/linux_sysvec.c Tue Jan 24 19:59:25 2017 (r312720) @@ -718,7 +718,7 @@ exec_linux_imgact_try(struct image_param { const char *head = (const char *)imgp->image_header; char *rpath; - int error = -1, len; + int error = -1; /* * The interpreter for shell scripts run from a linux binary needs @@ -736,17 +736,12 @@ exec_linux_imgact_try(struct image_param linux_emul_convpath(FIRST_THREAD_IN_PROC(imgp->proc), imgp->interpreter_name, UIO_SYSSPACE, &rpath, 0, AT_FDCWD); - if (rpath != NULL) { - len = strlen(rpath) + 1; - - if (len <= MAXSHELLCMDLEN) - memcpy(imgp->interpreter_name, - rpath, len); - free(rpath, M_TEMP); - } + if (rpath != NULL) + imgp->args->fname_buf = + imgp->interpreter_name = rpath; } } - return(error); + return (error); } #define LINUX_VSYSCALL_START (-10UL << 20) Modified: projects/clang400-import/sys/arm/freescale/imx/imx_machdep.c ============================================================================== --- projects/clang400-import/sys/arm/freescale/imx/imx_machdep.c Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/arm/freescale/imx/imx_machdep.c Tue Jan 24 19:59:25 2017 (r312720) @@ -69,11 +69,18 @@ imx_wdog_cpu_reset(vm_offset_t wdcr_phys * Trigger an immediate reset by clearing the SRS bit in the watchdog * control register. The reset happens on the next cycle of the wdog * 32KHz clock, so hang out in a spin loop until the reset takes effect. + * + * Imx6 erratum ERR004346 says the SRS bit has to be cleared twice + * within the same cycle of the 32khz clock to reliably trigger the + * reset. Writing it 3 times in a row ensures at least 2 of the writes + * happen in the same 32k clock cycle. */ if ((pcr = devmap_ptov(wdcr_physaddr, sizeof(*pcr))) == NULL) { printf("cpu_reset() can't find its control register... locking up now."); } else { *pcr &= ~WDOG_CR_SRS; + *pcr &= ~WDOG_CR_SRS; + *pcr &= ~WDOG_CR_SRS; } for (;;) continue; Modified: projects/clang400-import/sys/arm/ti/cpsw/if_cpsw.c ============================================================================== --- projects/clang400-import/sys/arm/ti/cpsw/if_cpsw.c Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/arm/ti/cpsw/if_cpsw.c Tue Jan 24 19:59:25 2017 (r312720) @@ -1582,14 +1582,19 @@ cpsw_intr_rx(void *arg) static struct mbuf * cpsw_rx_dequeue(struct cpsw_softc *sc) { + int nsegs, port, removed; struct cpsw_cpdma_bd bd; struct cpsw_slot *last, *slot; struct cpswp_softc *psc; - struct mbuf *mb_head, *mb_tail; - int port, removed = 0; + struct mbuf *m, *m0, *mb_head, *mb_tail; + uint16_t m0_flags; + nsegs = 0; + m0 = NULL; last = NULL; - mb_head = mb_tail = NULL; + mb_head = NULL; + mb_tail = NULL; + removed = 0; /* Pull completed packets off hardware RX queue. */ while ((slot = STAILQ_FIRST(&sc->rx.active)) != NULL) { @@ -1612,10 +1617,12 @@ cpsw_rx_dequeue(struct cpsw_softc *sc) bus_dmamap_sync(sc->mbuf_dtag, slot->dmamap, BUS_DMASYNC_POSTREAD); bus_dmamap_unload(sc->mbuf_dtag, slot->dmamap); + m = slot->mbuf; + slot->mbuf = NULL; + if (bd.flags & CPDMA_BD_TDOWNCMPLT) { CPSW_DEBUGF(sc, ("RX teardown is complete")); - m_freem(slot->mbuf); - slot->mbuf = NULL; + m_freem(m); sc->rx.running = 0; sc->rx.teardown = 0; break; @@ -1627,28 +1634,36 @@ cpsw_rx_dequeue(struct cpsw_softc *sc) psc = device_get_softc(sc->port[port].dev); /* Set up mbuf */ - /* TODO: track SOP/EOP bits to assemble a full mbuf - out of received fragments. */ - slot->mbuf->m_data += bd.bufoff; - slot->mbuf->m_len = bd.buflen; + m->m_data += bd.bufoff; + m->m_len = bd.buflen; if (bd.flags & CPDMA_BD_SOP) { - slot->mbuf->m_pkthdr.len = bd.pktlen; - slot->mbuf->m_pkthdr.rcvif = psc->ifp; - slot->mbuf->m_flags |= M_PKTHDR; - } - slot->mbuf->m_next = NULL; - slot->mbuf->m_nextpkt = NULL; - if (bd.flags & CPDMA_BD_PASS_CRC) - m_adj(slot->mbuf, -ETHER_CRC_LEN); + m->m_pkthdr.len = bd.pktlen; + m->m_pkthdr.rcvif = psc->ifp; + m->m_flags |= M_PKTHDR; + m0_flags = bd.flags; + m0 = m; + } + nsegs++; + m->m_next = NULL; + m->m_nextpkt = NULL; + if (bd.flags & CPDMA_BD_EOP && m0 != NULL) { + if (m0_flags & CPDMA_BD_PASS_CRC) + m_adj(m0, -ETHER_CRC_LEN); + m0_flags = 0; + m0 = NULL; + if (nsegs > sc->rx.longest_chain) + sc->rx.longest_chain = nsegs; + nsegs = 0; + } if ((psc->ifp->if_capenable & IFCAP_RXCSUM) != 0) { /* check for valid CRC by looking into pkt_err[5:4] */ if ((bd.flags & (CPDMA_BD_SOP | CPDMA_BD_PKT_ERR_MASK)) == CPDMA_BD_SOP) { - slot->mbuf->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; - slot->mbuf->m_pkthdr.csum_flags |= CSUM_IP_VALID; - slot->mbuf->m_pkthdr.csum_data = 0xffff; + m->m_pkthdr.csum_flags |= CSUM_IP_CHECKED; + m->m_pkthdr.csum_flags |= CSUM_IP_VALID; + m->m_pkthdr.csum_data = 0xffff; } } @@ -1661,15 +1676,21 @@ cpsw_rx_dequeue(struct cpsw_softc *sc) } /* Add mbuf to packet list to be returned. */ - if (mb_tail) { - mb_tail->m_nextpkt = slot->mbuf; + if (mb_tail != NULL && (bd.flags & CPDMA_BD_SOP)) { + mb_tail->m_nextpkt = m; + } else if (mb_tail != NULL) { + mb_tail->m_next = m; + } else if (mb_tail == NULL && (bd.flags & CPDMA_BD_SOP) == 0) { + if (bootverbose) + printf( + "%s: %s: discanding fragment packet w/o header\n", + __func__, psc->ifp->if_xname); + m_freem(m); + continue; } else { - mb_head = slot->mbuf; + mb_head = m; } - mb_tail = slot->mbuf; - slot->mbuf = NULL; - if (sc->rx_batch > 0 && sc->rx_batch == removed) - break; + mb_tail = m; } if (removed != 0) { @@ -1960,7 +1981,8 @@ cpsw_tx_dequeue(struct cpsw_softc *sc) sc->tx.teardown = 1; } - if ((flags & CPDMA_BD_OWNER) != 0 && sc->tx.teardown == 0) + if ((flags & (CPDMA_BD_SOP | CPDMA_BD_OWNER)) == + (CPDMA_BD_SOP | CPDMA_BD_OWNER) && sc->tx.teardown == 0) break; /* Hardware is still using this packet. */ bus_dmamap_sync(sc->mbuf_dtag, slot->dmamap, BUS_DMASYNC_POSTWRITE); @@ -2686,9 +2708,6 @@ cpsw_add_sysctls(struct cpsw_softc *sc) SYSCTL_ADD_INT(ctx, parent, OID_AUTO, "debug", CTLFLAG_RW, &sc->debug, 0, "Enable switch debug messages"); - SYSCTL_ADD_INT(ctx, parent, OID_AUTO, "rx_batch", - CTLFLAG_RW, &sc->rx_batch, 0, "Set the rx batch size"); - SYSCTL_ADD_PROC(ctx, parent, OID_AUTO, "attachedSecs", CTLTYPE_UINT | CTLFLAG_RD, sc, 0, cpsw_stat_attached, "IU", "Time since driver attach"); Modified: projects/clang400-import/sys/arm/ti/cpsw/if_cpswvar.h ============================================================================== --- projects/clang400-import/sys/arm/ti/cpsw/if_cpswvar.h Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/arm/ti/cpsw/if_cpswvar.h Tue Jan 24 19:59:25 2017 (r312720) @@ -89,7 +89,6 @@ struct cpsw_softc { int active_slave; int debug; int dualemac; - int rx_batch; phandle_t node; struct bintime attach_uptime; /* system uptime when attach happened. */ struct cpsw_port port[2]; Modified: projects/clang400-import/sys/arm64/arm64/mp_machdep.c ============================================================================== --- projects/clang400-import/sys/arm64/arm64/mp_machdep.c Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/arm64/arm64/mp_machdep.c Tue Jan 24 19:59:25 2017 (r312720) @@ -105,8 +105,6 @@ static void ipi_preempt(void *); static void ipi_rendezvous(void *); static void ipi_stop(void *); -static int ipi_handler(void *arg); - struct mtx ap_boot_mtx; struct pcb stoppcbs[MAXCPU]; Modified: projects/clang400-import/sys/boot/fdt/dts/arm/beaglebone-black.dts ============================================================================== --- projects/clang400-import/sys/boot/fdt/dts/arm/beaglebone-black.dts Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/boot/fdt/dts/arm/beaglebone-black.dts Tue Jan 24 19:59:25 2017 (r312720) @@ -50,13 +50,7 @@ }; &i2c0 { - tda998x: hdmi-encoder { - compatible = "nxp,tda998x"; - reg = <0x70>; - - pinctrl-names = "default", "off"; - pinctrl-0 = <&nxp_hdmi_bonelt_pins>; - pinctrl-1 = <&nxp_hdmi_bonelt_off_pins>; + tda998x: tda19988 { status = "okay"; }; }; Modified: projects/clang400-import/sys/cam/ctl/ctl_backend_ramdisk.c ============================================================================== --- projects/clang400-import/sys/cam/ctl/ctl_backend_ramdisk.c Tue Jan 24 19:56:22 2017 (r312719) +++ projects/clang400-import/sys/cam/ctl/ctl_backend_ramdisk.c Tue Jan 24 19:59:25 2017 (r312720) @@ -1,7 +1,7 @@ /*- * Copyright (c) 2003, 2008 Silicon Graphics International Corp. * Copyright (c) 2012 The FreeBSD Foundation - * Copyright (c) 2014-2015 Alexander Motin + * Copyright (c) 2014-2017 Alexander Motin * All rights reserved. * * Portions of this software were developed by Edward Tomasz Napierala @@ -35,7 +35,7 @@ * $Id: //depot/users/kenm/FreeBSD-test2/sys/cam/ctl/ctl_backend_ramdisk.c#3 $ */ /* - * CAM Target Layer backend for a "fake" ramdisk. + * CAM Target Layer black hole and RAM disk backend. * * Author: Ken Merry */ @@ -48,9 +48,11 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include +#include #include #include #include @@ -71,6 +73,29 @@ __FBSDID("$FreeBSD$"); #include #include +#define PRIV(io) \ + ((struct ctl_ptr_len_flags *)&(io)->io_hdr.ctl_private[CTL_PRIV_BACKEND]) +#define ARGS(io) \ + ((struct ctl_lba_len_flags *)&(io)->io_hdr.ctl_private[CTL_PRIV_LBA_LEN]) + +#define PPP (PAGE_SIZE / sizeof(uint8_t **)) +#ifdef __LP64__ +#define PPPS (PAGE_SHIFT - 3) +#else +#define PPPS (PAGE_SHIFT - 2) +#endif +#define SGPP (PAGE_SIZE / sizeof(struct ctl_sg_entry)) + +#define P_UNMAPPED NULL /* Page is unmapped. */ +#define P_ANCHORED ((void *)(uintptr_t)1) /* Page is anchored. */ + +typedef enum { + GP_READ, /* Return data page or zero page. */ + GP_WRITE, /* Return data page, try allocate if none. */ + GP_ANCHOR, /* Return data page, try anchor if none. */ + GP_OTHER, /* Return what present, do not allocate/anchor. */ +} getpage_op_t; + typedef enum { CTL_BE_RAMDISK_LUN_UNCONFIGURED = 0x01, CTL_BE_RAMDISK_LUN_CONFIG_ERR = 0x02, @@ -79,28 +104,29 @@ typedef enum { struct ctl_be_ramdisk_lun { struct ctl_lun_create_params params; - char lunname[32]; - uint64_t size_bytes; - uint64_t size_blocks; + char lunname[32]; + int indir; + uint8_t **pages; + uint8_t *zero_page; + struct sx page_lock; + u_int pblocksize; + u_int pblockmul; + uint64_t size_bytes; + uint64_t size_blocks; + uint64_t cap_bytes; + uint64_t cap_used; struct ctl_be_ramdisk_softc *softc; ctl_be_ramdisk_lun_flags flags; STAILQ_ENTRY(ctl_be_ramdisk_lun) links; - struct ctl_be_lun cbe_lun; - struct taskqueue *io_taskqueue; - struct task io_task; + struct ctl_be_lun cbe_lun; + struct taskqueue *io_taskqueue; + struct task io_task; STAILQ_HEAD(, ctl_io_hdr) cont_queue; - struct mtx_padalign queue_lock; + struct mtx_padalign queue_lock; }; struct ctl_be_ramdisk_softc { struct mtx lock; - int rd_size; -#ifdef CTL_RAMDISK_PAGES - uint8_t **ramdisk_pages; - int num_pages; -#else - uint8_t *ramdisk_buffer; -#endif int num_luns; STAILQ_HEAD(, ctl_be_ramdisk_lun) lun_list; }; @@ -111,8 +137,13 @@ extern struct ctl_softc *control_softc; static int ctl_backend_ramdisk_init(void); static int ctl_backend_ramdisk_shutdown(void); static int ctl_backend_ramdisk_move_done(union ctl_io *io); +static void ctl_backend_ramdisk_compare(union ctl_io *io); +static void ctl_backend_ramdisk_rw(union ctl_io *io); static int ctl_backend_ramdisk_submit(union ctl_io *io); -static void ctl_backend_ramdisk_continue(union ctl_io *io); +static void ctl_backend_ramdisk_worker(void *context, int pending); +static int ctl_backend_ramdisk_config_read(union ctl_io *io); +static int ctl_backend_ramdisk_config_write(union ctl_io *io); +static uint64_t ctl_backend_ramdisk_lun_attr(void *be_lun, const char *attrname); static int ctl_backend_ramdisk_ioctl(struct cdev *dev, u_long cmd, caddr_t addr, int flag, struct thread *td); static int ctl_backend_ramdisk_rm(struct ctl_be_ramdisk_softc *softc, @@ -121,12 +152,9 @@ static int ctl_backend_ramdisk_create(st struct ctl_lun_req *req); static int ctl_backend_ramdisk_modify(struct ctl_be_ramdisk_softc *softc, struct ctl_lun_req *req); -static void ctl_backend_ramdisk_worker(void *context, int pending); static void ctl_backend_ramdisk_lun_shutdown(void *be_lun); static void ctl_backend_ramdisk_lun_config_status(void *be_lun, ctl_lun_config_status status); -static int ctl_backend_ramdisk_config_write(union ctl_io *io); -static int ctl_backend_ramdisk_config_read(union ctl_io *io); static struct ctl_backend_driver ctl_be_ramdisk_driver = { @@ -138,36 +166,21 @@ static struct ctl_backend_driver ctl_be_ .data_move_done = ctl_backend_ramdisk_move_done, .config_read = ctl_backend_ramdisk_config_read, .config_write = ctl_backend_ramdisk_config_write, - .ioctl = ctl_backend_ramdisk_ioctl + .ioctl = ctl_backend_ramdisk_ioctl, + .lun_attr = ctl_backend_ramdisk_lun_attr, }; MALLOC_DEFINE(M_RAMDISK, "ramdisk", "Memory used for CTL RAMdisk"); CTL_BACKEND_DECLARE(cbr, ctl_be_ramdisk_driver); -int +static int ctl_backend_ramdisk_init(void) { struct ctl_be_ramdisk_softc *softc = &rd_softc; -#ifdef CTL_RAMDISK_PAGES - int i; -#endif memset(softc, 0, sizeof(*softc)); mtx_init(&softc->lock, "ctlramdisk", NULL, MTX_DEF); STAILQ_INIT(&softc->lun_list); - softc->rd_size = 1024 * 1024; -#ifdef CTL_RAMDISK_PAGES - softc->num_pages = softc->rd_size / PAGE_SIZE; - softc->ramdisk_pages = (uint8_t **)malloc(sizeof(uint8_t *) * - softc->num_pages, M_RAMDISK, - M_WAITOK); - for (i = 0; i < softc->num_pages; i++) - softc->ramdisk_pages[i] = malloc(PAGE_SIZE, M_RAMDISK,M_WAITOK); -#else - softc->ramdisk_buffer = (uint8_t *)malloc(softc->rd_size, M_RAMDISK, - M_WAITOK); -#endif - return (0); } @@ -176,9 +189,6 @@ ctl_backend_ramdisk_shutdown(void) { struct ctl_be_ramdisk_softc *softc = &rd_softc; struct ctl_be_ramdisk_lun *lun, *next_lun; -#ifdef CTL_RAMDISK_PAGES - int i; -#endif mtx_lock(&softc->lock); STAILQ_FOREACH_SAFE(lun, &softc->lun_list, links, next_lun) { @@ -193,30 +203,210 @@ ctl_backend_ramdisk_shutdown(void) mtx_lock(&softc->lock); } mtx_unlock(&softc->lock); - -#ifdef CTL_RAMDISK_PAGES - for (i = 0; i < softc->num_pages; i++) - free(softc->ramdisk_pages[i], M_RAMDISK); - free(softc->ramdisk_pages, M_RAMDISK); -#else - free(softc->ramdisk_buffer, M_RAMDISK); -#endif mtx_destroy(&softc->lock); return (0); } +static uint8_t * +ctl_backend_ramdisk_getpage(struct ctl_be_ramdisk_lun *be_lun, off_t pn, + getpage_op_t op) +{ + uint8_t **p, ***pp; + off_t i; + int s; + + if (be_lun->cap_bytes == 0) { + switch (op) { + case GP_READ: + return (be_lun->zero_page); + case GP_WRITE: + return ((uint8_t *)be_lun->pages); + case GP_ANCHOR: + return (P_ANCHORED); + default: + return (P_UNMAPPED); + } + } + if (op == GP_WRITE || op == GP_ANCHOR) { + sx_xlock(&be_lun->page_lock); + pp = &be_lun->pages; + for (s = (be_lun->indir - 1) * PPPS; s >= 0; s -= PPPS) { + if (*pp == NULL) { + *pp = malloc(PAGE_SIZE, M_RAMDISK, + M_WAITOK|M_ZERO); + } + i = pn >> s; + pp = (uint8_t ***)&(*pp)[i]; + pn -= i << s; + } + if (*pp == P_UNMAPPED && be_lun->cap_used < be_lun->cap_bytes) { + if (op == GP_WRITE) { + *pp = malloc(be_lun->pblocksize, M_RAMDISK, + M_WAITOK|M_ZERO); + } else + *pp = P_ANCHORED; + be_lun->cap_used += be_lun->pblocksize; + } else if (*pp == P_ANCHORED && op == GP_WRITE) { + *pp = malloc(be_lun->pblocksize, M_RAMDISK, + M_WAITOK|M_ZERO); + } + sx_xunlock(&be_lun->page_lock); + return ((uint8_t *)*pp); + } else { + sx_slock(&be_lun->page_lock); + p = be_lun->pages; + for (s = (be_lun->indir - 1) * PPPS; s >= 0; s -= PPPS) { + if (p == NULL) + break; + i = pn >> s; + p = (uint8_t **)p[i]; + pn -= i << s; + } + sx_sunlock(&be_lun->page_lock); + if ((p == P_UNMAPPED || p == P_ANCHORED) && op == GP_READ) + return (be_lun->zero_page); + return ((uint8_t *)p); + } +}; + +static void +ctl_backend_ramdisk_unmappage(struct ctl_be_ramdisk_lun *be_lun, off_t pn) +{ + uint8_t ***pp; + off_t i; + int s; + + if (be_lun->cap_bytes == 0) + return; + sx_xlock(&be_lun->page_lock); + pp = &be_lun->pages; + for (s = (be_lun->indir - 1) * PPPS; s >= 0; s -= PPPS) { + if (*pp == NULL) + goto noindir; + i = pn >> s; + pp = (uint8_t ***)&(*pp)[i]; + pn -= i << s; + } + if (*pp == P_ANCHORED) { + be_lun->cap_used -= be_lun->pblocksize; + *pp = P_UNMAPPED; + } else if (*pp != P_UNMAPPED) { + free(*pp, M_RAMDISK); + be_lun->cap_used -= be_lun->pblocksize; + *pp = P_UNMAPPED; + } +noindir: + sx_xunlock(&be_lun->page_lock); +}; + +static void +ctl_backend_ramdisk_anchorpage(struct ctl_be_ramdisk_lun *be_lun, off_t pn) +{ + uint8_t ***pp; + off_t i; + int s; + + if (be_lun->cap_bytes == 0) + return; + sx_xlock(&be_lun->page_lock); + pp = &be_lun->pages; + for (s = (be_lun->indir - 1) * PPPS; s >= 0; s -= PPPS) { + if (*pp == NULL) + goto noindir; + i = pn >> s; + pp = (uint8_t ***)&(*pp)[i]; + pn -= i << s; + } + if (*pp == P_UNMAPPED && be_lun->cap_used < be_lun->cap_bytes) { + be_lun->cap_used += be_lun->pblocksize; + *pp = P_ANCHORED; + } else if (*pp != P_ANCHORED) { + free(*pp, M_RAMDISK); + *pp = P_ANCHORED; + } +noindir: + sx_xunlock(&be_lun->page_lock); +}; + +static void +ctl_backend_ramdisk_freeallpages(uint8_t **p, int indir) +{ + int i; + + if (p == NULL) + return; + if (indir == 0) { + free(p, M_RAMDISK); + return; + } + for (i = 0; i < PPP; i++) { + if (p[i] == NULL) + continue; + ctl_backend_ramdisk_freeallpages((uint8_t **)p[i], indir - 1); + } + free(p, M_RAMDISK); +}; + +static size_t +cmp(uint8_t *a, uint8_t *b, size_t size) +{ + size_t i; + + for (i = 0; i < size; i++) { + if (a[i] != b[i]) + break; + } + return (i); +} + +static int +ctl_backend_ramdisk_cmp(union ctl_io *io) +{ + struct ctl_be_lun *cbe_lun = CTL_BACKEND_LUN(io); + struct ctl_be_ramdisk_lun *be_lun = cbe_lun->be_lun; + uint8_t *page; + uint8_t info[8]; + uint64_t lba; + u_int lbaoff, lbas, res, off; + + lbas = io->scsiio.kern_data_len / cbe_lun->blocksize; + lba = ARGS(io)->lba + PRIV(io)->len - lbas; + off = 0; + for (; lbas > 0; lbas--, lba++) { + page = ctl_backend_ramdisk_getpage(be_lun, + lba >> cbe_lun->pblockexp, GP_READ); + lbaoff = lba & ~(UINT_MAX << cbe_lun->pblockexp); + page += lbaoff * cbe_lun->blocksize; + res = cmp(io->scsiio.kern_data_ptr + off, page, + cbe_lun->blocksize); + off += res; + if (res < cbe_lun->blocksize) + break; + } + if (lbas > 0) { + off += io->scsiio.kern_rel_offset - io->scsiio.kern_data_len; + scsi_u64to8b(off, info); + ctl_set_sense(&io->scsiio, /*current_error*/ 1, + /*sense_key*/ SSD_KEY_MISCOMPARE, + /*asc*/ 0x1D, /*ascq*/ 0x00, + /*type*/ SSD_ELEM_INFO, + /*size*/ sizeof(info), /*data*/ &info, + /*type*/ SSD_ELEM_NONE); + return (1); + } + return (0); +} + static int ctl_backend_ramdisk_move_done(union ctl_io *io) { - struct ctl_be_lun *cbe_lun; - struct ctl_be_ramdisk_lun *be_lun; + struct ctl_be_lun *cbe_lun = CTL_BACKEND_LUN(io); + struct ctl_be_ramdisk_lun *be_lun = cbe_lun->be_lun; #ifdef CTL_TIME_IO struct bintime cur_bt; #endif CTL_DEBUG_PRINT(("ctl_backend_ramdisk_move_done\n")); - cbe_lun = CTL_BACKEND_LUN(io); - be_lun = (struct ctl_be_ramdisk_lun *)cbe_lun->be_lun; #ifdef CTL_TIME_IO getbinuptime(&cur_bt); bintime_sub(&cur_bt, &io->io_hdr.dma_start_bt); @@ -240,7 +430,12 @@ ctl_backend_ramdisk_move_done(union ctl_ ctl_set_invalid_field_ciu(&io->scsiio); } else if ((io->io_hdr.port_status == 0) && ((io->io_hdr.status & CTL_STATUS_MASK) == CTL_STATUS_NONE)) { - if (io->io_hdr.ctl_private[CTL_PRIV_BACKEND].integer > 0) { + if (ARGS(io)->flags & CTL_LLF_COMPARE) { + /* We have data block ready for comparison. */ + if (ctl_backend_ramdisk_cmp(io)) + goto done; + } + if (ARGS(io)->len > PRIV(io)->len) { mtx_lock(&be_lun->queue_lock); STAILQ_INSERT_TAIL(&be_lun->cont_queue, &io->io_hdr, links); @@ -251,75 +446,109 @@ ctl_backend_ramdisk_move_done(union ctl_ } ctl_set_success(&io->scsiio); } +done: ctl_data_submit_done(io); return(0); } -static int -ctl_backend_ramdisk_submit(union ctl_io *io) +static void +ctl_backend_ramdisk_compare(union ctl_io *io) { - struct ctl_be_lun *cbe_lun; - struct ctl_lba_len_flags *lbalen; + struct ctl_be_lun *cbe_lun = CTL_BACKEND_LUN(io); + u_int lbas, len; - cbe_lun = CTL_BACKEND_LUN(io); - lbalen = (struct ctl_lba_len_flags *)&io->io_hdr.ctl_private[CTL_PRIV_LBA_LEN]; - if (lbalen->flags & CTL_LLF_VERIFY) { - ctl_set_success(&io->scsiio); - ctl_data_submit_done(io); - return (CTL_RETVAL_COMPLETE); - } - io->io_hdr.ctl_private[CTL_PRIV_BACKEND].integer = - lbalen->len * cbe_lun->blocksize; - ctl_backend_ramdisk_continue(io); - return (CTL_RETVAL_COMPLETE); + lbas = ARGS(io)->len - PRIV(io)->len; + lbas = MIN(lbas, 131072 / cbe_lun->blocksize); + len = lbas * cbe_lun->blocksize; + + io->scsiio.be_move_done = ctl_backend_ramdisk_move_done; + io->scsiio.kern_data_ptr = malloc(len, M_RAMDISK, M_WAITOK); + io->scsiio.kern_data_len = len; + io->scsiio.kern_sg_entries = 0; + io->io_hdr.flags |= CTL_FLAG_ALLOCATED; + PRIV(io)->len += lbas; +#ifdef CTL_TIME_IO + getbinuptime(&io->io_hdr.dma_start_bt); +#endif + ctl_datamove(io); } static void -ctl_backend_ramdisk_continue(union ctl_io *io) +ctl_backend_ramdisk_rw(union ctl_io *io) { - struct ctl_be_ramdisk_softc *softc; - int len, len_filled, sg_filled; -#ifdef CTL_RAMDISK_PAGES + struct ctl_be_lun *cbe_lun = CTL_BACKEND_LUN(io); + struct ctl_be_ramdisk_lun *be_lun = cbe_lun->be_lun; struct ctl_sg_entry *sg_entries; - int i; -#endif - - softc = &rd_softc; - len = io->io_hdr.ctl_private[CTL_PRIV_BACKEND].integer; -#ifdef CTL_RAMDISK_PAGES - sg_filled = min(btoc(len), softc->num_pages); - if (sg_filled > 1) { + uint8_t *page; + uint64_t lba; + u_int i, len, lbaoff, lbas, sgs, off; + getpage_op_t op; + + lba = ARGS(io)->lba + PRIV(io)->len; + lbaoff = lba & ~(UINT_MAX << cbe_lun->pblockexp); + lbas = ARGS(io)->len - PRIV(io)->len; + lbas = MIN(lbas, (SGPP << cbe_lun->pblockexp) - lbaoff); + sgs = (lbas + lbaoff + be_lun->pblockmul - 1) >> cbe_lun->pblockexp; + off = lbaoff * cbe_lun->blocksize; + op = (ARGS(io)->flags & CTL_LLF_WRITE) ? GP_WRITE : GP_READ; + if (sgs > 1) { io->scsiio.kern_data_ptr = malloc(sizeof(struct ctl_sg_entry) * - sg_filled, M_RAMDISK, - M_WAITOK); + sgs, M_RAMDISK, M_WAITOK); sg_entries = (struct ctl_sg_entry *)io->scsiio.kern_data_ptr; - for (i = 0, len_filled = 0; i < sg_filled; i++) { - sg_entries[i].addr = softc->ramdisk_pages[i]; - sg_entries[i].len = MIN(PAGE_SIZE, len - len_filled); - len_filled += sg_entries[i].len; + len = lbas * cbe_lun->blocksize; + for (i = 0; i < sgs; i++) { + page = ctl_backend_ramdisk_getpage(be_lun, + (lba >> cbe_lun->pblockexp) + i, op); + if (page == P_UNMAPPED || page == P_ANCHORED) { + free(io->scsiio.kern_data_ptr, M_RAMDISK); +nospc: + ctl_set_space_alloc_fail(&io->scsiio); + ctl_data_submit_done(io); + return; + } + sg_entries[i].addr = page + off; + sg_entries[i].len = MIN(len, be_lun->pblocksize - off); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue Jan 24 23:41:26 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id CB759CC0512 for ; Tue, 24 Jan 2017 23:41:26 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id EFA71BC1; Tue, 24 Jan 2017 23:41:25 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0ONfPfU085965; Tue, 24 Jan 2017 23:41:25 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0ONfM2S085938; Tue, 24 Jan 2017 23:41:22 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701242341.v0ONfM2S085938@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Tue, 24 Jan 2017 23:41:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312727 - in projects/ipsec: . bin/chmod bin/pax cddl/lib/libdtrace cddl/usr.sbin/zfsd contrib/bsnmp/gensnmpdef contrib/bsnmp/gensnmptree contrib/bsnmp/lib contrib/bsnmp/snmp_mibII cont... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 24 Jan 2017 23:41:26 -0000 Author: ae Date: Tue Jan 24 23:41:20 2017 New Revision: 312727 URL: https://svnweb.freebsd.org/changeset/base/312727 Log: Merge from head/. Added: projects/ipsec/contrib/libarchive/libarchive/test/test_acl_pax_nfs4.tar.uu - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_acl_pax_nfs4.tar.uu projects/ipsec/contrib/libarchive/libarchive/test/test_acl_pax_posix1e.tar.uu - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_acl_pax_posix1e.tar.uu projects/ipsec/contrib/libarchive/libarchive/test/test_acl_text.c - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_acl_text.c projects/ipsec/contrib/libarchive/libarchive/test/test_compat_star_acl.c - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_compat_star_acl.c projects/ipsec/contrib/libarchive/libarchive/test/test_compat_star_acl_nfs4.tar.uu - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_compat_star_acl_nfs4.tar.uu projects/ipsec/contrib/libarchive/libarchive/test/test_read_pax_schily_xattr.c - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_read_pax_schily_xattr.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_pax_schily_xattr.tar.uu - copied unchanged from r312726, head/contrib/libarchive/libarchive/test/test_read_pax_schily_xattr.tar.uu projects/ipsec/contrib/mdocml/dba.c - copied unchanged from r312726, head/contrib/mdocml/dba.c projects/ipsec/contrib/mdocml/dba.h - copied unchanged from r312726, head/contrib/mdocml/dba.h projects/ipsec/contrib/mdocml/dba_array.c - copied unchanged from r312726, head/contrib/mdocml/dba_array.c projects/ipsec/contrib/mdocml/dba_array.h - copied unchanged from r312726, head/contrib/mdocml/dba_array.h projects/ipsec/contrib/mdocml/dba_read.c - copied unchanged from r312726, head/contrib/mdocml/dba_read.c projects/ipsec/contrib/mdocml/dba_write.c - copied unchanged from r312726, head/contrib/mdocml/dba_write.c projects/ipsec/contrib/mdocml/dba_write.h - copied unchanged from r312726, head/contrib/mdocml/dba_write.h projects/ipsec/contrib/mdocml/dbm.c - copied unchanged from r312726, head/contrib/mdocml/dbm.c projects/ipsec/contrib/mdocml/dbm.h - copied unchanged from r312726, head/contrib/mdocml/dbm.h projects/ipsec/contrib/mdocml/dbm_map.c - copied unchanged from r312726, head/contrib/mdocml/dbm_map.c projects/ipsec/contrib/mdocml/dbm_map.h - copied unchanged from r312726, head/contrib/mdocml/dbm_map.h projects/ipsec/contrib/mdocml/test-EFTYPE.c - copied unchanged from r312726, head/contrib/mdocml/test-EFTYPE.c projects/ipsec/contrib/mdocml/test-PATH_MAX.c - copied unchanged from r312726, head/contrib/mdocml/test-PATH_MAX.c projects/ipsec/contrib/mdocml/test-be32toh.c - copied unchanged from r312726, head/contrib/mdocml/test-be32toh.c projects/ipsec/contrib/mdocml/test-nanosleep.c - copied unchanged from r312726, head/contrib/mdocml/test-nanosleep.c projects/ipsec/contrib/mdocml/test-ntohl.c - copied unchanged from r312726, head/contrib/mdocml/test-ntohl.c projects/ipsec/contrib/mdocml/test-sandbox_init.c - copied unchanged from r312726, head/contrib/mdocml/test-sandbox_init.c projects/ipsec/contrib/netbsd-tests/dev/cgd/t_cgd_3des.c - copied unchanged from r312726, head/contrib/netbsd-tests/dev/cgd/t_cgd_3des.c projects/ipsec/contrib/netbsd-tests/dev/cgd/t_cgd_aes.c - copied unchanged from r312726, head/contrib/netbsd-tests/dev/cgd/t_cgd_aes.c projects/ipsec/contrib/netbsd-tests/dev/cgd/t_cgd_blowfish.c - copied unchanged from r312726, head/contrib/netbsd-tests/dev/cgd/t_cgd_blowfish.c projects/ipsec/contrib/netbsd-tests/kernel/msg.h - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/msg.h projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace.c projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_wait.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_wait.c projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_wait.h - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_wait.h projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_wait3.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_wait3.c projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_wait4.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_wait4.c projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_wait6.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_wait6.c projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_waitid.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_waitid.c projects/ipsec/contrib/netbsd-tests/kernel/t_ptrace_waitpid.c - copied unchanged from r312726, head/contrib/netbsd-tests/kernel/t_ptrace_waitpid.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_clock_nanosleep.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libc/sys/t_clock_nanosleep.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_wait_noproc.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libc/sys/t_wait_noproc.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_wait_noproc_wnohang.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libc/sys/t_wait_noproc_wnohang.c projects/ipsec/contrib/netbsd-tests/lib/libm/t_casinh.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libm/t_casinh.c projects/ipsec/contrib/netbsd-tests/lib/libm/t_fe_round.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libm/t_fe_round.c projects/ipsec/contrib/netbsd-tests/lib/libm/t_ilogb.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libm/t_ilogb.c projects/ipsec/contrib/netbsd-tests/lib/libpthread/t_timedmutex.c - copied unchanged from r312726, head/contrib/netbsd-tests/lib/libpthread/t_timedmutex.c projects/ipsec/contrib/netbsd-tests/net/net/t_mtudisc.sh - copied unchanged from r312726, head/contrib/netbsd-tests/net/net/t_mtudisc.sh projects/ipsec/contrib/netbsd-tests/net/net/t_mtudisc6.sh - copied unchanged from r312726, head/contrib/netbsd-tests/net/net/t_mtudisc6.sh projects/ipsec/contrib/netbsd-tests/net/net/t_ping6_opts.sh - copied unchanged from r312726, head/contrib/netbsd-tests/net/net/t_ping6_opts.sh projects/ipsec/contrib/netbsd-tests/net/net_common.sh - copied unchanged from r312726, head/contrib/netbsd-tests/net/net_common.sh projects/ipsec/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_union.c - copied unchanged from r312726, head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_anon_union.c projects/ipsec/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_cast.c - copied unchanged from r312726, head/contrib/netbsd-tests/usr.bin/xlint/lint1/d_c99_union_cast.c - copied from r312726, head/contrib/zlib/ projects/ipsec/lib/libc/stdlib/cxa_thread_atexit_impl.c - copied unchanged from r312726, head/lib/libc/stdlib/cxa_thread_atexit_impl.c projects/ipsec/share/man/man4/mlx4ib.4 - copied unchanged from r312726, head/share/man/man4/mlx4ib.4 projects/ipsec/sys/arm/allwinner/a33/ - copied from r312726, head/sys/arm/allwinner/a33/ projects/ipsec/sys/boot/fdt/dts/arm/armada-385-db-ap.dts - copied unchanged from r312726, head/sys/boot/fdt/dts/arm/armada-385-db-ap.dts projects/ipsec/sys/boot/fdt/dts/arm/armada-388-clearfog.dts - copied unchanged from r312726, head/sys/boot/fdt/dts/arm/armada-388-clearfog.dts projects/ipsec/sys/boot/fdt/dts/arm/armada-38x-solidrun-microsom.dtsi - copied unchanged from r312726, head/sys/boot/fdt/dts/arm/armada-38x-solidrun-microsom.dtsi projects/ipsec/sys/contrib/ck/include/gcc/aarch64/ck_pr_llsc.h - copied unchanged from r312726, head/sys/contrib/ck/include/gcc/aarch64/ck_pr_llsc.h projects/ipsec/sys/contrib/ck/include/gcc/aarch64/ck_pr_lse.h - copied unchanged from r312726, head/sys/contrib/ck/include/gcc/aarch64/ck_pr_lse.h projects/ipsec/sys/contrib/dev/acpica/os_specific/service_layers/osgendbg.c - copied unchanged from r312726, head/sys/contrib/dev/acpica/os_specific/service_layers/osgendbg.c projects/ipsec/sys/contrib/dev/rtwn/rtwn-rtl8192eufw.fw.uu - copied unchanged from r312726, head/sys/contrib/dev/rtwn/rtwn-rtl8192eufw.fw.uu projects/ipsec/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu - copied unchanged from r312726, head/sys/dev/cxgbe/firmware/t4fw-1.16.26.0.bin.uu projects/ipsec/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu - copied unchanged from r312726, head/sys/dev/cxgbe/firmware/t5fw-1.16.26.0.bin.uu projects/ipsec/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu - copied unchanged from r312726, head/sys/dev/cxgbe/firmware/t6fw-1.16.26.0.bin.uu projects/ipsec/sys/dev/e1000/em_txrx.c - copied unchanged from r312726, head/sys/dev/e1000/em_txrx.c projects/ipsec/sys/dev/e1000/igb_txrx.c - copied unchanged from r312726, head/sys/dev/e1000/igb_txrx.c projects/ipsec/sys/dev/etherswitch/micrel/ - copied from r312726, head/sys/dev/etherswitch/micrel/ projects/ipsec/sys/dev/gpio/gpioths.c - copied unchanged from r312726, head/sys/dev/gpio/gpioths.c projects/ipsec/sys/dev/intel/ - copied from r312726, head/sys/dev/intel/ projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_llt.c - copied unchanged from r312726, head/sys/dev/rtwn/rtl8192c/r92c_llt.c projects/ipsec/sys/dev/rtwn/rtl8192e/ - copied from r312726, head/sys/dev/rtwn/rtl8192e/ projects/ipsec/sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c - copied unchanged from r312726, head/sys/dev/rtwn/rtl8821a/usb/r21au_dfs.c projects/ipsec/sys/dev/sdhci/sdhci_acpi.c - copied unchanged from r312726, head/sys/dev/sdhci/sdhci_acpi.c projects/ipsec/sys/dev/sdhci/sdhci_fdt_gpio.c - copied unchanged from r312726, head/sys/dev/sdhci/sdhci_fdt_gpio.c projects/ipsec/sys/dev/sdhci/sdhci_fdt_gpio.h - copied unchanged from r312726, head/sys/dev/sdhci/sdhci_fdt_gpio.h projects/ipsec/sys/modules/intelspi/ - copied from r312726, head/sys/modules/intelspi/ projects/ipsec/sys/modules/rtwnfw/rtwnrtl8192eu/ - copied from r312726, head/sys/modules/rtwnfw/rtwnrtl8192eu/ projects/ipsec/sys/modules/sdhci_acpi/ - copied from r312726, head/sys/modules/sdhci_acpi/ projects/ipsec/sys/net80211/ieee80211_vht.c - copied unchanged from r312726, head/sys/net80211/ieee80211_vht.c projects/ipsec/sys/net80211/ieee80211_vht.h - copied unchanged from r312726, head/sys/net80211/ieee80211_vht.h projects/ipsec/tests/sys/Makefile.inc - copied unchanged from r312726, head/tests/sys/Makefile.inc projects/ipsec/tests/sys/fs/Makefile.inc - copied unchanged from r312726, head/tests/sys/fs/Makefile.inc projects/ipsec/tests/sys/geom/class/eli/init_alias_test.sh - copied unchanged from r312726, head/tests/sys/geom/class/eli/init_alias_test.sh projects/ipsec/tests/sys/geom/class/gate/ggate_test.sh - copied unchanged from r312726, head/tests/sys/geom/class/gate/ggate_test.sh projects/ipsec/tests/sys/geom/class/nop/nop_test.sh - copied unchanged from r312726, head/tests/sys/geom/class/nop/nop_test.sh projects/ipsec/tests/sys/kern/Makefile.inc - copied unchanged from r312726, head/tests/sys/kern/Makefile.inc projects/ipsec/tests/sys/kqueue/Makefile.inc - copied unchanged from r312726, head/tests/sys/kqueue/Makefile.inc projects/ipsec/tests/sys/mac/Makefile.inc - copied unchanged from r312726, head/tests/sys/mac/Makefile.inc projects/ipsec/tools/build/options/WITHOUT_EFI - copied unchanged from r312726, head/tools/build/options/WITHOUT_EFI projects/ipsec/tools/build/options/WITH_EFI - copied unchanged from r312726, head/tools/build/options/WITH_EFI projects/ipsec/tools/build/options/WITH_SSP - copied unchanged from r312726, head/tools/build/options/WITH_SSP projects/ipsec/tools/regression/sockets/udp_pingpong/ - copied from r312726, head/tools/regression/sockets/udp_pingpong/ projects/ipsec/tools/tools/gensnmpdef/ - copied from r312726, head/tools/tools/gensnmpdef/ projects/ipsec/usr.bin/cmp/tests/cmp_test2.sh - copied unchanged from r312726, head/usr.bin/cmp/tests/cmp_test2.sh projects/ipsec/usr.bin/cut/tests/cut2_test.sh - copied unchanged from r312726, head/usr.bin/cut/tests/cut2_test.sh projects/ipsec/usr.bin/sed/tests/sed2_test.sh - copied unchanged from r312726, head/usr.bin/sed/tests/sed2_test.sh projects/ipsec/usr.bin/tail/tests/ - copied from r312726, head/usr.bin/tail/tests/ projects/ipsec/usr.bin/truss/riscv64-freebsd.c - copied unchanged from r312726, head/usr.bin/truss/riscv64-freebsd.c projects/ipsec/usr.sbin/fstyp/exfat.c - copied unchanged from r312726, head/usr.sbin/fstyp/exfat.c projects/ipsec/usr.sbin/fstyp/tests/dfr-01-xfat.img.bz2 - copied unchanged from r312726, head/usr.sbin/fstyp/tests/dfr-01-xfat.img.bz2 Directory Properties: projects/ipsec/contrib/zlib/ (props changed) Deleted: projects/ipsec/contrib/libarchive/libarchive/test/test_acl_pax.tar.uu projects/ipsec/contrib/libarchive/libarchive/test/test_compat_star_acl_posix1e.c projects/ipsec/contrib/mdocml/compat_sqlite3_errstr.c projects/ipsec/contrib/mdocml/config.log projects/ipsec/contrib/mdocml/mansearch_const.c projects/ipsec/contrib/mdocml/test-mmap.c projects/ipsec/contrib/mdocml/test-sqlite3.c projects/ipsec/contrib/mdocml/test-sqlite3_errstr.c projects/ipsec/contrib/netbsd-tests/fs/nfs/nfsservice/rpcbind/ projects/ipsec/lib/libprocstat/Versions.def projects/ipsec/lib/libz/ChangeLog projects/ipsec/lib/libz/FAQ projects/ipsec/lib/libz/README projects/ipsec/lib/libz/adler32.c projects/ipsec/lib/libz/compress.c projects/ipsec/lib/libz/contrib/ projects/ipsec/lib/libz/crc32.c projects/ipsec/lib/libz/crc32.h projects/ipsec/lib/libz/deflate.c projects/ipsec/lib/libz/deflate.h projects/ipsec/lib/libz/doc/ projects/ipsec/lib/libz/gzclose.c projects/ipsec/lib/libz/gzguts.h projects/ipsec/lib/libz/gzlib.c projects/ipsec/lib/libz/gzread.c projects/ipsec/lib/libz/gzwrite.c projects/ipsec/lib/libz/infback.c projects/ipsec/lib/libz/inffast.c projects/ipsec/lib/libz/inffast.h projects/ipsec/lib/libz/inffixed.h projects/ipsec/lib/libz/inflate.c projects/ipsec/lib/libz/inflate.h projects/ipsec/lib/libz/inftrees.c projects/ipsec/lib/libz/inftrees.h projects/ipsec/lib/libz/test/ projects/ipsec/lib/libz/trees.c projects/ipsec/lib/libz/trees.h projects/ipsec/lib/libz/uncompr.c projects/ipsec/lib/libz/zconf.h projects/ipsec/lib/libz/zlib.3 projects/ipsec/lib/libz/zlib.h projects/ipsec/lib/libz/zutil.c projects/ipsec/lib/libz/zutil.h projects/ipsec/sys/arm/include/cpuconf.h projects/ipsec/sys/boot/fdt/dts/arm/ubmc.dtsi projects/ipsec/sys/contrib/ck/src/Makefile.in projects/ipsec/sys/dev/cxgbe/firmware/t4fw-1.16.22.0.bin.uu projects/ipsec/sys/dev/cxgbe/firmware/t5fw-1.16.22.0.bin.uu projects/ipsec/sys/dev/cxgbe/firmware/t6fw-1.16.22.0.bin.uu projects/ipsec/sys/dev/e1000/if_igb.c projects/ipsec/sys/dev/e1000/if_igb.h projects/ipsec/sys/dev/e1000/if_lem.c projects/ipsec/sys/dev/e1000/if_lem.h projects/ipsec/sys/dev/sfxge/common/efx_wol.c projects/ipsec/sys/dev/sfxge/common/hunt_phy.c projects/ipsec/sys/modules/igb/ projects/ipsec/tests/sys/geom/class/gate/1_test.sh projects/ipsec/tests/sys/geom/class/gate/2_test.sh projects/ipsec/tests/sys/geom/class/gate/3_test.sh projects/ipsec/tests/sys/geom/class/gate/conf.sh projects/ipsec/tests/sys/geom/class/nop/1_test.sh projects/ipsec/tests/sys/geom/class/nop/2_test.sh projects/ipsec/tests/sys/geom/class/nop/conf.sh Modified: projects/ipsec/COPYRIGHT projects/ipsec/Makefile.inc1 projects/ipsec/Makefile.libcompat projects/ipsec/ObsoleteFiles.inc projects/ipsec/UPDATING projects/ipsec/bin/chmod/chmod.1 projects/ipsec/bin/chmod/chmod.c projects/ipsec/bin/pax/gen_subs.c projects/ipsec/cddl/lib/libdtrace/ip.d projects/ipsec/cddl/usr.sbin/zfsd/case_file.cc projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.1 projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.c projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.1 projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.c projects/ipsec/contrib/bsnmp/lib/asn1.3 projects/ipsec/contrib/bsnmp/lib/asn1.c projects/ipsec/contrib/bsnmp/lib/asn1.h projects/ipsec/contrib/bsnmp/lib/bsnmpagent.3 projects/ipsec/contrib/bsnmp/lib/bsnmpclient.3 projects/ipsec/contrib/bsnmp/lib/bsnmplib.3 projects/ipsec/contrib/bsnmp/lib/snmp.c projects/ipsec/contrib/bsnmp/lib/snmp.h projects/ipsec/contrib/bsnmp/lib/snmpagent.c projects/ipsec/contrib/bsnmp/lib/snmpagent.h projects/ipsec/contrib/bsnmp/lib/snmpclient.c projects/ipsec/contrib/bsnmp/lib/snmpclient.h projects/ipsec/contrib/bsnmp/lib/snmpcrypto.c projects/ipsec/contrib/bsnmp/lib/snmppriv.h projects/ipsec/contrib/bsnmp/lib/support.c projects/ipsec/contrib/bsnmp/lib/support.h projects/ipsec/contrib/bsnmp/snmp_mibII/BEGEMOT-IP-MIB.txt projects/ipsec/contrib/bsnmp/snmp_mibII/mibII.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII.h projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_begemot.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_ifmib.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_ifstack.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_interfaces.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_ip.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_ipaddr.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_nettomedia.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_rcvaddr.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_route.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_tcp.c projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_tree.def projects/ipsec/contrib/bsnmp/snmp_mibII/mibII_udp.c projects/ipsec/contrib/bsnmp/snmp_mibII/snmp_mibII.3 projects/ipsec/contrib/bsnmp/snmp_mibII/snmp_mibII.h projects/ipsec/contrib/bsnmp/snmp_ntp/NTP-MIB.txt projects/ipsec/contrib/bsnmp/snmp_ntp/NTP-PROXY-MIB.txt projects/ipsec/contrib/bsnmp/snmp_target/snmp_target.3 projects/ipsec/contrib/bsnmp/snmp_usm/snmp_usm.3 projects/ipsec/contrib/bsnmp/snmp_usm/usm_snmp.c projects/ipsec/contrib/bsnmp/snmp_vacm/snmp_vacm.3 projects/ipsec/contrib/bsnmp/snmp_vacm/vacm_snmp.c projects/ipsec/contrib/bsnmp/snmpd/BEGEMOT-MIB.txt projects/ipsec/contrib/bsnmp/snmpd/BEGEMOT-SNMPD.txt projects/ipsec/contrib/bsnmp/snmpd/FOKUS-MIB.txt projects/ipsec/contrib/bsnmp/snmpd/action.c projects/ipsec/contrib/bsnmp/snmpd/config.c projects/ipsec/contrib/bsnmp/snmpd/export.c projects/ipsec/contrib/bsnmp/snmpd/main.c projects/ipsec/contrib/bsnmp/snmpd/snmpd.config projects/ipsec/contrib/bsnmp/snmpd/snmpd.h projects/ipsec/contrib/bsnmp/snmpd/snmpd.sh projects/ipsec/contrib/bsnmp/snmpd/snmpmod.3 projects/ipsec/contrib/bsnmp/snmpd/snmpmod.h projects/ipsec/contrib/bsnmp/snmpd/trans_lsock.c projects/ipsec/contrib/bsnmp/snmpd/trans_lsock.h projects/ipsec/contrib/bsnmp/snmpd/trans_udp.c projects/ipsec/contrib/bsnmp/snmpd/trans_udp.h projects/ipsec/contrib/bsnmp/snmpd/trap.c projects/ipsec/contrib/bsnmp/snmpd/tree.def projects/ipsec/contrib/bzip2/bzip2.c projects/ipsec/contrib/elftoolchain/elfcopy/pe.c projects/ipsec/contrib/elftoolchain/libdwarf/dwarf_attrval.c projects/ipsec/contrib/elftoolchain/libdwarf/dwarf_attrval_signed.3 projects/ipsec/contrib/elftoolchain/libelftc/elftc_reloc_type_str.c projects/ipsec/contrib/libarchive/NEWS projects/ipsec/contrib/libarchive/cpio/cpio.c projects/ipsec/contrib/libarchive/libarchive/archive_acl.c projects/ipsec/contrib/libarchive/libarchive/archive_acl_private.h projects/ipsec/contrib/libarchive/libarchive/archive_entry.c projects/ipsec/contrib/libarchive/libarchive/archive_entry.h projects/ipsec/contrib/libarchive/libarchive/archive_entry_acl.3 projects/ipsec/contrib/libarchive/libarchive/archive_entry_locale.h projects/ipsec/contrib/libarchive/libarchive/archive_match.c projects/ipsec/contrib/libarchive/libarchive/archive_rb.c projects/ipsec/contrib/libarchive/libarchive/archive_read_disk.3 projects/ipsec/contrib/libarchive/libarchive/archive_read_disk_entry_from_file.c projects/ipsec/contrib/libarchive/libarchive/archive_read_disk_posix.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_filter_lz4.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_filter_lzop.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_7zip.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_iso9660.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_lha.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_rar.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_tar.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_warc.c projects/ipsec/contrib/libarchive/libarchive/archive_read_support_format_zip.c projects/ipsec/contrib/libarchive/libarchive/archive_string.c projects/ipsec/contrib/libarchive/libarchive/archive_string.h projects/ipsec/contrib/libarchive/libarchive/archive_string_composition.h projects/ipsec/contrib/libarchive/libarchive/archive_write.c projects/ipsec/contrib/libarchive/libarchive/archive_write_add_filter_xz.c projects/ipsec/contrib/libarchive/libarchive/archive_write_disk_acl.c projects/ipsec/contrib/libarchive/libarchive/archive_write_disk_posix.c projects/ipsec/contrib/libarchive/libarchive/archive_write_set_format_7zip.c projects/ipsec/contrib/libarchive/libarchive/archive_write_set_format_iso9660.c projects/ipsec/contrib/libarchive/libarchive/archive_write_set_format_pax.c projects/ipsec/contrib/libarchive/libarchive/archive_write_set_format_warc.c projects/ipsec/contrib/libarchive/libarchive/archive_write_set_format_xar.c projects/ipsec/contrib/libarchive/libarchive/archive_write_set_format_zip.c projects/ipsec/contrib/libarchive/libarchive/libarchive-formats.5 projects/ipsec/contrib/libarchive/libarchive/tar.5 projects/ipsec/contrib/libarchive/libarchive/test/main.c projects/ipsec/contrib/libarchive/libarchive/test/test.h projects/ipsec/contrib/libarchive/libarchive/test/test_acl_freebsd_nfs4.c projects/ipsec/contrib/libarchive/libarchive/test/test_acl_freebsd_posix1e.c projects/ipsec/contrib/libarchive/libarchive/test/test_acl_nfs4.c projects/ipsec/contrib/libarchive/libarchive/test/test_acl_pax.c projects/ipsec/contrib/libarchive/libarchive/test/test_acl_posix1e.c projects/ipsec/contrib/libarchive/libarchive/test/test_archive_read_add_passphrase.c projects/ipsec/contrib/libarchive/libarchive/test/test_compat_uudecode.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_7zip.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_cpio_afio.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_isorr_bz2.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_zip_filename.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_zip_traditional_encryption_data.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes.c projects/ipsec/contrib/libarchive/libarchive/test/test_read_format_zip_winzip_aes_large.c projects/ipsec/contrib/libarchive/libarchive/test/test_sparse_basic.c projects/ipsec/contrib/libarchive/libarchive/test/test_write_format_iso9660.c projects/ipsec/contrib/libarchive/libarchive/test/test_write_format_iso9660_zisofs.c projects/ipsec/contrib/libarchive/libarchive/xxhash.c projects/ipsec/contrib/llvm/projects/libunwind/src/UnwindRegistersRestore.S projects/ipsec/contrib/llvm/projects/libunwind/src/UnwindRegistersSave.S projects/ipsec/contrib/mdocml/INSTALL projects/ipsec/contrib/mdocml/LICENSE projects/ipsec/contrib/mdocml/Makefile projects/ipsec/contrib/mdocml/Makefile.depend projects/ipsec/contrib/mdocml/TODO projects/ipsec/contrib/mdocml/cgi.c projects/ipsec/contrib/mdocml/compat_fts.c projects/ipsec/contrib/mdocml/compat_fts.h projects/ipsec/contrib/mdocml/config.h projects/ipsec/contrib/mdocml/configure projects/ipsec/contrib/mdocml/configure.local.example projects/ipsec/contrib/mdocml/demandoc.c projects/ipsec/contrib/mdocml/eqn_html.c projects/ipsec/contrib/mdocml/html.c projects/ipsec/contrib/mdocml/html.h projects/ipsec/contrib/mdocml/lib.in projects/ipsec/contrib/mdocml/libmandoc.h projects/ipsec/contrib/mdocml/main.c projects/ipsec/contrib/mdocml/main.h projects/ipsec/contrib/mdocml/makewhatis.8 projects/ipsec/contrib/mdocml/man.1 projects/ipsec/contrib/mdocml/man.c projects/ipsec/contrib/mdocml/man.conf.5 projects/ipsec/contrib/mdocml/man_hash.c projects/ipsec/contrib/mdocml/man_html.c projects/ipsec/contrib/mdocml/man_macro.c projects/ipsec/contrib/mdocml/man_term.c projects/ipsec/contrib/mdocml/mandoc.1 projects/ipsec/contrib/mdocml/mandoc.3 projects/ipsec/contrib/mdocml/mandoc.css projects/ipsec/contrib/mdocml/mandoc.db.5 projects/ipsec/contrib/mdocml/mandoc.h projects/ipsec/contrib/mdocml/mandoc_aux.h projects/ipsec/contrib/mdocml/mandoc_html.3 projects/ipsec/contrib/mdocml/mandocdb.c projects/ipsec/contrib/mdocml/manpath.c projects/ipsec/contrib/mdocml/mansearch.c projects/ipsec/contrib/mdocml/mansearch.h projects/ipsec/contrib/mdocml/mdoc.7 projects/ipsec/contrib/mdocml/mdoc.c projects/ipsec/contrib/mdocml/mdoc_argv.c projects/ipsec/contrib/mdocml/mdoc_hash.c projects/ipsec/contrib/mdocml/mdoc_html.c projects/ipsec/contrib/mdocml/mdoc_macro.c projects/ipsec/contrib/mdocml/mdoc_man.c projects/ipsec/contrib/mdocml/mdoc_state.c projects/ipsec/contrib/mdocml/mdoc_term.c projects/ipsec/contrib/mdocml/mdoc_validate.c projects/ipsec/contrib/mdocml/read.c projects/ipsec/contrib/mdocml/roff.c projects/ipsec/contrib/mdocml/roff.h projects/ipsec/contrib/mdocml/tag.c projects/ipsec/contrib/mdocml/tbl_html.c projects/ipsec/contrib/mdocml/term.c projects/ipsec/contrib/mdocml/term_ascii.c projects/ipsec/contrib/mdocml/term_ps.c projects/ipsec/contrib/mdocml/test-fts.c projects/ipsec/contrib/mdocml/test-ohash.c projects/ipsec/contrib/mdocml/test-vasprintf.c projects/ipsec/contrib/mdocml/test-wchar.c projects/ipsec/contrib/mdocml/tree.c projects/ipsec/contrib/mtree/create.c projects/ipsec/contrib/mtree/spec.c projects/ipsec/contrib/mtree/specspec.c projects/ipsec/contrib/netbsd-tests/crypto/libcrypto/t_libcrypto.sh projects/ipsec/contrib/netbsd-tests/crypto/libcrypto/t_pubkey.sh projects/ipsec/contrib/netbsd-tests/dev/audio/h_pad.c projects/ipsec/contrib/netbsd-tests/dev/audio/t_pad_output.bz2.uue projects/ipsec/contrib/netbsd-tests/fs/ffs/ffs_common.sh projects/ipsec/contrib/netbsd-tests/fs/fifofs/t_fifo.c projects/ipsec/contrib/netbsd-tests/fs/psshfs/t_psshfs.sh projects/ipsec/contrib/netbsd-tests/fs/puffs/t_basic.c projects/ipsec/contrib/netbsd-tests/fs/tmpfs/h_tools.c projects/ipsec/contrib/netbsd-tests/fs/vfs/t_vnops.c projects/ipsec/contrib/netbsd-tests/h_macros.h projects/ipsec/contrib/netbsd-tests/kernel/t_mqueue.c projects/ipsec/contrib/netbsd-tests/lib/libc/arch/sparc64/exec_prot_support.c projects/ipsec/contrib/netbsd-tests/lib/libc/arch/sparc64/return_one.S projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_faccessat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_fchmodat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_fchownat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_fexecve.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_fstatat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_mkfifoat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_mknodat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_o_search.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_openat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_readlinkat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_unlinkat.c projects/ipsec/contrib/netbsd-tests/lib/libc/c063/t_utimensat.c projects/ipsec/contrib/netbsd-tests/lib/libc/db/h_db.c projects/ipsec/contrib/netbsd-tests/lib/libc/db/t_db.sh projects/ipsec/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_fileactions.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/posix_spawn/t_spawnattr.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_assert.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_dir.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_fnmatch.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_ftok.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_humanize_number.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_raise.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_setdomainname.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_sethostname.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_sleep.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_time.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_ttyname.c projects/ipsec/contrib/netbsd-tests/lib/libc/gen/t_vis.c projects/ipsec/contrib/netbsd-tests/lib/libc/regex/debug.c projects/ipsec/contrib/netbsd-tests/lib/libc/rpc/t_rpc.c projects/ipsec/contrib/netbsd-tests/lib/libc/stdio/t_printf.c projects/ipsec/contrib/netbsd-tests/lib/libc/stdlib/t_strtod.c projects/ipsec/contrib/netbsd-tests/lib/libc/string/t_memcpy.c projects/ipsec/contrib/netbsd-tests/lib/libc/string/t_memmem.c projects/ipsec/contrib/netbsd-tests/lib/libc/string/t_strchr.c projects/ipsec/contrib/netbsd-tests/lib/libc/string/t_strerror.c projects/ipsec/contrib/netbsd-tests/lib/libc/string/t_strlen.c projects/ipsec/contrib/netbsd-tests/lib/libc/sync/cpp_atomic_ops_linkable.cc projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_access.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_chroot.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_getrusage.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_kevent.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_listen.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_mincore.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_mmap.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_pipe.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_revoke.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_select.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_setrlimit.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_stat.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_umask.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_unlink.c projects/ipsec/contrib/netbsd-tests/lib/libc/sys/t_wait.c projects/ipsec/contrib/netbsd-tests/lib/libc/t_cdb.c projects/ipsec/contrib/netbsd-tests/lib/libc/ttyio/t_ttyio.c projects/ipsec/contrib/netbsd-tests/lib/libm/t_ldexp.c projects/ipsec/contrib/netbsd-tests/lib/libm/t_precision.c projects/ipsec/contrib/netbsd-tests/lib/libpthread/h_common.h projects/ipsec/contrib/netbsd-tests/lib/libpthread/t_condwait.c projects/ipsec/contrib/netbsd-tests/lib/libpthread/t_fpu.c projects/ipsec/contrib/netbsd-tests/lib/libpthread/t_mutex.c projects/ipsec/contrib/netbsd-tests/lib/libpthread/t_swapcontext.c projects/ipsec/contrib/netbsd-tests/lib/librumpclient/h_execthr.c projects/ipsec/contrib/netbsd-tests/lib/librumphijack/t_tcpip.sh projects/ipsec/contrib/netbsd-tests/lib/libusbhid/t_usbhid.c projects/ipsec/contrib/netbsd-tests/net/arp/t_arp.sh projects/ipsec/contrib/netbsd-tests/net/arp/t_dad.sh projects/ipsec/contrib/netbsd-tests/net/icmp/t_icmp6_redirect.sh projects/ipsec/contrib/netbsd-tests/net/icmp/t_icmp_redirect.sh projects/ipsec/contrib/netbsd-tests/net/if/t_compat.c projects/ipsec/contrib/netbsd-tests/net/if/t_ifconfig.sh projects/ipsec/contrib/netbsd-tests/net/if_bridge/t_bridge.sh projects/ipsec/contrib/netbsd-tests/net/if_gif/t_gif.sh projects/ipsec/contrib/netbsd-tests/net/if_pppoe/t_pppoe.sh projects/ipsec/contrib/netbsd-tests/net/if_tap/t_tap.sh projects/ipsec/contrib/netbsd-tests/net/mcast/t_mcast.sh projects/ipsec/contrib/netbsd-tests/net/ndp/t_dad.sh projects/ipsec/contrib/netbsd-tests/net/ndp/t_ndp.sh projects/ipsec/contrib/netbsd-tests/net/ndp/t_ra.sh projects/ipsec/contrib/netbsd-tests/net/net/t_forwarding.sh projects/ipsec/contrib/netbsd-tests/net/net/t_ipaddress.sh projects/ipsec/contrib/netbsd-tests/net/net/t_ipv6_lifetime.sh projects/ipsec/contrib/netbsd-tests/net/net/t_ipv6address.sh projects/ipsec/contrib/netbsd-tests/net/route/t_change.sh projects/ipsec/contrib/netbsd-tests/net/route/t_flags.sh projects/ipsec/contrib/netbsd-tests/net/route/t_flags6.sh projects/ipsec/contrib/netbsd-tests/net/route/t_route.sh projects/ipsec/contrib/netbsd-tests/rump/modautoload/t_modautoload.c projects/ipsec/contrib/netbsd-tests/rump/rumpkern/t_lwproc.c projects/ipsec/contrib/netbsd-tests/sys/net/t_print.c projects/ipsec/contrib/netbsd-tests/usr.bin/config/t_config.sh projects/ipsec/contrib/netbsd-tests/usr.bin/netpgpverify/t_netpgpverify.sh projects/ipsec/contrib/ngatm/snmp_atm/snmp_atm.c projects/ipsec/contrib/tcp_wrappers/scaffold.c projects/ipsec/contrib/tcp_wrappers/tcpd.h projects/ipsec/contrib/tcpdump/print-tcp.c projects/ipsec/contrib/xz/ChangeLog projects/ipsec/contrib/xz/THANKS projects/ipsec/contrib/xz/src/common/tuklib_cpucores.c projects/ipsec/contrib/xz/src/common/tuklib_physmem.c projects/ipsec/contrib/xz/src/liblzma/api/lzma/version.h projects/ipsec/contrib/xz/src/liblzma/check/check.h projects/ipsec/contrib/xz/src/liblzma/common/alone_decoder.c projects/ipsec/contrib/xz/src/liblzma/common/alone_encoder.c projects/ipsec/contrib/xz/src/liblzma/common/auto_decoder.c projects/ipsec/contrib/xz/src/liblzma/common/block_decoder.c projects/ipsec/contrib/xz/src/liblzma/common/block_encoder.c projects/ipsec/contrib/xz/src/liblzma/common/common.h projects/ipsec/contrib/xz/src/liblzma/common/index.c projects/ipsec/contrib/xz/src/liblzma/common/index_decoder.c projects/ipsec/contrib/xz/src/liblzma/common/index_encoder.c projects/ipsec/contrib/xz/src/liblzma/common/stream_decoder.c projects/ipsec/contrib/xz/src/liblzma/common/stream_encoder.c projects/ipsec/contrib/xz/src/liblzma/common/stream_encoder_mt.c projects/ipsec/contrib/xz/src/liblzma/delta/delta_common.c projects/ipsec/contrib/xz/src/liblzma/delta/delta_decoder.c projects/ipsec/contrib/xz/src/liblzma/delta/delta_encoder.c projects/ipsec/contrib/xz/src/liblzma/delta/delta_private.h projects/ipsec/contrib/xz/src/liblzma/lz/lz_decoder.c projects/ipsec/contrib/xz/src/liblzma/lz/lz_decoder.h projects/ipsec/contrib/xz/src/liblzma/lz/lz_encoder.c projects/ipsec/contrib/xz/src/liblzma/lz/lz_encoder.h projects/ipsec/contrib/xz/src/liblzma/lzma/lzma2_decoder.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma2_encoder.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_decoder.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_encoder.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_encoder.h projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_encoder_optimum_fast.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_encoder_optimum_normal.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_encoder_presets.c projects/ipsec/contrib/xz/src/liblzma/lzma/lzma_encoder_private.h projects/ipsec/contrib/xz/src/liblzma/simple/arm.c projects/ipsec/contrib/xz/src/liblzma/simple/armthumb.c projects/ipsec/contrib/xz/src/liblzma/simple/ia64.c projects/ipsec/contrib/xz/src/liblzma/simple/powerpc.c projects/ipsec/contrib/xz/src/liblzma/simple/simple_coder.c projects/ipsec/contrib/xz/src/liblzma/simple/simple_private.h projects/ipsec/contrib/xz/src/liblzma/simple/sparc.c projects/ipsec/contrib/xz/src/liblzma/simple/x86.c projects/ipsec/contrib/xz/src/xz/args.c projects/ipsec/contrib/xz/src/xz/coder.c projects/ipsec/contrib/xz/src/xz/file_io.c projects/ipsec/contrib/xz/src/xz/file_io.h projects/ipsec/contrib/xz/src/xz/main.c projects/ipsec/contrib/xz/src/xz/private.h projects/ipsec/crypto/openssh/config.h projects/ipsec/crypto/openssh/serverloop.c projects/ipsec/crypto/openssh/ssh-agent.1 projects/ipsec/crypto/openssh/ssh-agent.c projects/ipsec/crypto/openssh/ssh_config projects/ipsec/crypto/openssh/ssh_config.5 projects/ipsec/crypto/openssh/sshd_config projects/ipsec/crypto/openssh/sshd_config.5 projects/ipsec/crypto/openssh/version.h projects/ipsec/etc/devd/usb.conf projects/ipsec/etc/mtree/BSD.debug.dist projects/ipsec/etc/mtree/BSD.tests.dist projects/ipsec/etc/mtree/BSD.var.dist projects/ipsec/etc/ntp.conf projects/ipsec/etc/rc.d/ntpdate projects/ipsec/etc/snmpd.config projects/ipsec/gnu/lib/libgcc/Makefile projects/ipsec/gnu/usr.bin/binutils/ld/Makefile.mips projects/ipsec/gnu/usr.bin/gdb/gdbserver/Makefile projects/ipsec/include/paths.h projects/ipsec/include/pthread.h projects/ipsec/include/signal.h projects/ipsec/include/stdlib.h projects/ipsec/kerberos5/Makefile.inc projects/ipsec/kerberos5/lib/Makefile projects/ipsec/kerberos5/libexec/Makefile projects/ipsec/lib/clang/libllvm/Makefile projects/ipsec/lib/csu/aarch64/Makefile projects/ipsec/lib/csu/amd64/Makefile projects/ipsec/lib/csu/arm/Makefile projects/ipsec/lib/csu/i386/Makefile projects/ipsec/lib/csu/mips/Makefile projects/ipsec/lib/csu/powerpc/Makefile projects/ipsec/lib/csu/powerpc64/Makefile projects/ipsec/lib/csu/riscv/Makefile projects/ipsec/lib/csu/sparc64/Makefile projects/ipsec/lib/lib80211/lib80211_regdomain.c projects/ipsec/lib/lib80211/lib80211_regdomain.h projects/ipsec/lib/libalias/libalias/Makefile projects/ipsec/lib/libalias/modules/Makefile projects/ipsec/lib/libalias/modules/Makefile.inc projects/ipsec/lib/libarchive/Makefile projects/ipsec/lib/libarchive/tests/Makefile projects/ipsec/lib/libauditd/Makefile projects/ipsec/lib/libbegemot/Makefile projects/ipsec/lib/libblocksruntime/Makefile projects/ipsec/lib/libbluetooth/Makefile projects/ipsec/lib/libbsm/Makefile projects/ipsec/lib/libbsnmp/libbsnmp/Makefile projects/ipsec/lib/libbz2/Makefile projects/ipsec/lib/libc++/Makefile projects/ipsec/lib/libc/Makefile projects/ipsec/lib/libc/aarch64/string/Makefile.inc projects/ipsec/lib/libc/aarch64/sys/cerror.S projects/ipsec/lib/libc/arm/aeabi/Makefile.inc projects/ipsec/lib/libc/capability/Makefile.inc projects/ipsec/lib/libc/gdtoa/Makefile.inc projects/ipsec/lib/libc/gen/Makefile.inc projects/ipsec/lib/libc/gen/getmntinfo.3 projects/ipsec/lib/libc/gen/getmntinfo.c projects/ipsec/lib/libc/gen/tcsendbreak.3 projects/ipsec/lib/libc/iconv/Makefile.inc projects/ipsec/lib/libc/include/libc_private.h projects/ipsec/lib/libc/locale/mblocal.h projects/ipsec/lib/libc/md/Makefile.inc projects/ipsec/lib/libc/net/getaddrinfo.c projects/ipsec/lib/libc/posix1e/Makefile.inc projects/ipsec/lib/libc/regex/grot/Makefile projects/ipsec/lib/libc/resolv/Makefile.inc projects/ipsec/lib/libc/stdlib/Makefile.inc projects/ipsec/lib/libc/stdlib/Symbol.map projects/ipsec/lib/libc/stdlib/cxa_thread_atexit.c projects/ipsec/lib/libc/stdlib/jemalloc/Makefile.inc projects/ipsec/lib/libc/stdtime/Makefile.inc projects/ipsec/lib/libc/string/Makefile.inc projects/ipsec/lib/libc/sys/Makefile.inc projects/ipsec/lib/libc/sys/getfsstat.2 projects/ipsec/lib/libc/sys/getsockopt.2 projects/ipsec/lib/libc/sys/shm_open.2 projects/ipsec/lib/libc/tests/db/Makefile projects/ipsec/lib/libc/tests/gen/Makefile projects/ipsec/lib/libc/tests/stdlib/Makefile projects/ipsec/lib/libc/tests/sys/Makefile projects/ipsec/lib/libc/x86/sys/Makefile.inc projects/ipsec/lib/libc/x86/sys/__vdso_gettc.c projects/ipsec/lib/libc_nonshared/Makefile projects/ipsec/lib/libcam/Makefile projects/ipsec/lib/libcam/scsi_cmdparse.c projects/ipsec/lib/libcom_err/Makefile projects/ipsec/lib/libcompat/Makefile projects/ipsec/lib/libcrypt/Makefile projects/ipsec/lib/libcxxrt/Makefile projects/ipsec/lib/libdevdctl/tests/Makefile projects/ipsec/lib/libdwarf/Makefile projects/ipsec/lib/libelf/Makefile projects/ipsec/lib/libevent/Makefile projects/ipsec/lib/libexecinfo/Makefile projects/ipsec/lib/libexpat/Makefile projects/ipsec/lib/libfetch/http.c projects/ipsec/lib/libgcc_s/Makefile projects/ipsec/lib/libgssapi/Makefile projects/ipsec/lib/libiconv_modules/Makefile.inc projects/ipsec/lib/libiconv_modules/mapper_parallel/Makefile projects/ipsec/lib/libkiconv/Makefile projects/ipsec/lib/libkvm/kvm.c projects/ipsec/lib/libkvm/kvm.h projects/ipsec/lib/libkvm/kvm_getswapinfo.3 projects/ipsec/lib/libkvm/kvm_getswapinfo.c projects/ipsec/lib/libkvm/kvm_private.h projects/ipsec/lib/libldns/Makefile projects/ipsec/lib/liblzma/Makefile projects/ipsec/lib/liblzma/config.h projects/ipsec/lib/libmagic/Makefile projects/ipsec/lib/libmd/Makefile projects/ipsec/lib/libmilter/Makefile projects/ipsec/lib/libmp/Makefile projects/ipsec/lib/libnetbsd/sys/cdefs.h projects/ipsec/lib/libngatm/Makefile projects/ipsec/lib/libnv/Makefile projects/ipsec/lib/libopie/Makefile projects/ipsec/lib/libpam/libpam/Makefile projects/ipsec/lib/libpam/modules/Makefile.inc projects/ipsec/lib/libpam/modules/pam_passwdqc/Makefile projects/ipsec/lib/libpam/modules/pam_ssh/Makefile projects/ipsec/lib/libpam/static_libpam/Makefile projects/ipsec/lib/libpcap/Makefile projects/ipsec/lib/libpe/Makefile projects/ipsec/lib/libproc/Makefile projects/ipsec/lib/libproc/proc_sym.c projects/ipsec/lib/libprocstat/Makefile projects/ipsec/lib/libprocstat/cd9660.c projects/ipsec/lib/libprocstat/libprocstat.c projects/ipsec/lib/libprocstat/zfs/Makefile projects/ipsec/lib/librpcsec_gss/Makefile projects/ipsec/lib/librpcsvc/Makefile projects/ipsec/lib/librt/Makefile projects/ipsec/lib/libsbuf/Makefile projects/ipsec/lib/libsm/Makefile projects/ipsec/lib/libsmb/Makefile projects/ipsec/lib/libsmdb/Makefile projects/ipsec/lib/libsmutil/Makefile projects/ipsec/lib/libsqlite3/Makefile projects/ipsec/lib/libstand/Makefile projects/ipsec/lib/libstand/bootp.c projects/ipsec/lib/libstand/cd9660.c projects/ipsec/lib/libstand/dosfs.c projects/ipsec/lib/libstand/ext2fs.c projects/ipsec/lib/libstand/nandfs.c projects/ipsec/lib/libstand/read.c projects/ipsec/lib/libstand/stand.h projects/ipsec/lib/libstand/ufs.c projects/ipsec/lib/libstand/write.c projects/ipsec/lib/libstdthreads/Makefile projects/ipsec/lib/libsysdecode/Makefile projects/ipsec/lib/libsysdecode/flags.c projects/ipsec/lib/libsysdecode/mktables projects/ipsec/lib/libsysdecode/sysdecode.h projects/ipsec/lib/libsysdecode/sysdecode_enum.3 projects/ipsec/lib/libsysdecode/sysdecode_mask.3 projects/ipsec/lib/libtelnet/Makefile projects/ipsec/lib/libthr/Makefile projects/ipsec/lib/libthr/support/Makefile.inc projects/ipsec/lib/libthr/tests/Makefile projects/ipsec/lib/libthread_db/Makefile projects/ipsec/lib/libufs/Makefile projects/ipsec/lib/libulog/Makefile projects/ipsec/lib/libunbound/Makefile projects/ipsec/lib/libutil/Makefile projects/ipsec/lib/libutil/kinfo_getallproc.c projects/ipsec/lib/libutil/kinfo_getfile.c projects/ipsec/lib/libutil/kinfo_getproc.c projects/ipsec/lib/libutil/kinfo_getvmmap.c projects/ipsec/lib/libwrap/Makefile projects/ipsec/lib/libypclnt/Makefile projects/ipsec/lib/libz/FREEBSD-upgrade projects/ipsec/lib/libz/Makefile projects/ipsec/lib/libz/Symbol.map projects/ipsec/lib/libz/Versions.def projects/ipsec/lib/libz/zlib.pc projects/ipsec/lib/msun/tests/Makefile projects/ipsec/lib/msun/tests/fmaxmin_test.c projects/ipsec/lib/ncurses/config.mk projects/ipsec/lib/ncurses/form/Makefile projects/ipsec/lib/ncurses/formw/Makefile projects/ipsec/lib/ncurses/menu/Makefile projects/ipsec/lib/ncurses/menuw/Makefile projects/ipsec/lib/ncurses/ncurses/Makefile projects/ipsec/lib/ncurses/ncursesw/Makefile projects/ipsec/lib/ncurses/panel/Makefile projects/ipsec/lib/ncurses/panelw/Makefile projects/ipsec/libexec/rtld-elf/amd64/rtld_machdep.h projects/ipsec/libexec/rtld-elf/amd64/rtld_start.S projects/ipsec/libexec/rtld-elf/rtld.c projects/ipsec/libexec/rtld-elf/rtld_lock.c projects/ipsec/libexec/tftpd/Makefile projects/ipsec/libexec/tftpd/tftpd.c projects/ipsec/release/tools/ec2.conf projects/ipsec/sbin/camcontrol/camcontrol.8 projects/ipsec/sbin/camcontrol/camcontrol.c projects/ipsec/sbin/camcontrol/camcontrol.h projects/ipsec/sbin/camcontrol/epc.c projects/ipsec/sbin/camcontrol/modeedit.c projects/ipsec/sbin/camcontrol/persist.c projects/ipsec/sbin/camcontrol/timestamp.c projects/ipsec/sbin/devd/devd.cc projects/ipsec/sbin/dhclient/dispatch.c projects/ipsec/sbin/fsck_ffs/suj.c projects/ipsec/sbin/ifconfig/ifconfig.8 projects/ipsec/sbin/ifconfig/ifconfig.c projects/ipsec/sbin/ifconfig/ifieee80211.c projects/ipsec/sbin/ipfw/ipfw2.c projects/ipsec/sbin/ipfw/ipfw2.h projects/ipsec/sbin/md5/md5.1 projects/ipsec/sbin/pfctl/parse.y projects/ipsec/sbin/ping/ping.c projects/ipsec/sbin/restore/dirs.c projects/ipsec/sbin/restore/extern.h projects/ipsec/sbin/restore/restore.8 projects/ipsec/sbin/restore/tape.c projects/ipsec/sbin/sysctl/sysctl.c projects/ipsec/secure/lib/libssh/Makefile projects/ipsec/secure/usr.bin/ssh/Makefile projects/ipsec/secure/usr.sbin/sshd/Makefile projects/ipsec/share/man/man4/Makefile projects/ipsec/share/man/man4/alc.4 projects/ipsec/share/man/man4/cxgbe.4 projects/ipsec/share/man/man4/ehci.4 projects/ipsec/share/man/man4/em.4 projects/ipsec/share/man/man4/iicbus.4 projects/ipsec/share/man/man4/mlx4en.4 projects/ipsec/share/man/man4/rtwn.4 projects/ipsec/share/man/man4/rtwn_usb.4 projects/ipsec/share/man/man4/rtwnfw.4 projects/ipsec/share/man/man4/scsi.4 projects/ipsec/share/man/man4/sfxge.4 projects/ipsec/share/man/man4/tty.4 projects/ipsec/share/man/man4/usb_quirk.4 projects/ipsec/share/man/man5/fs.5 projects/ipsec/share/man/man5/src.conf.5 projects/ipsec/share/man/man5/tmpfs.5 projects/ipsec/share/man/man7/arch.7 projects/ipsec/share/man/man9/BUS_CONFIG_INTR.9 projects/ipsec/share/man/man9/DEVICE_ATTACH.9 projects/ipsec/share/man/man9/DEVICE_IDENTIFY.9 projects/ipsec/share/man/man9/DRIVER_MODULE.9 projects/ipsec/share/man/man9/atomic.9 projects/ipsec/share/man/man9/bus_generic_attach.9 projects/ipsec/share/man/man9/bus_generic_detach.9 projects/ipsec/share/man/man9/bus_generic_new_pass.9 projects/ipsec/share/man/man9/bus_generic_print_child.9 projects/ipsec/share/man/man9/bus_generic_read_ivar.9 projects/ipsec/share/man/man9/bus_generic_shutdown.9 projects/ipsec/share/man/man9/bus_space.9 projects/ipsec/share/man/man9/device.9 projects/ipsec/share/man/man9/device_add_child.9 projects/ipsec/share/man/man9/pci.9 projects/ipsec/share/misc/committers-ports.dot projects/ipsec/share/misc/pci_vendors projects/ipsec/share/misc/scsi_modes projects/ipsec/share/mk/bsd.README projects/ipsec/share/mk/bsd.snmpmod.mk projects/ipsec/share/mk/src.opts.mk projects/ipsec/share/skel/dot.shrc projects/ipsec/sys/amd64/amd64/pmap.c projects/ipsec/sys/amd64/cloudabi32/cloudabi32_sysvec.c projects/ipsec/sys/amd64/cloudabi64/cloudabi64_sysvec.c projects/ipsec/sys/amd64/conf/GENERIC projects/ipsec/sys/amd64/include/atomic.h projects/ipsec/sys/amd64/include/cpufunc.h projects/ipsec/sys/amd64/linux/linux_sysvec.c projects/ipsec/sys/amd64/vmm/vmm_dev.c projects/ipsec/sys/amd64/vmm/vmm_host.h projects/ipsec/sys/arm/allwinner/a10_gpio.c projects/ipsec/sys/arm/allwinner/aw_ccu.c projects/ipsec/sys/arm/allwinner/aw_machdep.c projects/ipsec/sys/arm/allwinner/aw_machdep.h projects/ipsec/sys/arm/allwinner/clk/aw_axiclk.c projects/ipsec/sys/arm/allwinner/clk/aw_gate.c projects/ipsec/sys/arm/arm/bus_space_asm_generic.S projects/ipsec/sys/arm/arm/cpufunc.c projects/ipsec/sys/arm/arm/debug_monitor.c projects/ipsec/sys/arm/arm/identcpu-v4.c projects/ipsec/sys/arm/arm/locore-v4.S projects/ipsec/sys/arm/arm/locore-v6.S projects/ipsec/sys/arm/arm/ofw_machdep.c projects/ipsec/sys/arm/arm/pmap-v6.c projects/ipsec/sys/arm/arm/trap-v4.c projects/ipsec/sys/arm/broadcom/bcm2835/bcm2835_audio.c projects/ipsec/sys/arm/cloudabi32/cloudabi32_sysvec.c projects/ipsec/sys/arm/conf/ARMADA38X projects/ipsec/sys/arm/conf/GENERIC projects/ipsec/sys/arm/freescale/imx/imx6_ccm.c projects/ipsec/sys/arm/freescale/imx/imx6_hdmi.c projects/ipsec/sys/arm/freescale/imx/imx6_machdep.c projects/ipsec/sys/arm/freescale/imx/imx_i2c.c projects/ipsec/sys/arm/freescale/imx/imx_machdep.c projects/ipsec/sys/arm/include/atomic.h projects/ipsec/sys/arm/include/cpufunc.h projects/ipsec/sys/arm/include/pcpu.h projects/ipsec/sys/arm/include/pmap-v4.h projects/ipsec/sys/arm/mv/mv_pci.c projects/ipsec/sys/arm/ti/am335x/am335x_scm.c projects/ipsec/sys/arm/ti/cpsw/if_cpsw.c projects/ipsec/sys/arm/ti/cpsw/if_cpswreg.h projects/ipsec/sys/arm/ti/cpsw/if_cpswvar.h projects/ipsec/sys/arm/ti/ti_sdhci.c projects/ipsec/sys/arm/xilinx/zy7_ehci.c projects/ipsec/sys/arm64/arm64/mp_machdep.c projects/ipsec/sys/arm64/cloudabi64/cloudabi64_sysvec.c projects/ipsec/sys/arm64/conf/GENERIC projects/ipsec/sys/boot/common/bcache.c projects/ipsec/sys/boot/common/bootstrap.h projects/ipsec/sys/boot/common/disk.c projects/ipsec/sys/boot/common/md.c projects/ipsec/sys/boot/common/reloc_elf.c projects/ipsec/sys/boot/efi/Makefile.inc projects/ipsec/sys/boot/efi/boot1/boot_module.h projects/ipsec/sys/boot/efi/include/efiapi.h projects/ipsec/sys/boot/efi/include/efidevp.h projects/ipsec/sys/boot/efi/libefi/devpath.c projects/ipsec/sys/boot/efi/libefi/efinet.c projects/ipsec/sys/boot/efi/libefi/efipart.c projects/ipsec/sys/boot/efi/loader/arch/arm/ldscript.arm projects/ipsec/sys/boot/efi/loader/arch/arm/start.S projects/ipsec/sys/boot/efi/loader/main.c projects/ipsec/sys/boot/fdt/dts/arm/a83t.dtsi projects/ipsec/sys/boot/fdt/dts/arm/armada-38x.dtsi projects/ipsec/sys/boot/fdt/dts/arm/beaglebone-black.dts projects/ipsec/sys/boot/fdt/dts/arm/ufw.dts projects/ipsec/sys/boot/fdt/dts/mips/beri-netfpga.dts projects/ipsec/sys/boot/fdt/dts/mips/beri-sim.dts projects/ipsec/sys/boot/fdt/dts/mips/beripad-de4.dts projects/ipsec/sys/boot/fdt/dts/mips/beripad-sockit.dts projects/ipsec/sys/boot/i386/btx/btxldr/btxldr.S projects/ipsec/sys/boot/i386/cdboot/cdboot.S projects/ipsec/sys/boot/i386/common/cons.c projects/ipsec/sys/boot/i386/libfirewire/firewire.c projects/ipsec/sys/boot/i386/libi386/bioscd.c projects/ipsec/sys/boot/i386/libi386/biosdisk.c projects/ipsec/sys/boot/i386/libi386/pxe.c projects/ipsec/sys/boot/i386/loader/Makefile projects/ipsec/sys/boot/mips/beri/boot2/Makefile projects/ipsec/sys/boot/mips/beri/common/common.ldscript projects/ipsec/sys/boot/mips/beri/loader/beri_disk_cfi.c projects/ipsec/sys/boot/mips/beri/loader/beri_disk_sdcard.c projects/ipsec/sys/boot/mips/beri/loader/loader.ldscript projects/ipsec/sys/boot/ofw/libofw/ofw_disk.c projects/ipsec/sys/boot/pc98/libpc98/bioscd.c projects/ipsec/sys/boot/pc98/libpc98/biosdisk.c projects/ipsec/sys/boot/powerpc/kboot/hostdisk.c projects/ipsec/sys/boot/powerpc/ps3/ps3cdrom.c projects/ipsec/sys/boot/powerpc/ps3/ps3disk.c projects/ipsec/sys/boot/uboot/lib/disk.c projects/ipsec/sys/boot/usb/storage/umass_loader.c projects/ipsec/sys/boot/userboot/userboot/host.c projects/ipsec/sys/boot/userboot/userboot/userboot_disk.c projects/ipsec/sys/boot/zfs/zfs.c projects/ipsec/sys/cam/ata/ata_da.c projects/ipsec/sys/cam/cam_ccb.h projects/ipsec/sys/cam/cam_compat.h projects/ipsec/sys/cam/cam_iosched.h projects/ipsec/sys/cam/cam_periph.c projects/ipsec/sys/cam/cam_xpt.c projects/ipsec/sys/cam/cam_xpt_internal.h projects/ipsec/sys/cam/ctl/ctl.c projects/ipsec/sys/cam/ctl/ctl.h projects/ipsec/sys/cam/ctl/ctl_backend.c projects/ipsec/sys/cam/ctl/ctl_backend.h projects/ipsec/sys/cam/ctl/ctl_backend_block.c projects/ipsec/sys/cam/ctl/ctl_backend_ramdisk.c projects/ipsec/sys/cam/ctl/ctl_cmd_table.c projects/ipsec/sys/cam/ctl/ctl_error.c projects/ipsec/sys/cam/ctl/ctl_error.h projects/ipsec/sys/cam/ctl/ctl_frontend.c projects/ipsec/sys/cam/ctl/ctl_frontend.h projects/ipsec/sys/cam/ctl/ctl_frontend_cam_sim.c projects/ipsec/sys/cam/ctl/ctl_frontend_ioctl.c projects/ipsec/sys/cam/ctl/ctl_frontend_iscsi.c projects/ipsec/sys/cam/ctl/ctl_ha.c projects/ipsec/sys/cam/ctl/ctl_io.h projects/ipsec/sys/cam/ctl/ctl_ioctl.h projects/ipsec/sys/cam/ctl/ctl_private.h projects/ipsec/sys/cam/ctl/ctl_tpc.c projects/ipsec/sys/cam/ctl/ctl_tpc_local.c projects/ipsec/sys/cam/ctl/ctl_util.c projects/ipsec/sys/cam/ctl/ctl_util.h projects/ipsec/sys/cam/ctl/scsi_ctl.c projects/ipsec/sys/cam/nvme/nvme_da.c projects/ipsec/sys/cam/scsi/scsi_all.c projects/ipsec/sys/cam/scsi/scsi_all.h projects/ipsec/sys/cam/scsi/scsi_ch.c projects/ipsec/sys/cam/scsi/scsi_da.c projects/ipsec/sys/cam/scsi/scsi_low.c projects/ipsec/sys/cam/scsi/scsi_xpt.c projects/ipsec/sys/cddl/compat/opensolaris/sys/atomic.h projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/dsl_pool.h projects/ipsec/sys/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/ipsec/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/ipsec/sys/cddl/dev/fbt/arm/fbt_isa.c projects/ipsec/sys/compat/cloudabi/cloudabi_file.c projects/ipsec/sys/compat/cloudabi/cloudabi_mem.c projects/ipsec/sys/compat/cloudabi/cloudabi_proc.c projects/ipsec/sys/compat/cloudabi/cloudabi_random.c projects/ipsec/sys/compat/cloudabi/cloudabi_sock.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_fd.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_poll.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_proto.h projects/ipsec/sys/compat/cloudabi32/cloudabi32_sock.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_syscall.h projects/ipsec/sys/compat/cloudabi32/cloudabi32_syscalls.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_sysent.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_systrace_args.c projects/ipsec/sys/compat/cloudabi32/cloudabi32_thread.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_fd.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_poll.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_proto.h projects/ipsec/sys/compat/cloudabi64/cloudabi64_sock.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_syscall.h projects/ipsec/sys/compat/cloudabi64/cloudabi64_syscalls.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_sysent.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_systrace_args.c projects/ipsec/sys/compat/cloudabi64/cloudabi64_thread.c projects/ipsec/sys/compat/freebsd32/freebsd32_misc.c projects/ipsec/sys/compat/freebsd32/freebsd32_proto.h projects/ipsec/sys/compat/freebsd32/freebsd32_syscall.h projects/ipsec/sys/compat/freebsd32/freebsd32_syscalls.c projects/ipsec/sys/compat/freebsd32/freebsd32_sysent.c projects/ipsec/sys/compat/freebsd32/freebsd32_systrace_args.c projects/ipsec/sys/compat/freebsd32/syscalls.master projects/ipsec/sys/compat/linux/linux_socket.c projects/ipsec/sys/compat/linux/linux_stats.c projects/ipsec/sys/compat/svr4/svr4_misc.c projects/ipsec/sys/conf/Makefile.powerpc projects/ipsec/sys/conf/NOTES projects/ipsec/sys/conf/config.mk projects/ipsec/sys/conf/files projects/ipsec/sys/conf/files.amd64 projects/ipsec/sys/conf/files.arm64 projects/ipsec/sys/conf/files.i386 projects/ipsec/sys/conf/files.mips projects/ipsec/sys/conf/kern.mk projects/ipsec/sys/conf/kern.opts.mk projects/ipsec/sys/conf/kern.pre.mk projects/ipsec/sys/conf/makeLINT.mk projects/ipsec/sys/conf/options projects/ipsec/sys/conf/options.arm projects/ipsec/sys/conf/options.mips projects/ipsec/sys/contrib/ck/FREEBSD-Xlist projects/ipsec/sys/contrib/ck/include/ck_md.h projects/ipsec/sys/contrib/ck/include/ck_pr.h projects/ipsec/sys/contrib/ck/include/gcc/aarch64/ck_pr.h projects/ipsec/sys/contrib/ck/include/gcc/arm/ck_pr.h projects/ipsec/sys/contrib/ck/include/gcc/ck_pr.h projects/ipsec/sys/contrib/ck/include/gcc/ppc64/ck_pr.h projects/ipsec/sys/contrib/ck/include/gcc/x86_64/ck_pr.h projects/ipsec/sys/contrib/cloudabi/cloudabi32_types.h projects/ipsec/sys/contrib/cloudabi/cloudabi64_types.h projects/ipsec/sys/contrib/cloudabi/cloudabi_types_common.h projects/ipsec/sys/contrib/cloudabi/syscalls32.master projects/ipsec/sys/contrib/cloudabi/syscalls64.master projects/ipsec/sys/contrib/dev/acpica/acpica_prep.sh projects/ipsec/sys/contrib/dev/acpica/changes.txt projects/ipsec/sys/contrib/dev/acpica/common/acfileio.c projects/ipsec/sys/contrib/dev/acpica/common/acgetline.c projects/ipsec/sys/contrib/dev/acpica/common/adfile.c projects/ipsec/sys/contrib/dev/acpica/common/adisasm.c projects/ipsec/sys/contrib/dev/acpica/common/adwalk.c projects/ipsec/sys/contrib/dev/acpica/common/ahids.c projects/ipsec/sys/contrib/dev/acpica/common/ahpredef.c projects/ipsec/sys/contrib/dev/acpica/common/ahtable.c projects/ipsec/sys/contrib/dev/acpica/common/ahuuids.c projects/ipsec/sys/contrib/dev/acpica/common/cmfsize.c projects/ipsec/sys/contrib/dev/acpica/common/dmextern.c projects/ipsec/sys/contrib/dev/acpica/common/dmrestag.c projects/ipsec/sys/contrib/dev/acpica/common/dmtable.c projects/ipsec/sys/contrib/dev/acpica/common/dmtables.c projects/ipsec/sys/contrib/dev/acpica/common/dmtbdump.c projects/ipsec/sys/contrib/dev/acpica/common/dmtbinfo.c projects/ipsec/sys/contrib/dev/acpica/common/getopt.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslanalyze.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslascii.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslbtypes.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslcodegen.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslcompile.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslcompiler.h projects/ipsec/sys/contrib/dev/acpica/compiler/aslcompiler.l projects/ipsec/sys/contrib/dev/acpica/compiler/aslcstyle.y projects/ipsec/sys/contrib/dev/acpica/compiler/asldebug.c projects/ipsec/sys/contrib/dev/acpica/compiler/asldefine.h projects/ipsec/sys/contrib/dev/acpica/compiler/aslerror.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslexternal.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslfileio.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslfiles.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslfold.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslglobal.h projects/ipsec/sys/contrib/dev/acpica/compiler/aslhelp.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslhelpers.y projects/ipsec/sys/contrib/dev/acpica/compiler/aslhex.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslkeywords.y projects/ipsec/sys/contrib/dev/acpica/compiler/asllength.c projects/ipsec/sys/contrib/dev/acpica/compiler/asllisting.c projects/ipsec/sys/contrib/dev/acpica/compiler/asllistsup.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslload.c projects/ipsec/sys/contrib/dev/acpica/compiler/asllookup.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmain.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmap.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmapenter.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmapoutput.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmaputils.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmessages.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslmessages.h projects/ipsec/sys/contrib/dev/acpica/compiler/aslmethod.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslnamesp.c projects/ipsec/sys/contrib/dev/acpica/compiler/asloffset.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslopcodes.c projects/ipsec/sys/contrib/dev/acpica/compiler/asloperands.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslopt.c projects/ipsec/sys/contrib/dev/acpica/compiler/asloptions.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslparser.y projects/ipsec/sys/contrib/dev/acpica/compiler/aslpld.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslpredef.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslprepkg.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslprimaries.y projects/ipsec/sys/contrib/dev/acpica/compiler/aslprintf.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslprune.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslresource.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslresources.y projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype1.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype1i.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype2.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype2d.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype2e.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype2q.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype2s.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrestype2w.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslrules.y projects/ipsec/sys/contrib/dev/acpica/compiler/aslstartup.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslstubs.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslsupport.l projects/ipsec/sys/contrib/dev/acpica/compiler/aslsupport.y projects/ipsec/sys/contrib/dev/acpica/compiler/asltokens.y projects/ipsec/sys/contrib/dev/acpica/compiler/asltransform.c projects/ipsec/sys/contrib/dev/acpica/compiler/asltree.c projects/ipsec/sys/contrib/dev/acpica/compiler/asltypes.h projects/ipsec/sys/contrib/dev/acpica/compiler/asltypes.y projects/ipsec/sys/contrib/dev/acpica/compiler/aslutils.c projects/ipsec/sys/contrib/dev/acpica/compiler/asluuid.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslwalks.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslxref.c projects/ipsec/sys/contrib/dev/acpica/compiler/aslxrefout.c projects/ipsec/sys/contrib/dev/acpica/compiler/dtcompile.c projects/ipsec/sys/contrib/dev/acpica/compiler/dtcompiler.h projects/ipsec/sys/contrib/dev/acpica/compiler/dtexpress.c projects/ipsec/sys/contrib/dev/acpica/compiler/dtfield.c projects/ipsec/sys/contrib/dev/acpica/compiler/dtio.c projects/ipsec/sys/contrib/dev/acpica/compiler/dtparser.l projects/ipsec/sys/contrib/dev/acpica/compiler/dtparser.y projects/ipsec/sys/contrib/dev/acpica/compiler/dtsubtable.c projects/ipsec/sys/contrib/dev/acpica/compiler/dttable.c projects/ipsec/sys/contrib/dev/acpica/compiler/dttable1.c projects/ipsec/sys/contrib/dev/acpica/compiler/dttable2.c projects/ipsec/sys/contrib/dev/acpica/compiler/dttemplate.c projects/ipsec/sys/contrib/dev/acpica/compiler/dttemplate.h projects/ipsec/sys/contrib/dev/acpica/compiler/dtutils.c projects/ipsec/sys/contrib/dev/acpica/compiler/preprocess.h projects/ipsec/sys/contrib/dev/acpica/compiler/prexpress.c projects/ipsec/sys/contrib/dev/acpica/compiler/prmacros.c projects/ipsec/sys/contrib/dev/acpica/compiler/prparser.l projects/ipsec/sys/contrib/dev/acpica/compiler/prparser.y projects/ipsec/sys/contrib/dev/acpica/compiler/prscan.c projects/ipsec/sys/contrib/dev/acpica/compiler/prutils.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbcmds.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbconvert.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbdisply.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbexec.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbfileio.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbhistry.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbinput.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbmethod.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbnames.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbobject.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbstats.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbtest.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbutils.c projects/ipsec/sys/contrib/dev/acpica/components/debugger/dbxface.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmbuffer.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmcstyle.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmdeferred.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmnames.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmopcode.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmresrc.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmresrcl.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmresrcl2.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmresrcs.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmutils.c projects/ipsec/sys/contrib/dev/acpica/components/disassembler/dmwalk.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsargs.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dscontrol.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsdebug.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsfield.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsinit.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsmethod.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsmthdat.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsobject.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsopcode.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dsutils.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dswexec.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dswload.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dswload2.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dswscope.c projects/ipsec/sys/contrib/dev/acpica/components/dispatcher/dswstate.c projects/ipsec/sys/contrib/dev/acpica/components/events/evevent.c projects/ipsec/sys/contrib/dev/acpica/components/events/evglock.c projects/ipsec/sys/contrib/dev/acpica/components/events/evgpe.c projects/ipsec/sys/contrib/dev/acpica/components/events/evgpeblk.c projects/ipsec/sys/contrib/dev/acpica/components/events/evgpeinit.c projects/ipsec/sys/contrib/dev/acpica/components/events/evgpeutil.c projects/ipsec/sys/contrib/dev/acpica/components/events/evhandler.c projects/ipsec/sys/contrib/dev/acpica/components/events/evmisc.c projects/ipsec/sys/contrib/dev/acpica/components/events/evregion.c projects/ipsec/sys/contrib/dev/acpica/components/events/evrgnini.c projects/ipsec/sys/contrib/dev/acpica/components/events/evsci.c projects/ipsec/sys/contrib/dev/acpica/components/events/evxface.c projects/ipsec/sys/contrib/dev/acpica/components/events/evxfevnt.c projects/ipsec/sys/contrib/dev/acpica/components/events/evxfgpe.c projects/ipsec/sys/contrib/dev/acpica/components/events/evxfregn.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exconcat.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exconfig.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exconvrt.c projects/ipsec/sys/contrib/dev/acpica/components/executer/excreate.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exdebug.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exdump.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exfield.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exfldio.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exmisc.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exmutex.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exnames.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exoparg1.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exoparg2.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exoparg3.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exoparg6.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exprep.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exregion.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exresnte.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exresolv.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exresop.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exstore.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exstoren.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exstorob.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exsystem.c projects/ipsec/sys/contrib/dev/acpica/components/executer/extrace.c projects/ipsec/sys/contrib/dev/acpica/components/executer/exutils.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwacpi.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwesleep.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwgpe.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwpci.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwregs.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwsleep.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwtimer.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwvalid.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwxface.c projects/ipsec/sys/contrib/dev/acpica/components/hardware/hwxfsleep.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsaccess.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsalloc.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsarguments.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsconvert.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsdump.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsdumpdv.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nseval.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsinit.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsload.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsnames.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsobject.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsparse.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nspredef.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsprepkg.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsrepair.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsrepair2.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nssearch.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsutils.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nswalk.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsxfeval.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsxfname.c projects/ipsec/sys/contrib/dev/acpica/components/namespace/nsxfobj.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psargs.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psloop.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psobject.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psopcode.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psopinfo.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psparse.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psscope.c projects/ipsec/sys/contrib/dev/acpica/components/parser/pstree.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psutils.c projects/ipsec/sys/contrib/dev/acpica/components/parser/pswalk.c projects/ipsec/sys/contrib/dev/acpica/components/parser/psxface.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsaddr.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rscalc.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rscreate.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsdump.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsdumpinfo.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsinfo.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsio.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsirq.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rslist.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsmemory.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsmisc.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsserial.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsutils.c projects/ipsec/sys/contrib/dev/acpica/components/resources/rsxface.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbdata.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbfadt.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbfind.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbinstal.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbprint.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbutils.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbxface.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbxfload.c projects/ipsec/sys/contrib/dev/acpica/components/tables/tbxfroot.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utaddress.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utalloc.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utascii.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utbuffer.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utcache.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utcopy.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utdebug.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utdecode.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utdelete.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/uterror.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/uteval.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utexcep.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utglobal.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/uthex.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utids.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utinit.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utlock.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utmath.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utmisc.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utmutex.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utnonansi.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utobject.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utosi.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utownerid.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utpredef.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utresrc.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utstate.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utstring.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utstrtoul64.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/uttrack.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utuuid.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utxface.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utxferror.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utxfinit.c projects/ipsec/sys/contrib/dev/acpica/components/utilities/utxfmutex.c projects/ipsec/sys/contrib/dev/acpica/include/acapps.h projects/ipsec/sys/contrib/dev/acpica/include/acbuffer.h projects/ipsec/sys/contrib/dev/acpica/include/acclib.h projects/ipsec/sys/contrib/dev/acpica/include/accommon.h projects/ipsec/sys/contrib/dev/acpica/include/acconfig.h projects/ipsec/sys/contrib/dev/acpica/include/acdebug.h projects/ipsec/sys/contrib/dev/acpica/include/acdisasm.h projects/ipsec/sys/contrib/dev/acpica/include/acdispat.h projects/ipsec/sys/contrib/dev/acpica/include/acevents.h projects/ipsec/sys/contrib/dev/acpica/include/acexcep.h projects/ipsec/sys/contrib/dev/acpica/include/acglobal.h projects/ipsec/sys/contrib/dev/acpica/include/achware.h projects/ipsec/sys/contrib/dev/acpica/include/acinterp.h projects/ipsec/sys/contrib/dev/acpica/include/aclocal.h projects/ipsec/sys/contrib/dev/acpica/include/acmacros.h projects/ipsec/sys/contrib/dev/acpica/include/acnames.h projects/ipsec/sys/contrib/dev/acpica/include/acnamesp.h projects/ipsec/sys/contrib/dev/acpica/include/acobject.h projects/ipsec/sys/contrib/dev/acpica/include/acopcode.h projects/ipsec/sys/contrib/dev/acpica/include/acoutput.h projects/ipsec/sys/contrib/dev/acpica/include/acparser.h projects/ipsec/sys/contrib/dev/acpica/include/acpi.h projects/ipsec/sys/contrib/dev/acpica/include/acpiosxf.h projects/ipsec/sys/contrib/dev/acpica/include/acpixf.h projects/ipsec/sys/contrib/dev/acpica/include/acpredef.h projects/ipsec/sys/contrib/dev/acpica/include/acresrc.h projects/ipsec/sys/contrib/dev/acpica/include/acrestyp.h projects/ipsec/sys/contrib/dev/acpica/include/acstruct.h projects/ipsec/sys/contrib/dev/acpica/include/actables.h projects/ipsec/sys/contrib/dev/acpica/include/actbl.h projects/ipsec/sys/contrib/dev/acpica/include/actbl1.h projects/ipsec/sys/contrib/dev/acpica/include/actbl2.h projects/ipsec/sys/contrib/dev/acpica/include/actbl3.h projects/ipsec/sys/contrib/dev/acpica/include/actypes.h projects/ipsec/sys/contrib/dev/acpica/include/acutils.h projects/ipsec/sys/contrib/dev/acpica/include/acuuid.h projects/ipsec/sys/contrib/dev/acpica/include/amlcode.h projects/ipsec/sys/contrib/dev/acpica/include/amlresrc.h projects/ipsec/sys/contrib/dev/acpica/include/platform/acenv.h projects/ipsec/sys/contrib/dev/acpica/include/platform/acenvex.h projects/ipsec/sys/contrib/dev/acpica/include/platform/acfreebsd.h projects/ipsec/sys/contrib/dev/acpica/include/platform/acgcc.h projects/ipsec/sys/contrib/dev/acpica/include/platform/acgccex.h projects/ipsec/sys/contrib/dev/acpica/os_specific/service_layers/osunixxf.c projects/ipsec/sys/contrib/ipfilter/netinet/ip_fil.h projects/ipsec/sys/crypto/skein/amd64/skein_block_asm.s projects/ipsec/sys/dev/aac/aac_cam.c projects/ipsec/sys/dev/aacraid/aacraid_cam.c projects/ipsec/sys/dev/acpica/Osd/OsdDebug.c projects/ipsec/sys/dev/acpica/Osd/OsdHardware.c projects/ipsec/sys/dev/advansys/advansys.c projects/ipsec/sys/dev/advansys/adwcam.c projects/ipsec/sys/dev/agp/agp_i810.c projects/ipsec/sys/dev/aha/aha.c projects/ipsec/sys/dev/ahb/ahb.c projects/ipsec/sys/dev/ahci/ahci.c projects/ipsec/sys/dev/ahci/ahci_generic.c projects/ipsec/sys/dev/ahci/ahciem.c projects/ipsec/sys/dev/aic/aic.c projects/ipsec/sys/dev/aic7xxx/aic79xx_osm.c projects/ipsec/sys/dev/aic7xxx/aic7xxx_osm.c projects/ipsec/sys/dev/alc/if_alc.c projects/ipsec/sys/dev/alc/if_alcreg.h projects/ipsec/sys/dev/altera/atse/if_atse.c projects/ipsec/sys/dev/amr/amr_cam.c projects/ipsec/sys/dev/arcmsr/arcmsr.c projects/ipsec/sys/dev/ata/ata-all.c projects/ipsec/sys/dev/ath/ath_hal/ah.c projects/ipsec/sys/dev/ath/ath_hal/ah_regdomain.c projects/ipsec/sys/dev/ath/if_ath.c projects/ipsec/sys/dev/ath/if_ath_tx.c projects/ipsec/sys/dev/ath/if_ath_tx_edma.c projects/ipsec/sys/dev/ath/if_ath_tx_ht.c projects/ipsec/sys/dev/bhnd/bhnd.h projects/ipsec/sys/dev/bnxt/if_bnxt.c projects/ipsec/sys/dev/buslogic/bt.c projects/ipsec/sys/dev/ciss/ciss.c projects/ipsec/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb_provider.c projects/ipsec/sys/dev/cxgbe/adapter.h projects/ipsec/sys/dev/cxgbe/common/common.h projects/ipsec/sys/dev/cxgbe/common/t4_hw.c projects/ipsec/sys/dev/cxgbe/common/t4_msg.h projects/ipsec/sys/dev/cxgbe/firmware/t4fw_interface.h projects/ipsec/sys/dev/cxgbe/firmware/t5fw_cfg_uwire.txt projects/ipsec/sys/dev/cxgbe/firmware/t6fw_cfg.txt projects/ipsec/sys/dev/cxgbe/firmware/t6fw_cfg_uwire.txt projects/ipsec/sys/dev/cxgbe/iw_cxgbe/provider.c projects/ipsec/sys/dev/cxgbe/t4_main.c projects/ipsec/sys/dev/cxgbe/t4_sge.c projects/ipsec/sys/dev/cxgbe/t4_vf.c projects/ipsec/sys/dev/cxgbe/tom/t4_connect.c projects/ipsec/sys/dev/cxgbe/tom/t4_cpl_io.c projects/ipsec/sys/dev/cxgbe/tom/t4_ddp.c projects/ipsec/sys/dev/cxgbe/tom/t4_listen.c projects/ipsec/sys/dev/cxgbe/tom/t4_tom.c projects/ipsec/sys/dev/cxgbe/tom/t4_tom.h projects/ipsec/sys/dev/dpt/dpt_scsi.c projects/ipsec/sys/dev/e1000/e1000_82575.c projects/ipsec/sys/dev/e1000/e1000_82575.h projects/ipsec/sys/dev/e1000/e1000_defines.h projects/ipsec/sys/dev/e1000/e1000_ich8lan.c projects/ipsec/sys/dev/e1000/if_em.c projects/ipsec/sys/dev/e1000/if_em.h projects/ipsec/sys/dev/esp/ncr53c9x.c projects/ipsec/sys/dev/etherswitch/arswitch/arswitch.c projects/ipsec/sys/dev/etherswitch/arswitch/arswitch_7240.c projects/ipsec/sys/dev/etherswitch/arswitch/arswitch_8316.c projects/ipsec/sys/dev/etherswitch/arswitch/arswitch_8327.c projects/ipsec/sys/dev/etherswitch/arswitch/arswitch_9340.c projects/ipsec/sys/dev/etherswitch/e6000sw/e6000sw.c projects/ipsec/sys/dev/etherswitch/e6000sw/e6000swreg.h projects/ipsec/sys/dev/etherswitch/etherswitch.c projects/ipsec/sys/dev/fdt/simplebus.c projects/ipsec/sys/dev/firewire/sbp.c projects/ipsec/sys/dev/firewire/sbp_targ.c projects/ipsec/sys/dev/gpio/gpioc.c projects/ipsec/sys/dev/gpio/ofw_gpiobus.c projects/ipsec/sys/dev/hdmi/dwc_hdmi.c projects/ipsec/sys/dev/hdmi/dwc_hdmi.h projects/ipsec/sys/dev/hdmi/dwc_hdmi_fdt.c projects/ipsec/sys/dev/hdmi/dwc_hdmireg.h projects/ipsec/sys/dev/hpt27xx/hpt27xx_osm_bsd.c projects/ipsec/sys/dev/hptiop/hptiop.c projects/ipsec/sys/dev/hptmv/entry.c projects/ipsec/sys/dev/hptnr/hptnr_osm_bsd.c projects/ipsec/sys/dev/hptrr/hptrr_osm_bsd.c projects/ipsec/sys/dev/hwpmc/hwpmc_core.c projects/ipsec/sys/dev/hyperv/include/hyperv.h projects/ipsec/sys/dev/hyperv/netvsc/hn_nvs.c projects/ipsec/sys/dev/hyperv/netvsc/hn_nvs.h projects/ipsec/sys/dev/hyperv/netvsc/if_hn.c projects/ipsec/sys/dev/hyperv/netvsc/if_hnreg.h projects/ipsec/sys/dev/hyperv/netvsc/if_hnvar.h projects/ipsec/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c projects/ipsec/sys/dev/hyperv/utilities/vmbus_timesync.c projects/ipsec/sys/dev/hyperv/vmbus/amd64/hyperv_machdep.c projects/ipsec/sys/dev/hyperv/vmbus/hyperv.c projects/ipsec/sys/dev/hyperv/vmbus/vmbus.c projects/ipsec/sys/dev/hyperv/vmbus/vmbus_chan.c projects/ipsec/sys/dev/hyperv/vmbus/vmbus_et.c projects/ipsec/sys/dev/hyperv/vmbus/vmbus_var.h projects/ipsec/sys/dev/iir/iir.c projects/ipsec/sys/dev/isci/isci_controller.c projects/ipsec/sys/dev/isci/isci_task_request.c projects/ipsec/sys/dev/iscsi_initiator/isc_cam.c projects/ipsec/sys/dev/iscsi_initiator/isc_soc.c projects/ipsec/sys/dev/iscsi_initiator/iscsi.c projects/ipsec/sys/dev/isp/isp.c projects/ipsec/sys/dev/isp/isp_freebsd.c projects/ipsec/sys/dev/ixgbe/if_ix.c projects/ipsec/sys/dev/ixl/ixl_pf_main.c projects/ipsec/sys/dev/kbd/kbd.c projects/ipsec/sys/dev/mfi/mfi_cam.c projects/ipsec/sys/dev/mlx5/cq.h projects/ipsec/sys/dev/mlx5/mlx5_core/mlx5_cq.c projects/ipsec/sys/dev/mlx5/mlx5_en/en.h projects/ipsec/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/ipsec/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/ipsec/sys/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/ipsec/sys/dev/mlx5/mlx5_ifc.h projects/ipsec/sys/dev/mly/mly.c projects/ipsec/sys/dev/mmc/mmcreg.h projects/ipsec/sys/dev/mmc/mmcsd.c projects/ipsec/sys/dev/mpr/mpr_sas.c projects/ipsec/sys/dev/mpr/mpr_sas_lsi.c projects/ipsec/sys/dev/mpr/mpr_table.c projects/ipsec/sys/dev/mpr/mpr_table.h projects/ipsec/sys/dev/mpr/mprvar.h projects/ipsec/sys/dev/mps/mps_sas.c projects/ipsec/sys/dev/mps/mps_table.c projects/ipsec/sys/dev/mps/mps_table.h projects/ipsec/sys/dev/mps/mpsvar.h projects/ipsec/sys/dev/mpt/mpt.c projects/ipsec/sys/dev/mpt/mpt.h projects/ipsec/sys/dev/mpt/mpt_cam.c projects/ipsec/sys/dev/mpt/mpt_raid.c projects/ipsec/sys/dev/mrsas/mrsas_cam.c projects/ipsec/sys/dev/mrsas/mrsas_linux.c projects/ipsec/sys/dev/mvs/mvs.c projects/ipsec/sys/dev/nand/nand_geom.c projects/ipsec/sys/dev/ncr/ncr.c projects/ipsec/sys/dev/netmap/netmap_freebsd.c projects/ipsec/sys/dev/netmap/netmap_generic.c projects/ipsec/sys/dev/ntb/if_ntb/if_ntb.c projects/ipsec/sys/dev/nvd/nvd.c projects/ipsec/sys/dev/nvme/nvme_sim.c projects/ipsec/sys/dev/pccbb/pccbb_pci.c projects/ipsec/sys/dev/pci/hostb_pci.c projects/ipsec/sys/dev/pci/pci.c projects/ipsec/sys/dev/pci/pci_private.h projects/ipsec/sys/dev/pci/pci_subr.c projects/ipsec/sys/dev/pms/freebsd/driver/ini/src/agtiapi.c projects/ipsec/sys/dev/ppbus/vpo.c projects/ipsec/sys/dev/rccgpio/rccgpio.c projects/ipsec/sys/dev/rtwn/if_rtwn.c projects/ipsec/sys/dev/rtwn/if_rtwn_beacon.c projects/ipsec/sys/dev/rtwn/if_rtwn_beacon.h projects/ipsec/sys/dev/rtwn/if_rtwn_debug.h projects/ipsec/sys/dev/rtwn/if_rtwn_rx.c projects/ipsec/sys/dev/rtwn/if_rtwn_rx.h projects/ipsec/sys/dev/rtwn/if_rtwnvar.h projects/ipsec/sys/dev/rtwn/pci/rtwn_pci_attach.c projects/ipsec/sys/dev/rtwn/pci/rtwn_pci_rx.c projects/ipsec/sys/dev/rtwn/rtl8188e/r88e.h projects/ipsec/sys/dev/rtwn/rtl8188e/r88e_fw.c projects/ipsec/sys/dev/rtwn/rtl8188e/r88e_rx.c projects/ipsec/sys/dev/rtwn/rtl8188e/usb/r88eu_attach.c projects/ipsec/sys/dev/rtwn/rtl8192c/pci/r92ce_attach.c projects/ipsec/sys/dev/rtwn/rtl8192c/pci/r92ce_init.c projects/ipsec/sys/dev/rtwn/rtl8192c/r92c.h projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_fw.c projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_init.c projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_reg.h projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_rx.c projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_rx_desc.h projects/ipsec/sys/dev/rtwn/rtl8192c/r92c_tx_desc.h projects/ipsec/sys/dev/rtwn/rtl8192c/usb/r92cu_attach.c projects/ipsec/sys/dev/rtwn/rtl8192c/usb/r92cu_init.c projects/ipsec/sys/dev/rtwn/rtl8812a/r12a.h projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_beacon.c projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_chan.c projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_fw.c projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_rx.c projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_rx_desc.h projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_tx.c projects/ipsec/sys/dev/rtwn/rtl8812a/r12a_var.h projects/ipsec/sys/dev/rtwn/rtl8812a/usb/r12au_attach.c projects/ipsec/sys/dev/rtwn/rtl8821a/r21a_init.c projects/ipsec/sys/dev/rtwn/rtl8821a/usb/r21au.h projects/ipsec/sys/dev/rtwn/rtl8821a/usb/r21au_attach.c projects/ipsec/sys/dev/rtwn/usb/rtwn_usb_attach.c projects/ipsec/sys/dev/rtwn/usb/rtwn_usb_attach.h projects/ipsec/sys/dev/rtwn/usb/rtwn_usb_ep.c projects/ipsec/sys/dev/rtwn/usb/rtwn_usb_rx.c projects/ipsec/sys/dev/sdhci/fsl_sdhci.c projects/ipsec/sys/dev/sdhci/sdhci.c projects/ipsec/sys/dev/sdhci/sdhci.h projects/ipsec/sys/dev/sdhci/sdhci_if.m projects/ipsec/sys/dev/sdhci/sdhci_pci.c projects/ipsec/sys/dev/sfxge/common/ef10_ev.c projects/ipsec/sys/dev/sfxge/common/ef10_filter.c projects/ipsec/sys/dev/sfxge/common/ef10_impl.h projects/ipsec/sys/dev/sfxge/common/ef10_mac.c projects/ipsec/sys/dev/sfxge/common/ef10_mcdi.c projects/ipsec/sys/dev/sfxge/common/ef10_nic.c projects/ipsec/sys/dev/sfxge/common/ef10_nvram.c projects/ipsec/sys/dev/sfxge/common/ef10_phy.c projects/ipsec/sys/dev/sfxge/common/ef10_rx.c projects/ipsec/sys/dev/sfxge/common/ef10_tlv_layout.h projects/ipsec/sys/dev/sfxge/common/ef10_tx.c projects/ipsec/sys/dev/sfxge/common/efsys.h projects/ipsec/sys/dev/sfxge/common/efx.h projects/ipsec/sys/dev/sfxge/common/efx_bootcfg.c projects/ipsec/sys/dev/sfxge/common/efx_check.h projects/ipsec/sys/dev/sfxge/common/efx_ev.c projects/ipsec/sys/dev/sfxge/common/efx_filter.c projects/ipsec/sys/dev/sfxge/common/efx_impl.h projects/ipsec/sys/dev/sfxge/common/efx_lic.c projects/ipsec/sys/dev/sfxge/common/efx_mac.c projects/ipsec/sys/dev/sfxge/common/efx_mcdi.c projects/ipsec/sys/dev/sfxge/common/efx_mcdi.h projects/ipsec/sys/dev/sfxge/common/efx_mon.c projects/ipsec/sys/dev/sfxge/common/efx_nic.c projects/ipsec/sys/dev/sfxge/common/efx_nvram.c projects/ipsec/sys/dev/sfxge/common/efx_phy.c projects/ipsec/sys/dev/sfxge/common/efx_port.c projects/ipsec/sys/dev/sfxge/common/efx_regs_mcdi.h projects/ipsec/sys/dev/sfxge/common/efx_rx.c projects/ipsec/sys/dev/sfxge/common/efx_tx.c projects/ipsec/sys/dev/sfxge/common/efx_types.h projects/ipsec/sys/dev/sfxge/common/hunt_impl.h projects/ipsec/sys/dev/sfxge/common/hunt_nic.c projects/ipsec/sys/dev/sfxge/common/mcdi_mon.c projects/ipsec/sys/dev/sfxge/common/medford_nic.c projects/ipsec/sys/dev/sfxge/common/siena_flash.h projects/ipsec/sys/dev/sfxge/common/siena_impl.h projects/ipsec/sys/dev/sfxge/common/siena_mac.c projects/ipsec/sys/dev/sfxge/common/siena_mcdi.c projects/ipsec/sys/dev/sfxge/common/siena_nic.c projects/ipsec/sys/dev/sfxge/common/siena_nvram.c projects/ipsec/sys/dev/sfxge/common/siena_phy.c projects/ipsec/sys/dev/sfxge/common/siena_vpd.c projects/ipsec/sys/dev/sfxge/sfxge.c projects/ipsec/sys/dev/sfxge/sfxge.h projects/ipsec/sys/dev/sfxge/sfxge_ev.c projects/ipsec/sys/dev/sfxge/sfxge_mcdi.c projects/ipsec/sys/dev/sfxge/sfxge_port.c projects/ipsec/sys/dev/sfxge/sfxge_rx.c projects/ipsec/sys/dev/sfxge/sfxge_tx.c projects/ipsec/sys/dev/siis/siis.c projects/ipsec/sys/dev/sound/pci/hda/hdaa.c projects/ipsec/sys/dev/sound/pci/hda/hdac.c projects/ipsec/sys/dev/sound/pci/hda/hdac.h projects/ipsec/sys/dev/sound/usb/uaudio.c projects/ipsec/sys/dev/spibus/spibus.c projects/ipsec/sys/dev/sym/sym_hipd.c projects/ipsec/sys/dev/trm/trm.c projects/ipsec/sys/dev/twa/tw_osl_cam.c projects/ipsec/sys/dev/tws/tws_cam.c projects/ipsec/sys/dev/uart/uart_bus_pci.c projects/ipsec/sys/dev/uart/uart_core.c projects/ipsec/sys/dev/usb/controller/ehci_imx.c projects/ipsec/sys/dev/usb/controller/xhci.c projects/ipsec/sys/dev/usb/controller/xhci.h projects/ipsec/sys/dev/usb/controller/xhci_pci.c projects/ipsec/sys/dev/usb/misc/udbp.c projects/ipsec/sys/dev/usb/quirk/usb_quirk.c projects/ipsec/sys/dev/usb/quirk/usb_quirk.h projects/ipsec/sys/dev/usb/usb_hub.c projects/ipsec/sys/dev/usb/usbdevs projects/ipsec/sys/dev/usb/wlan/if_rsu.c projects/ipsec/sys/dev/usb/wlan/if_run.c projects/ipsec/sys/dev/virtio/scsi/virtio_scsi.c projects/ipsec/sys/dev/xdma/xdma.c projects/ipsec/sys/dev/xdma/xdma.h projects/ipsec/sys/dev/xen/netfront/netfront.c projects/ipsec/sys/fs/cd9660/cd9660_lookup.c projects/ipsec/sys/fs/cd9660/cd9660_node.c projects/ipsec/sys/fs/cd9660/cd9660_node.h projects/ipsec/sys/fs/cd9660/cd9660_rrip.c projects/ipsec/sys/fs/cd9660/cd9660_vfsops.c projects/ipsec/sys/fs/cd9660/cd9660_vnops.c projects/ipsec/sys/fs/cd9660/iso.h projects/ipsec/sys/fs/cd9660/iso_rrip.h projects/ipsec/sys/fs/ext2fs/ext2_alloc.c projects/ipsec/sys/fs/ext2fs/ext2_balloc.c projects/ipsec/sys/fs/ext2fs/ext2_bmap.c projects/ipsec/sys/fs/ext2fs/ext2_dir.h projects/ipsec/sys/fs/ext2fs/ext2_extents.c projects/ipsec/sys/fs/ext2fs/ext2_extents.h projects/ipsec/sys/fs/ext2fs/ext2_extern.h projects/ipsec/sys/fs/ext2fs/ext2_hash.c projects/ipsec/sys/fs/ext2fs/ext2_htree.c projects/ipsec/sys/fs/ext2fs/ext2_inode.c projects/ipsec/sys/fs/ext2fs/ext2_inode_cnv.c projects/ipsec/sys/fs/ext2fs/ext2_lookup.c projects/ipsec/sys/fs/ext2fs/ext2_mount.h projects/ipsec/sys/fs/ext2fs/ext2_subr.c projects/ipsec/sys/fs/ext2fs/ext2_vfsops.c projects/ipsec/sys/fs/ext2fs/ext2_vnops.c projects/ipsec/sys/fs/ext2fs/ext2fs.h projects/ipsec/sys/fs/ext2fs/fs.h projects/ipsec/sys/fs/ext2fs/htree.h projects/ipsec/sys/fs/ext2fs/inode.h projects/ipsec/sys/fs/nfs/nfs_commonsubs.c projects/ipsec/sys/fs/nfsclient/nfs_clvnops.c projects/ipsec/sys/fs/nfsserver/nfs_nfsdport.c projects/ipsec/sys/fs/nfsserver/nfs_nfsdserv.c projects/ipsec/sys/fs/nullfs/null_vfsops.c projects/ipsec/sys/fs/pseudofs/pseudofs_vncache.c projects/ipsec/sys/fs/tmpfs/tmpfs.h projects/ipsec/sys/fs/tmpfs/tmpfs_fifoops.c projects/ipsec/sys/fs/tmpfs/tmpfs_subr.c projects/ipsec/sys/fs/tmpfs/tmpfs_vfsops.c projects/ipsec/sys/fs/tmpfs/tmpfs_vnops.c projects/ipsec/sys/fs/tmpfs/tmpfs_vnops.h projects/ipsec/sys/fs/unionfs/union_vfsops.c projects/ipsec/sys/geom/geom_disk.c projects/ipsec/sys/geom/geom_disk.h projects/ipsec/sys/geom/multipath/g_multipath.c projects/ipsec/sys/geom/raid/md_ddf.c projects/ipsec/sys/geom/raid/md_promise.c projects/ipsec/sys/geom/vinum/geom_vinum_state.c projects/ipsec/sys/i386/cloudabi32/cloudabi32_sysvec.c projects/ipsec/sys/i386/conf/GENERIC projects/ipsec/sys/i386/i386/pmap.c projects/ipsec/sys/i386/ibcs2/ibcs2_stat.c projects/ipsec/sys/i386/include/cpufunc.h projects/ipsec/sys/kern/bus_if.m projects/ipsec/sys/kern/imgact_elf.c projects/ipsec/sys/kern/init_sysent.c projects/ipsec/sys/kern/kern_acct.c projects/ipsec/sys/kern/kern_clocksource.c projects/ipsec/sys/kern/kern_descrip.c projects/ipsec/sys/kern/kern_event.c projects/ipsec/sys/kern/kern_exec.c projects/ipsec/sys/kern/kern_ktrace.c projects/ipsec/sys/kern/kern_mutex.c projects/ipsec/sys/kern/kern_prot.c projects/ipsec/sys/kern/kern_racct.c projects/ipsec/sys/kern/kern_rwlock.c projects/ipsec/sys/kern/kern_sendfile.c projects/ipsec/sys/kern/kern_shutdown.c projects/ipsec/sys/kern/kern_switch.c projects/ipsec/sys/kern/kern_sx.c projects/ipsec/sys/kern/kern_synch.c projects/ipsec/sys/kern/kern_time.c projects/ipsec/sys/kern/sched_4bsd.c projects/ipsec/sys/kern/sched_ule.c projects/ipsec/sys/kern/subr_bus.c projects/ipsec/sys/kern/subr_clock.c projects/ipsec/sys/kern/subr_gtaskqueue.c projects/ipsec/sys/kern/subr_unit.c projects/ipsec/sys/kern/sys_socket.c projects/ipsec/sys/kern/syscalls.c projects/ipsec/sys/kern/syscalls.master projects/ipsec/sys/kern/systrace_args.c projects/ipsec/sys/kern/tty.c projects/ipsec/sys/kern/tty_inq.c projects/ipsec/sys/kern/tty_outq.c projects/ipsec/sys/kern/uipc_mbuf.c projects/ipsec/sys/kern/uipc_mbuf2.c projects/ipsec/sys/kern/uipc_socket.c projects/ipsec/sys/kern/uipc_usrreq.c projects/ipsec/sys/kern/vfs_bio.c projects/ipsec/sys/kern/vfs_cache.c projects/ipsec/sys/kern/vfs_cluster.c projects/ipsec/sys/kern/vfs_default.c projects/ipsec/sys/kern/vfs_lookup.c projects/ipsec/sys/kern/vfs_mount.c projects/ipsec/sys/kern/vfs_subr.c projects/ipsec/sys/kern/vfs_syscalls.c projects/ipsec/sys/kern/vfs_vnops.c projects/ipsec/sys/libkern/bcd.c projects/ipsec/sys/libkern/bcmp.c projects/ipsec/sys/libkern/bsearch.c projects/ipsec/sys/libkern/iconv_ucs.c projects/ipsec/sys/libkern/iconv_xlat16.c projects/ipsec/sys/libkern/memmem.c projects/ipsec/sys/libkern/qdivrem.c projects/ipsec/sys/libkern/qsort.c projects/ipsec/sys/libkern/random.c projects/ipsec/sys/libkern/scanc.c projects/ipsec/sys/libkern/strcmp.c projects/ipsec/sys/libkern/strncpy.c projects/ipsec/sys/mips/atheros/ar71xxreg.h projects/ipsec/sys/mips/atheros/uart_bus_ar71xx.c projects/ipsec/sys/mips/atheros/uart_bus_ar933x.c projects/ipsec/sys/mips/conf/JZ4780 projects/ipsec/sys/mips/conf/MALTA64 projects/ipsec/sys/mips/conf/OCTEON1 projects/ipsec/sys/mips/conf/ONIONOMEGA.hints projects/ipsec/sys/mips/conf/std.MALTA projects/ipsec/sys/mips/include/cpuregs.h projects/ipsec/sys/mips/include/db_machdep.h projects/ipsec/sys/mips/include/pmap.h projects/ipsec/sys/mips/include/pte.h projects/ipsec/sys/mips/include/vm.h projects/ipsec/sys/mips/ingenic/jz4780_aic.c projects/ipsec/sys/mips/ingenic/jz4780_codec.c projects/ipsec/sys/mips/ingenic/jz4780_codec.h projects/ipsec/sys/mips/ingenic/jz4780_mmc.c projects/ipsec/sys/mips/ingenic/jz4780_mpboot.S projects/ipsec/sys/mips/mips/busdma_machdep.c projects/ipsec/sys/mips/mips/db_trace.c projects/ipsec/sys/mips/mips/mem.c projects/ipsec/sys/mips/mips/pmap.c projects/ipsec/sys/mips/mips/trap.c projects/ipsec/sys/modules/Makefile projects/ipsec/sys/modules/ahci/Makefile projects/ipsec/sys/modules/ath/Makefile projects/ipsec/sys/modules/cxgbe/t4_firmware/Makefile projects/ipsec/sys/modules/cxgbe/t5_firmware/Makefile projects/ipsec/sys/modules/cxgbe/t6_firmware/Makefile projects/ipsec/sys/modules/em/Makefile projects/ipsec/sys/modules/if_lagg/Makefile projects/ipsec/sys/modules/if_vlan/Makefile projects/ipsec/sys/modules/rtwn/Makefile projects/ipsec/sys/modules/rtwn_usb/Makefile projects/ipsec/sys/modules/rtwnfw/Makefile projects/ipsec/sys/modules/sfxge/Makefile projects/ipsec/sys/modules/wlan/Makefile projects/ipsec/sys/net/ieee8023ad_lacp.c projects/ipsec/sys/net/ieee8023ad_lacp.h projects/ipsec/sys/net/if.c projects/ipsec/sys/net/if.h projects/ipsec/sys/net/if_dead.c projects/ipsec/sys/net/if_lagg.c projects/ipsec/sys/net/if_media.c projects/ipsec/sys/net/if_media.h projects/ipsec/sys/net/if_var.h projects/ipsec/sys/net/if_vlan.c projects/ipsec/sys/net/ifdi_if.m projects/ipsec/sys/net/iflib.c projects/ipsec/sys/net/iflib.h projects/ipsec/sys/net80211/_ieee80211.h projects/ipsec/sys/net80211/ieee80211.c projects/ipsec/sys/net80211/ieee80211.h projects/ipsec/sys/net80211/ieee80211_action.c projects/ipsec/sys/net80211/ieee80211_adhoc.c projects/ipsec/sys/net80211/ieee80211_hostap.c projects/ipsec/sys/net80211/ieee80211_ht.c projects/ipsec/sys/net80211/ieee80211_ht.h projects/ipsec/sys/net80211/ieee80211_input.c projects/ipsec/sys/net80211/ieee80211_ioctl.c projects/ipsec/sys/net80211/ieee80211_ioctl.h projects/ipsec/sys/net80211/ieee80211_node.c projects/ipsec/sys/net80211/ieee80211_node.h projects/ipsec/sys/net80211/ieee80211_output.c projects/ipsec/sys/net80211/ieee80211_proto.c projects/ipsec/sys/net80211/ieee80211_proto.h projects/ipsec/sys/net80211/ieee80211_scan.c projects/ipsec/sys/net80211/ieee80211_scan.h projects/ipsec/sys/net80211/ieee80211_scan_sta.c projects/ipsec/sys/net80211/ieee80211_sta.c projects/ipsec/sys/net80211/ieee80211_tdma.c projects/ipsec/sys/net80211/ieee80211_var.h projects/ipsec/sys/netgraph/ng_mppc.c projects/ipsec/sys/netinet/cc/cc.h projects/ipsec/sys/netinet/in_pcb.c projects/ipsec/sys/netinet/in_pcb.h projects/ipsec/sys/netinet/ip_carp.c projects/ipsec/sys/netinet/ip_fastfwd.c projects/ipsec/sys/netinet/ip_input.c projects/ipsec/sys/netinet/ip_output.c projects/ipsec/sys/netinet/raw_ip.c projects/ipsec/sys/netinet/sctp_output.c projects/ipsec/sys/netinet/sctp_syscalls.c projects/ipsec/sys/netinet/tcp_hostcache.c projects/ipsec/sys/netinet/tcp_input.c projects/ipsec/sys/netinet/tcp_output.c projects/ipsec/sys/netinet/tcp_stacks/fastpath.c projects/ipsec/sys/netinet/tcp_subr.c projects/ipsec/sys/netinet/tcp_var.h projects/ipsec/sys/netinet6/in6_proto.c projects/ipsec/sys/netinet6/ip6_input.c projects/ipsec/sys/netinet6/ip6_output.c projects/ipsec/sys/netinet6/nd6.c projects/ipsec/sys/netpfil/ipfw/ip_dummynet.c projects/ipsec/sys/netpfil/ipfw/ip_fw_private.h projects/ipsec/sys/powerpc/aim/trap_subr32.S projects/ipsec/sys/powerpc/conf/GENERIC64 projects/ipsec/sys/powerpc/include/asm.h projects/ipsec/sys/powerpc/include/frame.h projects/ipsec/sys/powerpc/include/vmparam.h projects/ipsec/sys/powerpc/mpc85xx/fsl_diu.c projects/ipsec/sys/powerpc/powerpc/db_trace.c projects/ipsec/sys/powerpc/powerpc/trap.c projects/ipsec/sys/powerpc/ps3/ps3cdrom.c projects/ipsec/sys/powerpc/pseries/phyp_vscsi.c projects/ipsec/sys/riscv/include/frame.h projects/ipsec/sys/riscv/riscv/trap.c projects/ipsec/sys/sparc64/include/atomic.h projects/ipsec/sys/sparc64/sparc64/mem.c projects/ipsec/sys/sys/ata.h projects/ipsec/sys/sys/buf_ring.h projects/ipsec/sys/sys/bus.h projects/ipsec/sys/sys/busdma_bufalloc.h projects/ipsec/sys/sys/cdefs.h projects/ipsec/sys/sys/conf.h projects/ipsec/sys/sys/copyright.h projects/ipsec/sys/sys/devmap.h projects/ipsec/sys/sys/elf32.h projects/ipsec/sys/sys/elf64.h projects/ipsec/sys/sys/elf_common.h projects/ipsec/sys/sys/event.h projects/ipsec/sys/sys/eventhandler.h projects/ipsec/sys/sys/eventvar.h projects/ipsec/sys/sys/extattr.h projects/ipsec/sys/sys/file.h projects/ipsec/sys/sys/gtaskqueue.h projects/ipsec/sys/sys/imgact.h projects/ipsec/sys/sys/ksem.h projects/ipsec/sys/sys/libkern.h projects/ipsec/sys/sys/mbuf.h projects/ipsec/sys/sys/mount.h projects/ipsec/sys/sys/mutex.h projects/ipsec/sys/sys/param.h projects/ipsec/sys/sys/pipe.h projects/ipsec/sys/sys/pmckern.h projects/ipsec/sys/sys/rwlock.h projects/ipsec/sys/sys/seq.h projects/ipsec/sys/sys/socket.h projects/ipsec/sys/sys/socketvar.h projects/ipsec/sys/sys/sockopt.h projects/ipsec/sys/sys/sx.h projects/ipsec/sys/sys/syscall.h projects/ipsec/sys/sys/syscall.mk projects/ipsec/sys/sys/syscallsubr.h projects/ipsec/sys/sys/sysproto.h projects/ipsec/sys/sys/taskqueue.h projects/ipsec/sys/sys/tty.h projects/ipsec/sys/sys/ttyqueue.h projects/ipsec/sys/sys/unistd.h projects/ipsec/sys/tools/embed_mfs.sh projects/ipsec/sys/ufs/ffs/ffs_softdep.c projects/ipsec/sys/ufs/ffs/ffs_vnops.c projects/ipsec/sys/ufs/ufs/extattr.h projects/ipsec/sys/ufs/ufs/ufs_vnops.c projects/ipsec/sys/vm/swap_pager.c projects/ipsec/sys/vm/swap_pager.h projects/ipsec/sys/vm/uma_core.c projects/ipsec/sys/vm/vm_domain.c projects/ipsec/sys/vm/vm_fault.c projects/ipsec/sys/vm/vm_init.c projects/ipsec/sys/vm/vm_kern.c projects/ipsec/sys/vm/vm_kern.h projects/ipsec/sys/vm/vm_map.c projects/ipsec/sys/vm/vm_mmap.c projects/ipsec/sys/vm/vm_object.c projects/ipsec/sys/vm/vm_page.c projects/ipsec/sys/vm/vm_page.h projects/ipsec/sys/vm/vm_pageout.c projects/ipsec/sys/vm/vm_pager.c projects/ipsec/sys/vm/vm_reserv.c projects/ipsec/sys/vm/vm_reserv.h projects/ipsec/sys/vm/vnode_pager.c projects/ipsec/sys/x86/pci/pci_bus.c projects/ipsec/sys/x86/x86/mca.c projects/ipsec/sys/x86/x86/mptable.c projects/ipsec/sys/x86/x86/nexus.c projects/ipsec/sys/xen/xenbus/xenbusb.c projects/ipsec/sys/xen/xenbus/xenbusb.h projects/ipsec/tests/sys/file/ftruncate_test.c projects/ipsec/tests/sys/geom/class/eli/Makefile projects/ipsec/tests/sys/geom/class/eli/conf.sh projects/ipsec/tests/sys/geom/class/eli/init_a_test.sh projects/ipsec/tests/sys/geom/class/eli/init_test.sh projects/ipsec/tests/sys/geom/class/eli/integrity_copy_test.sh projects/ipsec/tests/sys/geom/class/eli/integrity_data_test.sh projects/ipsec/tests/sys/geom/class/eli/integrity_hmac_test.sh projects/ipsec/tests/sys/geom/class/eli/onetime_a_test.sh projects/ipsec/tests/sys/geom/class/eli/onetime_test.sh projects/ipsec/tests/sys/geom/class/gate/Makefile projects/ipsec/tests/sys/geom/class/nop/Makefile projects/ipsec/tests/sys/kern/acct/Makefile projects/ipsec/tests/sys/kern/execve/execve_helper.c projects/ipsec/tests/sys/kern/pipe/pipe_ino_test.c projects/ipsec/tests/sys/mac/bsdextended/ugidfw_test.c projects/ipsec/tests/sys/vfs/lookup_cap_dotdot.c projects/ipsec/tests/sys/vm/mmap_test.c projects/ipsec/tools/build/mk/OptionalObsoleteFiles.inc projects/ipsec/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES projects/ipsec/tools/regression/sockets/unix_cmsg/Makefile projects/ipsec/tools/regression/sockets/unix_cmsg/unix_cmsg.c projects/ipsec/tools/tools/ath/athalq/ar9300_ds.c projects/ipsec/tools/tools/ath/athalq/ar9300_ds.h projects/ipsec/tools/tools/ath/athalq/main.c projects/ipsec/usr.bin/calendar/calendars/calendar.freebsd projects/ipsec/usr.bin/chat/chat.c projects/ipsec/usr.bin/clang/Makefile projects/ipsec/usr.bin/clang/llvm-ar/Makefile projects/ipsec/usr.bin/cmp/special.c projects/ipsec/usr.bin/cmp/tests/Makefile projects/ipsec/usr.bin/ctlstat/ctlstat.8 projects/ipsec/usr.bin/ctlstat/ctlstat.c projects/ipsec/usr.bin/cut/tests/Makefile projects/ipsec/usr.bin/find/find.1 projects/ipsec/usr.bin/find/ls.c projects/ipsec/usr.bin/fortune/fortune/fortune.6 projects/ipsec/usr.bin/gzip/gzip.c projects/ipsec/usr.bin/indent/args.c projects/ipsec/usr.bin/indent/indent.1 projects/ipsec/usr.bin/indent/indent.c projects/ipsec/usr.bin/indent/indent.h projects/ipsec/usr.bin/iscsictl/iscsictl.c projects/ipsec/usr.bin/iscsictl/iscsictl.h projects/ipsec/usr.bin/kdump/kdump.c projects/ipsec/usr.bin/mail/popen.c projects/ipsec/usr.bin/mail/send.c projects/ipsec/usr.bin/mandoc/Makefile projects/ipsec/usr.bin/mandoc/Makefile.depend projects/ipsec/usr.bin/minigzip/Makefile projects/ipsec/usr.bin/netstat/if.c projects/ipsec/usr.bin/netstat/inet.c projects/ipsec/usr.bin/netstat/inet6.c projects/ipsec/usr.bin/netstat/main.c projects/ipsec/usr.bin/netstat/mroute.c projects/ipsec/usr.bin/netstat/netstat.h projects/ipsec/usr.bin/netstat/route.c projects/ipsec/usr.bin/netstat/sctp.c projects/ipsec/usr.bin/netstat/unix.c projects/ipsec/usr.bin/patch/patch.c projects/ipsec/usr.bin/rpcgen/rpc_cout.c projects/ipsec/usr.bin/rpcgen/rpc_parse.c projects/ipsec/usr.bin/rpcgen/rpc_svcout.c projects/ipsec/usr.bin/sdiff/sdiff.c projects/ipsec/usr.bin/sed/tests/Makefile projects/ipsec/usr.bin/sort/coll.c projects/ipsec/usr.bin/sort/coll.h projects/ipsec/usr.bin/sort/radixsort.c projects/ipsec/usr.bin/tail/Makefile projects/ipsec/usr.bin/tail/reverse.c projects/ipsec/usr.bin/top/machine.c projects/ipsec/usr.bin/users/users.cc projects/ipsec/usr.sbin/acpi/acpidb/Makefile projects/ipsec/usr.sbin/acpi/acpidb/acpidb.c projects/ipsec/usr.sbin/amd/amd/Makefile projects/ipsec/usr.sbin/amd/include/config.h projects/ipsec/usr.sbin/bhyve/ps2mouse.c (contents, props changed) projects/ipsec/usr.sbin/bhyve/virtio.h projects/ipsec/usr.sbin/bsnmpd/bsnmpd/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_atm/BEGEMOT-ATM-FREEBSD-MIB.txt projects/ipsec/usr.sbin/bsnmpd/modules/snmp_atm/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_atm/atm_sys.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_bridge/BEGEMOT-BRIDGE-MIB.txt projects/ipsec/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_addrs.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_if.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_port.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_bridge/bridge_sys.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_bridge/snmp_bridge.3 projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hast/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/BEGEMOT-HOSTRES-MIB.txt projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_device_tbl.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_fs_tbl.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_partition_tbl.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_scalars.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_snmp.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_storage_tbl.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/hostres_swinstalled_tbl.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_hostres/snmp_hostres.3 projects/ipsec/usr.sbin/bsnmpd/modules/snmp_mibII/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_netgraph/BEGEMOT-NETGRAPH.txt projects/ipsec/usr.sbin/bsnmpd/modules/snmp_netgraph/snmp_netgraph.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_pf/BEGEMOT-PF-MIB.txt projects/ipsec/usr.sbin/bsnmpd/modules/snmp_pf/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_pf/pf_snmp.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_target/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_usm/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_vacm/Makefile projects/ipsec/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.c projects/ipsec/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_snmp.h projects/ipsec/usr.sbin/bsnmpd/modules/snmp_wlan/wlan_sys.c projects/ipsec/usr.sbin/bsnmpd/tools/Makefile projects/ipsec/usr.sbin/bsnmpd/tools/bsnmptools/Makefile projects/ipsec/usr.sbin/bsnmpd/tools/bsnmptools/bsnmpget.c projects/ipsec/usr.sbin/bsnmpd/tools/libbsnmptools/Makefile projects/ipsec/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpimport.c projects/ipsec/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmpmap.c projects/ipsec/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptc.c projects/ipsec/usr.sbin/bsnmpd/tools/libbsnmptools/bsnmptools.c projects/ipsec/usr.sbin/camdd/camdd.c projects/ipsec/usr.sbin/chown/chgrp.1 projects/ipsec/usr.sbin/chown/chown.8 projects/ipsec/usr.sbin/chown/chown.c projects/ipsec/usr.sbin/crunch/crunchgen/crunchgen.1 projects/ipsec/usr.sbin/crunch/crunchide/exec_elf32.c projects/ipsec/usr.sbin/ctladm/ctladm.8 projects/ipsec/usr.sbin/ctld/ctld.c projects/ipsec/usr.sbin/ctld/ctld.h projects/ipsec/usr.sbin/ctld/login.c projects/ipsec/usr.sbin/ctld/parse.y projects/ipsec/usr.sbin/ctld/pdu.c projects/ipsec/usr.sbin/ctld/uclparse.c projects/ipsec/usr.sbin/diskinfo/diskinfo.c projects/ipsec/usr.sbin/fmtree/compare.c projects/ipsec/usr.sbin/fmtree/create.c projects/ipsec/usr.sbin/fmtree/specspec.c projects/ipsec/usr.sbin/fstyp/Makefile projects/ipsec/usr.sbin/fstyp/fstyp.8 projects/ipsec/usr.sbin/fstyp/fstyp.c projects/ipsec/usr.sbin/fstyp/fstyp.h projects/ipsec/usr.sbin/fstyp/tests/Makefile projects/ipsec/usr.sbin/fstyp/tests/fstyp_test.sh projects/ipsec/usr.sbin/inetd/Makefile projects/ipsec/usr.sbin/inetd/builtins.c projects/ipsec/usr.sbin/inetd/inetd.c projects/ipsec/usr.sbin/inetd/inetd.h projects/ipsec/usr.sbin/iscsid/iscsid.c projects/ipsec/usr.sbin/iscsid/iscsid.h projects/ipsec/usr.sbin/iscsid/login.c projects/ipsec/usr.sbin/iscsid/pdu.c projects/ipsec/usr.sbin/mfiutil/mfi_evt.c projects/ipsec/usr.sbin/mptutil/mpt_cam.c projects/ipsec/usr.sbin/ntp/doc/ntp.conf.5 projects/ipsec/usr.sbin/pciconf/pciconf.c projects/ipsec/usr.sbin/pw/psdate.c projects/ipsec/usr.sbin/pw/pw_user.c projects/ipsec/usr.sbin/pw/tests/pw_usermod.sh projects/ipsec/usr.sbin/route6d/route6d.c projects/ipsec/usr.sbin/rpcbind/Makefile projects/ipsec/usr.sbin/rwhod/rwhod.c projects/ipsec/usr.sbin/sendmail/Makefile projects/ipsec/usr.sbin/syslogd/syslogd.c projects/ipsec/usr.sbin/wpa/wpa_cli/wpa_cli.8 projects/ipsec/usr.sbin/ypserv/Makefile Directory Properties: projects/ipsec/ (props changed) projects/ipsec/cddl/ (props changed) projects/ipsec/contrib/bzip2/ (props changed) projects/ipsec/contrib/elftoolchain/ (props changed) projects/ipsec/contrib/libarchive/ (props changed) projects/ipsec/contrib/llvm/ (props changed) projects/ipsec/contrib/llvm/projects/libunwind/ (props changed) projects/ipsec/contrib/mdocml/ (props changed) projects/ipsec/contrib/mtree/ (props changed) projects/ipsec/contrib/netbsd-tests/ (props changed) projects/ipsec/contrib/tcpdump/ (props changed) projects/ipsec/contrib/xz/ (props changed) projects/ipsec/crypto/openssh/ (props changed) projects/ipsec/gnu/lib/ (props changed) projects/ipsec/gnu/usr.bin/binutils/ (props changed) projects/ipsec/gnu/usr.bin/gdb/ (props changed) projects/ipsec/sys/cddl/contrib/opensolaris/ (props changed) projects/ipsec/sys/contrib/ck/ (props changed) projects/ipsec/sys/contrib/dev/acpica/ (props changed) projects/ipsec/sys/contrib/ipfilter/ (props changed) Modified: projects/ipsec/COPYRIGHT ============================================================================== --- projects/ipsec/COPYRIGHT Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/COPYRIGHT Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ The compilation of software known as FreeBSD is distributed under the following terms: -Copyright (c) 1992-2016 The FreeBSD Project. All rights reserved. +Copyright (c) 1992-2017 The FreeBSD Project. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions Modified: projects/ipsec/Makefile.inc1 ============================================================================== --- projects/ipsec/Makefile.inc1 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/Makefile.inc1 Tue Jan 24 23:41:20 2017 (r312727) @@ -606,7 +606,7 @@ XCFLAGS+= ${BFLAGS} .endif .if ${MK_LIB32} != "no" && (${TARGET_ARCH} == "amd64" || \ - ${TARGET_ARCH} == "powerpc64") + ${TARGET_ARCH} == "powerpc64") || ${TARGET_ARCH:Mmips64*} != "" LIBCOMPAT= 32 .include "Makefile.libcompat" .elif ${MK_LIBSOFT} != "no" && ${TARGET_ARCH} == "armv6" @@ -1694,11 +1694,10 @@ _kerberos5_bootstrap_tools= \ .endif # r283777 makewhatis(1) replaced with mandoc version which builds a database. -.if ${MK_MANDOCDB} != "no" && ${BOOTSTRAPPING} < 1100075 +.if ${MK_MANDOCDB} != "no" _libopenbsd?= lib/libopenbsd -_makewhatis= lib/libsqlite3 \ - usr.bin/mandoc -${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd ${_bt}-lib/libsqlite3 +_makewhatis= usr.bin/mandoc +${_bt}-usr.bin/mandoc: ${_bt}-lib/libopenbsd .endif bootstrap-tools: .PHONY @@ -1867,6 +1866,7 @@ cross-tools: .MAKE .PHONY NXBDESTDIR= ${OBJTREE}/nxb-bin NXBENV= MAKEOBJDIRPREFIX=${OBJTREE}/nxb \ + TOOLS_PREFIX= \ INSTALL="sh ${.CURDIR}/tools/install.sh" \ PATH=${PATH}:${OBJTREE}/gperf_for_gcc/usr/bin NXBMAKE= ${NXBENV} ${MAKE} \ @@ -2155,7 +2155,7 @@ secure/lib/libssh__L: lib/libz__L secure .if ${MK_LDNS} != "no" secure/lib/libssh__L: lib/libldns__L .endif -.if ${MK_KERBEROS_SUPPORT} != "no" +.if ${MK_GSSAPI} != "no" && ${MK_KERBEROS_SUPPORT} != "no" secure/lib/libssh__L: lib/libgssapi__L kerberos5/lib/libkrb5__L \ kerberos5/lib/libhx509__L kerberos5/lib/libasn1__L lib/libcom_err__L \ lib/libmd__L kerberos5/lib/libroken__L Modified: projects/ipsec/Makefile.libcompat ============================================================================== --- projects/ipsec/Makefile.libcompat Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/Makefile.libcompat Tue Jan 24 23:41:20 2017 (r312727) @@ -4,8 +4,7 @@ __<${_this:T}>__: # Makefile for the compatibility libraries. -# - 32-bit compat libraries on PowerPC and AMD64. -# could also be for mips, but that doesn't work today. +# - 32-bit compat libraries on MIPS, PowerPC, and AMD64. # ------------------------------------------------------------------- # 32 bit world @@ -15,6 +14,7 @@ LIB32CPUFLAGS= -march=i686 -mmmx -msse - .else LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} .endif +LIB32CPUFLAGS+= -m32 LIB32WMAKEENV= MACHINE=i386 MACHINE_ARCH=i386 \ MACHINE_CPU="i686 mmx sse sse2" LIB32WMAKEFLAGS= \ @@ -28,14 +28,30 @@ LIB32CPUFLAGS= -mcpu=powerpc .else LIB32CPUFLAGS= -mcpu=${TARGET_CPUTYPE} .endif +LIB32CPUFLAGS+= -m32 LIB32WMAKEENV= MACHINE=powerpc MACHINE_ARCH=powerpc LIB32WMAKEFLAGS= \ LD="${XLD} -m elf32ppc_fbsd" \ OBJCOPY="${XOBJCOPY}" + +.elif ${TARGET_ARCH:Mmips64*} != "" +.if empty(TARGET_CPUTYPE) +LIB32CPUFLAGS= -march=mips3 +.else +LIB32CPUFLAGS= -march=${TARGET_CPUTYPE} +.endif +LIB32CPUFLAGS+= -mabi=32 +LIB32WMAKEENV= MACHINE=mips MACHINE_ARCH=mips +.if ${TARGET_ARCH:Mmips64el*} != "" +LIB32WMAKEFLAGS= LD="${XLD} -m elf32ltsmip_fbsd" +.else +LIB32WMAKEFLAGS= LD="${XLD} -m elf32btsmip_fbsd" +.endif +LIB32WMAKEFLAGS+= OBJCOPY="${XOBJCOPY}" .endif -LIB32CFLAGS= -m32 -DCOMPAT_32BIT +LIB32CFLAGS= -DCOMPAT_32BIT LIB32DTRACE= ${DTRACE} -32 LIB32WMAKEFLAGS+= -DCOMPAT_32BIT Modified: projects/ipsec/ObsoleteFiles.inc ============================================================================== --- projects/ipsec/ObsoleteFiles.inc Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/ObsoleteFiles.inc Tue Jan 24 23:41:20 2017 (r312727) @@ -38,6 +38,24 @@ # xargs -n1 | sort | uniq -d; # done +# 20170110: Four files from ggate tests consolidated into one +OLD_FILES+=usr/tests/sys/geom/class/gate/1_test +OLD_FILES+=usr/tests/sys/geom/class/gate/2_test +OLD_FILES+=usr/tests/sys/geom/class/gate/3_test +OLD_FILES+=usr/tests/sys/geom/class/gate/conf.sh +# 20170103: libbsnmptools.so made into an INTERNALLIB +OLD_FILES+=usr/lib/libbsnmptools.a +OLD_FILES+=usr/lib/libbsnmptools_p.a +OLD_LIBS+=usr/lib/libbsnmptools.so.0 +OLD_LIBS+=usr/lib/libbsnmptools.so +# 20170102: sysdecode_getfsstat_flags() renamed to sysdecode_getfsstat_mode() +OLD_FILES+=usr/share/man/man3/sysdecode_getfsstat_flags.3.gz +# 20161230: libarchive ACL pax test renamed to test_acl_pax_posix1e.tar.uu +OLD_FILES+=usr/tests/lib/libarchive/test_acl_pax.tar.uu +# 20161229: Three files from gnop tests consolidated into one +OLD_FILES+=usr/tests/sys/geom/class/nop/1_test +OLD_FILES+=usr/tests/sys/geom/class/nop/2_test +OLD_FILES+=usr/tests/sys/geom/class/nop/conf.sh # 20161217: new clang import which bumps version from 3.9.0 to 3.9.1. OLD_FILES+=usr/lib/clang/3.9.0/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/3.9.0/include/sanitizer/asan_interface.h @@ -2247,7 +2265,6 @@ OLD_LIBS+=usr/lib32/private/libyaml.so.1 OLD_FILES+=usr/lib32/private/libyaml_p.a # 20140216: new clang import which bumps version from 3.3 to 3.4. OLD_FILES+=usr/bin/llvm-prof -OLD_FILES+=usr/bin/llvm-ranlib OLD_FILES+=usr/include/clang/3.3/__wmmintrin_aes.h OLD_FILES+=usr/include/clang/3.3/__wmmintrin_pclmul.h OLD_FILES+=usr/include/clang/3.3/altivec.h Modified: projects/ipsec/UPDATING ============================================================================== --- projects/ipsec/UPDATING Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/UPDATING Tue Jan 24 23:41:20 2017 (r312727) @@ -51,6 +51,15 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12 ****************************** SPECIAL WARNING: ****************************** +20170112: + The EM_MULTIQUEUE kernel configuration option is deprecated now that + the em(4) driver conforms to iflib specifications. + +20170109: + The igb(4), em(4) and lem(4) ethernet drivers are now implemented via + IFLIB. If you have a custom kernel configuration that excludes em(4) + but you use igb(4), you need to re-add em(4) to your custom configuration. + 20161217: Clang, llvm, lldb, compiler-rt and libc++ have been upgraded to 3.9.1. Please see the 20141231 entry below for information about prerequisites Modified: projects/ipsec/bin/chmod/chmod.1 ============================================================================== --- projects/ipsec/bin/chmod/chmod.1 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/bin/chmod/chmod.1 Tue Jan 24 23:41:20 2017 (r312727) @@ -32,7 +32,7 @@ .\" @(#)chmod.1 8.4 (Berkeley) 3/31/94 .\" $FreeBSD$ .\" -.Dd April 20, 2015 +.Dd January 7, 2017 .Dt CHMOD 1 .Os .Sh NAME @@ -106,6 +106,16 @@ option is specified. In addition, these options override each other and the command's actions are determined by the last one specified. .Pp +If +.Nm +receives a +.Dv SIGINFO +signal (see the +.Cm status +argument for +.Xr stty 1 ) , +then the current filename as well as the old and new modes are displayed. +.Pp Only the owner of a file or the super-user is permitted to change the mode of a file. .Sh EXIT STATUS Modified: projects/ipsec/bin/chmod/chmod.c ============================================================================== --- projects/ipsec/bin/chmod/chmod.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/bin/chmod/chmod.c Tue Jan 24 23:41:20 2017 (r312727) @@ -49,14 +49,24 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include #include +static volatile sig_atomic_t siginfo; + static void usage(void); static int may_have_nfs4acl(const FTSENT *ent, int hflag); +static void +siginfo_handler(int sig __unused) +{ + + siginfo = 1; +} + int main(int argc, char *argv[]) { @@ -125,6 +135,8 @@ done: argv += optind; if (argc < 2) usage(); + (void)signal(SIGINFO, siginfo_handler); + if (Rflag) { if (hflag) errx(1, "the -R and -h options may not be " @@ -192,10 +204,10 @@ done: argv += optind; && !fflag) { warn("%s", p->fts_path); rval = 1; - } else if (vflag) { + } else if (vflag || siginfo) { (void)printf("%s", p->fts_path); - if (vflag > 1) { + if (vflag > 1 || siginfo) { char m1[12], m2[12]; strmode(p->fts_statp->st_mode, m1); @@ -207,6 +219,7 @@ done: argv += optind; newmode, m2); } (void)printf("\n"); + siginfo = 0; } } if (errno) Modified: projects/ipsec/bin/pax/gen_subs.c ============================================================================== --- projects/ipsec/bin/pax/gen_subs.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/bin/pax/gen_subs.c Tue Jan 24 23:41:20 2017 (r312727) @@ -109,7 +109,8 @@ ls_list(ARCHD *arcn, time_t now, FILE *f */ if (strftime(f_date,DATELEN,timefrmt,localtime(&(sbp->st_mtime))) == 0) f_date[0] = '\0'; - (void)fprintf(fp, "%s%2u %-12s %-12s ", f_mode, sbp->st_nlink, + (void)fprintf(fp, "%s%2ju %-12s %-12s ", f_mode, + (uintmax_t)sbp->st_nlink, name_uid(sbp->st_uid, 1), name_gid(sbp->st_gid, 1)); /* Modified: projects/ipsec/cddl/lib/libdtrace/ip.d ============================================================================== --- projects/ipsec/cddl/lib/libdtrace/ip.d Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/cddl/lib/libdtrace/ip.d Tue Jan 24 23:41:20 2017 (r312727) @@ -255,8 +255,8 @@ translator ipv4info_t < struct ip *p > { ipv4_tos = p == NULL ? 0 : p->ip_tos; ipv4_length = p == NULL ? 0 : ntohs(p->ip_len); ipv4_ident = p == NULL ? 0 : ntohs(p->ip_id); - ipv4_flags = p == NULL ? 0 : (p->ip_off & 0xe000); - ipv4_offset = p == NULL ? 0 : p->ip_off; + ipv4_flags = p == NULL ? 0 : (ntohs(p->ip_off) & 0xe000) >> 8; + ipv4_offset = p == NULL ? 0 : ntohs(p->ip_off) & 0x1fff; ipv4_ttl = p == NULL ? 0 : p->ip_ttl; ipv4_protocol = p == NULL ? 0 : p->ip_p; ipv4_protostr = p == NULL ? "" : protocols[p->ip_p]; Modified: projects/ipsec/cddl/usr.sbin/zfsd/case_file.cc ============================================================================== --- projects/ipsec/cddl/usr.sbin/zfsd/case_file.cc Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/cddl/usr.sbin/zfsd/case_file.cc Tue Jan 24 23:41:20 2017 (r312727) @@ -656,8 +656,11 @@ CaseFile::DeSerializeFile(const char *fi uint64_t vdevGUID; nvlist_t *vdevConf; - sscanf(fileName, "pool_%" PRIu64 "_vdev_%" PRIu64 ".case", - &poolGUID, &vdevGUID); + if (sscanf(fileName, "pool_%" PRIu64 "_vdev_%" PRIu64 ".case", + &poolGUID, &vdevGUID) != 2) { + throw ZfsdException("CaseFile::DeSerialize: " + "Unintelligible CaseFile filename %s.\n", fileName); + } existingCaseFile = Find(Guid(poolGUID), Guid(vdevGUID)); if (existingCaseFile != NULL) { /* Modified: projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.1 ============================================================================== --- projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.1 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.1 Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ .\" All rights reserved. .\" .\" Author: Harti Brandt -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -13,7 +13,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.c ============================================================================== --- projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/gensnmpdef/gensnmpdef.c Tue Jan 24 23:41:20 2017 (r312727) @@ -1,10 +1,10 @@ -/* +/* * Copyright (C) 2004-2006 * Hartmut Brandt. * All rights reserved. - * + * * Author: Harti Brandt - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,7 +13,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -126,9 +126,11 @@ open_node(const SmiNode *n, u_int level, while (level < n->oidlen - 1) { if (level >= cut) { + n1 = smiGetNodeByOID(level + 1, n->oid); + if (n1 == NULL) + continue; pindent(level); printf("(%u", n->oid[level]); - n1 = smiGetNodeByOID(level + 1, n->oid); printf(" "); print_name(n1); printf("\n"); @@ -233,7 +235,7 @@ print_scalar(SmiNode *n, u_int level) printf(" op_%s", p->name); print_access(n->access); - + printf(")\n"); } @@ -397,12 +399,11 @@ static void save_typdef(char *name) { struct tdef *t; - t = malloc(sizeof(struct tdef)); + t = calloc(1, sizeof(struct tdef)); if (t == NULL) err(1, NULL); - memset(t, 0 , sizeof(struct tdef)); t->name = name; SLIST_INSERT_HEAD(&tdefs, t, link); } @@ -422,7 +423,7 @@ static void print_enum_typedef(SmiType *t) { SmiNamedNumber *nnum; - + for (nnum = smiGetFirstNamedNumber(t); nnum != NULL; nnum = smiGetNextNamedNumber(nnum)) { printf("\t%ld %s\n" , nnum->value.value.integer32, nnum->name); @@ -434,10 +435,10 @@ print_stype(SmiNode *n) { SmiType *type; struct tdef *t = NULL; - + type = smiGetNodeType(n); assert(type != NULL); - + if (type->basetype == SMI_BASETYPE_ENUM) { if (do_typedef == 'e' && type->name != NULL) { SLIST_FOREACH(t, &tdefs, link) { @@ -450,7 +451,7 @@ print_stype(SmiNode *n) printf("typedef %sType ENUM (\n", n->name); else return; - + print_enum_typedef(type); printf(")\n\n"); @@ -476,7 +477,7 @@ static void print_typdefs(SmiNode *n) { SmiNode *p; - + p = n; n = smiGetFirstChildNode(n); while (n != NULL) { @@ -559,7 +560,11 @@ main(int argc, char *argv[]) level = 0; last = NULL; for (opt = 0; opt < argc; opt++) { + if (mods[opt] == NULL) /* smiGetModule failed above */ + continue; n = smiGetFirstNode(mods[opt], SMI_NODEKIND_ANY); + if (n == NULL) + continue; for (;;) { if (do_typedef == 0) { level = open_node(n, level, &last); Modified: projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.1 ============================================================================== --- projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.1 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.1 Tue Jan 24 23:41:20 2017 (r312727) @@ -7,7 +7,7 @@ .\" All rights reserved. .\" .\" Author: Harti Brandt -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -16,7 +16,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.c ============================================================================== --- projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/gensnmptree/gensnmptree.c Tue Jan 24 23:41:20 2017 (r312727) @@ -8,7 +8,7 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -17,7 +17,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -738,7 +738,7 @@ parse_type(enum tok *tok, struct type *t e->value = -(long)val; } else e->value = val; - + if (*tok != TOK_NUM) report("need value for ENUM/BITS"); if (gettoken() != TOK_STR) Modified: projects/ipsec/contrib/bsnmp/lib/asn1.3 ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/asn1.3 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/asn1.3 Tue Jan 24 23:41:20 2017 (r312727) @@ -5,9 +5,9 @@ .\" Copyright (c) 2001-2003 .\" Fraunhofer Institute for Open Communication Systems (FhG Fokus). .\" All rights reserved. -.\" +.\" .\" Author: Harti Brandt -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -16,7 +16,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/lib/asn1.c ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/asn1.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/asn1.c Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,7 +13,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -285,7 +285,7 @@ asn_put_real_integer(struct asn_buf *b, enum asn_err ret; if (ival < 0) { - /* this may fail if |INT64_MIN| > |INT64_MAX| and + /* this may fail if |INT64_MIN| > |INT64_MAX| and * the value is between * INT64_MIN <= ival < -(INT64_MAX+1) */ val = (uint64_t)-(ival + 1); neg = 1; @@ -890,7 +890,7 @@ asn_slice_oid(struct asn_oid *dest, cons memcpy(dest->subs, &src->subs[from], dest->len * sizeof(dest->subs[0])); } -/* +/* * Append from to to */ void Modified: projects/ipsec/contrib/bsnmp/lib/asn1.h ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/asn1.h Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/asn1.h Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,7 +13,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/lib/bsnmpagent.3 ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/bsnmpagent.3 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/bsnmpagent.3 Tue Jan 24 23:41:20 2017 (r312727) @@ -7,7 +7,7 @@ .\" All rights reserved. .\" .\" Author: Harti Brandt -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -16,7 +16,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/lib/bsnmpclient.3 ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/bsnmpclient.3 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/bsnmpclient.3 Tue Jan 24 23:41:20 2017 (r312727) @@ -7,7 +7,7 @@ .\" All rights reserved. .\" .\" Author: Harti Brandt -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -16,7 +16,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -31,11 +31,14 @@ .\" .\" $Begemot: bsnmp/lib/bsnmpclient.3,v 1.12 2005/10/04 08:46:50 brandt_h Exp $ .\" -.Dd September 9, 2010 +.Dd December 31, 2016 .Dt BSNMPCLIENT 3 .Os .Sh NAME .Nm snmp_client , +.Nm snmp_client_init , +.Nm snmp_client_set_host , +.Nm snmp_client_set_port , .Nm snmp_send_cb_f , .Nm snmp_timeout_cb_f , .Nm snmp_timeout_start_f , @@ -208,13 +211,13 @@ The community name to be used for SET re The default is .Sq private . .It Va identifier -The message indentifier value to be used with SNMPv3 PDUs. Incremented with +The message identifier value to be used with SNMPv3 PDUs. Incremented with each transmitted PDU. .It Va security_model The security model to be used with SNMPv3 PDUs. Currently only User-Based Security model specified by RFC 3414 (value 3) is supported. .It Va engine -The authorative SNMP engine parameters to be used with SNMPv3 PDUs. +The authoritive SNMP engine parameters to be used with SNMPv3 PDUs. .It Va user The USM SNMP user credentials to be used with SNMPv3 PDUs. .It Va clen @@ -413,7 +416,7 @@ response is received. When a response is received or the retransmission count is exceeded the callback .Fa func -is called with the orignal request PDU, the response PDU and the user argument +is called with the original request PDU, the response PDU and the user argument .Fa uarg . If the retransmit count is exceeded, .Fa func @@ -648,7 +651,7 @@ If a response was received 0 is returned .Pp The function .Fn snmp_discover_engine -is used to discover the authorative snmpEngineId of a remote SNMPv3 agent. +is used to discover the authoritative snmpEngineId of a remote SNMPv3 agent. A request PDU with empty USM user name is sent and the client's engine parameters are set according to the snmpEngine parameters received in the response PDU. @@ -656,10 +659,10 @@ If the client is configured to use authe snmpEngineBoots and/or snmpEngineTime in the response had zero values, an additional request (possibly encrypted) with the appropriate user credentials is sent to fetch the missing values. -Note, that the function blocks until the discovery proccess is completed. +Note, that the function blocks until the discovery process is completed. If no response could be received after all timeouts and retries, or the response contained errors the function returns -1. -If the discovery proccess was completed 0 is returned. +If the discovery process was completed 0 is returned. .Pp The function .Fn snmp_parse_server Modified: projects/ipsec/contrib/bsnmp/lib/bsnmplib.3 ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/bsnmplib.3 Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/bsnmplib.3 Tue Jan 24 23:41:20 2017 (r312727) @@ -13,7 +13,7 @@ .\" All rights reserved. .\" .\" Author: Harti Brandt -.\" +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -22,7 +22,7 @@ .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. -.\" +.\" .\" THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -37,7 +37,7 @@ .\" .\" $Begemot: bsnmp/lib/bsnmplib.3,v 1.9 2005/10/04 08:46:51 brandt_h Exp $ .\" -.Dd December 19, 2010 +.Dd December 31, 2016 .Dt BSNMPLIB 3 .Os .Sh NAME @@ -381,7 +381,7 @@ The function verifies the authentication parameter contained in the PDU (if present) and if the PDU is encrypted, decrypts the PDU contents pointed to by .Fa buf . -If successfull, a plain text scoped PDU is stored in the buffer. +If successful, a plain text scoped PDU is stored in the buffer. .Pp The function .Fn snmp_pdu_init_secparams @@ -477,7 +477,7 @@ The requested securityLevel contained in The PDU authentication parameter received in the PDU did not match the calculated message digest. .It Bq Er SNMP_CODE_EDECRYPT -Error occured while trying to decrypt the PDU. +Error occurred while trying to decrypt the PDU. .El .Pp .Fn snmp_pdu_encode Modified: projects/ipsec/contrib/bsnmp/lib/snmp.c ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/snmp.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/snmp.c Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Copyright (c) 2010 The FreeBSD Foundation * All rights reserved. * @@ -19,7 +19,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -357,8 +357,8 @@ static enum snmp_code pdu_encode_secparams(struct asn_buf *b, struct snmp_pdu *pdu) { u_char buf[256], *sptr; - struct asn_buf tb; - size_t auth_off, moved = 0; + struct asn_buf tb; + size_t auth_off, moved = 0; auth_off = 0; memset(buf, 0, 256); @@ -684,7 +684,7 @@ snmp_pdu_snoop(const struct asn_buf *b0) struct asn_buf b = *b0; /* <0x10|0x20> */ - + if (b.asn_len == 0) return (0); if (b.asn_cptr[0] != (ASN_TYPE_SEQUENCE | ASN_TYPE_CONSTRUCTED)) { @@ -759,7 +759,7 @@ snmp_pdu_encode_header(struct asn_buf *b if (asn_put_temp_header(b, (ASN_TYPE_SEQUENCE | ASN_TYPE_CONSTRUCTED), &v3_hdr_ptr) != ASN_ERR_OK) return (SNMP_CODE_FAILED); - + if (asn_put_integer(b, pdu->identifier) != ASN_ERR_OK) return (SNMP_CODE_FAILED); @@ -1154,8 +1154,11 @@ snmp_pdu_dump(const struct snmp_pdu *pdu void snmp_value_free(struct snmp_value *value) { - if (value->syntax == SNMP_SYNTAX_OCTETSTRING) + + if (value->syntax == SNMP_SYNTAX_OCTETSTRING) { free(value->v.octetstring.octets); + value->v.octetstring.octets = NULL; + } value->syntax = SNMP_SYNTAX_NULL; } @@ -1216,6 +1219,7 @@ snmp_pdu_free(struct snmp_pdu *pdu) for (i = 0; i < pdu->nbindings; i++) snmp_value_free(&pdu->bindings[i]); + pdu->nbindings = 0; } /* Modified: projects/ipsec/contrib/bsnmp/lib/snmp.h ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/snmp.h Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/snmp.h Tue Jan 24 23:41:20 2017 (r312727) @@ -4,14 +4,14 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Copyright (c) 2010 The FreeBSD Foundation * All rights reserved. * * Portions of this software were developed by Shteryana Sotirova Shopova * under sponsorship from the FreeBSD Foundation. * - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -20,7 +20,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/lib/snmpagent.c ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/snmpagent.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/snmpagent.c Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,7 +13,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE @@ -518,7 +518,7 @@ snmp_getbulk(struct snmp_pdu *pdu, struc /* PDU is full */ goto done; - if (cnt == 0) + if (cnt == 0) result = do_getnext(&context, &pdu->bindings[i], &resp->bindings[resp->nbindings], pdu); else @@ -692,7 +692,7 @@ snmp_set(struct snmp_pdu *pdu, struct as if (snmp_pdu_encode_header(resp_b, resp)) return (SNMP_RET_IGN); - /* + /* * 1. Find all nodes, check that they are writeable and * that the syntax is ok, copy over the binding to the response. */ @@ -970,7 +970,7 @@ snmp_dep_lookup(struct snmp_context *ctx /* * Make an error response from a PDU. We do this without decoding the * variable bindings. This means we can sent the junk back to a caller - * that has sent us junk in the first place. + * that has sent us junk in the first place. */ enum snmp_ret snmp_make_errresp(const struct snmp_pdu *pdu, struct asn_buf *pdu_b, Modified: projects/ipsec/contrib/bsnmp/lib/snmpagent.h ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/snmpagent.h Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/snmpagent.h Tue Jan 24 23:41:20 2017 (r312727) @@ -4,7 +4,7 @@ * All rights reserved. * * Author: Harti Brandt - * + * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -13,7 +13,7 @@ * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. - * + * * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE Modified: projects/ipsec/contrib/bsnmp/lib/snmpclient.c ============================================================================== --- projects/ipsec/contrib/bsnmp/lib/snmpclient.c Tue Jan 24 22:52:09 2017 (r312726) +++ projects/ipsec/contrib/bsnmp/lib/snmpclient.c Tue Jan 24 23:41:20 2017 (r312727) @@ -68,7 +68,7 @@ struct snmp_client snmp_client; /* List of all outstanding requests */ -struct sent_pdu { +struct sent_pdu { int reqid; struct snmp_pdu *pdu; struct timeval time; @@ -510,7 +510,7 @@ table_check_response(struct tabwork *wor table_free(work, 1); return (-2); } - + continue; } if (!asn_is_suboid(&work->descr->table, &b->var) || @@ -728,8 +728,11 @@ snmp_table_fetch_async(const struct snmp work->last_change = 0; table_init_pdu(descr, &work->pdu); - if (snmp_pdu_send(&work->pdu, table_cb, work) == -1) + if (snmp_pdu_send(&work->pdu, table_cb, work) == -1) { + free(work); + work = NULL; return (-1); + } return (0); } @@ -754,7 +757,7 @@ snmp_oid_append(struct asn_oid *oid, con ret = 0; while (*fmt != '\0') { switch (*fmt++) { - case 'i': + case 'i': /* just an integer more */ if (oid->len + 1 > ASN_MAXOIDLEN) { warnx("%s: OID too long for integer", __func__); @@ -804,7 +807,7 @@ snmp_oid_append(struct asn_oid *oid, con break; case 'b': - /* append `size` characters */ + /* append `size` characters */ str = (const u_char *)va_arg(va, const char *); if (oid->len + size > ASN_MAXOIDLEN) { warnx("%s: OID too long for string", __func__); @@ -852,7 +855,7 @@ snmp_client_init(struct snmp_client *c) strcpy(c->read_community, "public"); strcpy(c->write_community, "private"); - + c->security_model = SNMP_SECMODEL_USM; strcpy(c->cname, ""); @@ -863,7 +866,7 @@ snmp_client_init(struct snmp_client *c) c->txbuflen = c->rxbuflen = 10000; c->fd = -1; - + c->max_reqid = INT32_MAX; c->min_reqid = 0; c->next_reqid = 0; @@ -1227,11 +1230,11 @@ snmp_next_reqid(struct snmp_client * c) static int32_t snmp_send_packet(struct snmp_pdu * pdu) { - u_char *buf; - struct asn_buf b; - ssize_t ret; + u_char *buf; + struct asn_buf b; + ssize_t ret; - if ((buf = malloc(snmp_client.txbuflen)) == NULL) { + if ((buf = calloc(1, snmp_client.txbuflen)) == NULL) { seterr(&snmp_client, "%s", strerror(errno)); return (-1); } @@ -1256,7 +1259,7 @@ snmp_send_packet(struct snmp_pdu * pdu) } free(buf); - return pdu->request_id; + return (pdu->request_id); } /* @@ -1352,7 +1355,7 @@ snmp_receive_packet(struct snmp_pdu *pdu socklen_t optlen; #endif - if ((buf = malloc(snmp_client.rxbuflen)) == NULL) { + if ((buf = calloc(1, snmp_client.rxbuflen)) == NULL) { seterr(&snmp_client, "%s", strerror(errno)); return (-1); } @@ -1793,12 +1796,14 @@ snmp_discover_engine(char *passwd) return (0); } + snmp_pdu_free(&req); + snmp_pdu_create(&req, SNMP_PDU_GET); req.engine.engine_boots = 0; req.engine.engine_time = 0; if (snmp_dialog(&req, &resp) == -1) - return (-1); + return (-1); if (resp.version != req.version) { seterr(&snmp_client, "wrong version"); @@ -1813,6 +1818,9 @@ snmp_discover_engine(char *passwd) snmp_client.engine.engine_boots = resp.engine.engine_boots; snmp_client.engine.engine_time = resp.engine.engine_time; + snmp_pdu_free(&req); + snmp_pdu_free(&resp); + return (0); } @@ -1937,20 +1945,18 @@ snmp_parse_server(struct snmp_client *sc } /* port */ free(sc->cport); - if ((sc->cport = malloc(strlen(p + 1) + 1)) == NULL) { + if ((sc->cport = strdup(p + 1)) == NULL) { seterr(sc, "%s", strerror(errno)); return (-1); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Wed Jan 25 02:33:19 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0A661CBF1BB for ; Wed, 25 Jan 2017 02:33:19 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id CE98A1F14; Wed, 25 Jan 2017 02:33:18 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0P2XH6k056752; Wed, 25 Jan 2017 02:33:17 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0P2XHgO056751; Wed, 25 Jan 2017 02:33:17 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701250233.v0P2XHgO056751@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 02:33:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312733 - projects/ipsec/sys/netipsec X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 02:33:19 -0000 Author: ae Date: Wed Jan 25 02:33:17 2017 New Revision: 312733 URL: https://svnweb.freebsd.org/changeset/base/312733 Log: Remove redundant redeclaration of inet6sw. Modified: projects/ipsec/sys/netipsec/ipsec_input.c Modified: projects/ipsec/sys/netipsec/ipsec_input.c ============================================================================== --- projects/ipsec/sys/netipsec/ipsec_input.c Wed Jan 25 02:05:08 2017 (r312732) +++ projects/ipsec/sys/netipsec/ipsec_input.c Wed Jan 25 02:33:17 2017 (r312733) @@ -444,8 +444,6 @@ bad: #endif /* INET */ #ifdef INET6 -extern struct protosw inet6sw[]; - /* * IPSEC_INPUT() method implementation for IPv6. * 0 - Permitted by inbound security policy for further processing. From owner-svn-src-projects@freebsd.org Wed Jan 25 03:15:03 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F623CBFB47 for ; Wed, 25 Jan 2017 03:15:03 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3543216C8; Wed, 25 Jan 2017 03:15:03 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0P3F2uU073469; Wed, 25 Jan 2017 03:15:02 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0P3F2um073467; Wed, 25 Jan 2017 03:15:02 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701250315.v0P3F2um073467@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 03:15:02 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312734 - in projects/ipsec/sys: modules/ipsec netinet X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 03:15:03 -0000 Author: ae Date: Wed Jan 25 03:15:02 2017 New Revision: 312734 URL: https://svnweb.freebsd.org/changeset/base/312734 Log: Build NAT-T code only when INET support is enabled. Modified: projects/ipsec/sys/modules/ipsec/Makefile projects/ipsec/sys/netinet/udp_usrreq.c Modified: projects/ipsec/sys/modules/ipsec/Makefile ============================================================================== --- projects/ipsec/sys/modules/ipsec/Makefile Wed Jan 25 02:33:17 2017 (r312733) +++ projects/ipsec/sys/modules/ipsec/Makefile Wed Jan 25 03:15:02 2017 (r312734) @@ -4,8 +4,9 @@ KMOD= ipsec SRCS= if_ipsec.c ipsec.c ipsec_input.c ipsec_mbuf.c ipsec_mod.c \ - ipsec_output.c udpencap.c xform_ah.c xform_esp.c xform_ipcomp.c \ + ipsec_output.c xform_ah.c xform_esp.c xform_ipcomp.c \ opt_inet.h opt_inet6.h opt_ipsec.h opt_sctp.h +SRCS.INET= udpencap.c opt_ipsec.h: @echo "#define IPSEC_SUPPORT 1" > ${.TARGET} Modified: projects/ipsec/sys/netinet/udp_usrreq.c ============================================================================== --- projects/ipsec/sys/netinet/udp_usrreq.c Wed Jan 25 02:33:17 2017 (r312733) +++ projects/ipsec/sys/netinet/udp_usrreq.c Wed Jan 25 03:15:02 2017 (r312734) @@ -1007,6 +1007,7 @@ udp_ctloutput(struct socket *so, struct case SOPT_SET: switch (sopt->sopt_name) { #if defined(IPSEC) || defined(IPSEC_SUPPORT) +#ifdef INET case UDP_ENCAP: if (!IPSEC_ENABLED(ipv4)) { INP_WUNLOCK(inp); @@ -1014,7 +1015,8 @@ udp_ctloutput(struct socket *so, struct } error = UDPENCAP_PCBCTL(inp, sopt); break; -#endif +#endif /* INET */ +#endif /* IPSEC */ case UDPLITE_SEND_CSCOV: case UDPLITE_RECV_CSCOV: if (!isudplite) { @@ -1052,6 +1054,7 @@ udp_ctloutput(struct socket *so, struct case SOPT_GET: switch (sopt->sopt_name) { #if defined(IPSEC) || defined(IPSEC_SUPPORT) +#ifdef INET case UDP_ENCAP: if (!IPSEC_ENABLED(ipv4)) { INP_WUNLOCK(inp); @@ -1059,7 +1062,8 @@ udp_ctloutput(struct socket *so, struct } error = UDPENCAP_PCBCTL(inp, sopt); break; -#endif +#endif /* INET */ +#endif /* IPSEC */ case UDPLITE_SEND_CSCOV: case UDPLITE_RECV_CSCOV: if (!isudplite) { From owner-svn-src-projects@freebsd.org Wed Jan 25 03:19:39 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 98A2BCBFB97 for ; Wed, 25 Jan 2017 03:19:39 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 68455182A; Wed, 25 Jan 2017 03:19:39 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0P3Jchh073647; Wed, 25 Jan 2017 03:19:38 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0P3JcxV073646; Wed, 25 Jan 2017 03:19:38 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701250319.v0P3JcxV073646@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 03:19:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312735 - projects/ipsec/sys/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 03:19:39 -0000 Author: ae Date: Wed Jan 25 03:19:38 2017 New Revision: 312735 URL: https://svnweb.freebsd.org/changeset/base/312735 Log: "dependency" line should be first. Modified: projects/ipsec/sys/conf/files.pc98 Modified: projects/ipsec/sys/conf/files.pc98 ============================================================================== --- projects/ipsec/sys/conf/files.pc98 Wed Jan 25 03:15:02 2017 (r312734) +++ projects/ipsec/sys/conf/files.pc98 Wed Jan 25 03:19:38 2017 (r312735) @@ -90,8 +90,7 @@ compat/svr4/svr4_syscallnames.c optional compat/svr4/svr4_sysent.c optional compat_svr4 compat/svr4/svr4_sysvec.c optional compat_svr4 compat/svr4/svr4_termios.c optional compat_svr4 -bf_enc.o optional crypto | ipsec |\ - ipsec_support \ +bf_enc.o optional crypto | ipsec | ipsec_support \ dependency "$S/crypto/blowfish/arch/i386/bf_enc.S $S/crypto/blowfish/arch/i386/bf_enc_586.S $S/crypto/blowfish/arch/i386/bf_enc_686.S" \ compile-with "${CC} -c -I$S/crypto/blowfish/arch/i386 ${ASM_CFLAGS} ${WERROR} ${.IMPSRC}" \ no-implicit-rule From owner-svn-src-projects@freebsd.org Wed Jan 25 03:22:19 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9FD23CBFD4E for ; Wed, 25 Jan 2017 03:22:19 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 61CB71BD4; Wed, 25 Jan 2017 03:22:19 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0P3MING077482; Wed, 25 Jan 2017 03:22:18 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0P3MI6B077481; Wed, 25 Jan 2017 03:22:18 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701250322.v0P3MI6B077481@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 03:22:18 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312736 - projects/ipsec/sys/netipsec X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 03:22:19 -0000 Author: ae Date: Wed Jan 25 03:22:18 2017 New Revision: 312736 URL: https://svnweb.freebsd.org/changeset/base/312736 Log: Add more #ifdef INET guards. Modified: projects/ipsec/sys/netipsec/ipsec.c Modified: projects/ipsec/sys/netipsec/ipsec.c ============================================================================== --- projects/ipsec/sys/netipsec/ipsec.c Wed Jan 25 03:19:38 2017 (r312735) +++ projects/ipsec/sys/netipsec/ipsec.c Wed Jan 25 03:22:18 2017 (r312736) @@ -274,9 +274,11 @@ SYSCTL_VNET_PCPUSTAT(_net_inet6_ipsec6, static int ipsec_in_reject(struct secpolicy *, struct inpcb *, const struct mbuf *); +#ifdef INET static void ipsec4_get_ulp(const struct mbuf *, struct secpolicyindex *, int); static void ipsec4_setspidx_ipaddr(const struct mbuf *, struct secpolicyindex *); +#endif #ifdef INET6 static void ipsec6_get_ulp(const struct mbuf *m, struct secpolicyindex *, int); static void ipsec6_setspidx_ipaddr(const struct mbuf *, From owner-svn-src-projects@freebsd.org Wed Jan 25 03:53:12 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id D982FCC03F3 for ; Wed, 25 Jan 2017 03:53:12 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id A69ED95E; Wed, 25 Jan 2017 03:53:12 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0P3rBhW089381; Wed, 25 Jan 2017 03:53:11 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0P3rBXr089380; Wed, 25 Jan 2017 03:53:11 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701250353.v0P3rBXr089380@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 03:53:11 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312737 - projects/ipsec/sys/netipsec X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 03:53:12 -0000 Author: ae Date: Wed Jan 25 03:53:11 2017 New Revision: 312737 URL: https://svnweb.freebsd.org/changeset/base/312737 Log: Fix build with REGRESSION enabled. Modified: projects/ipsec/sys/netipsec/xform_esp.c Modified: projects/ipsec/sys/netipsec/xform_esp.c ============================================================================== --- projects/ipsec/sys/netipsec/xform_esp.c Wed Jan 25 03:22:18 2017 (r312736) +++ projects/ipsec/sys/netipsec/xform_esp.c Wed Jan 25 03:53:11 2017 (r312737) @@ -914,7 +914,7 @@ esp_output_cb(struct cryptop *crp) /* Emulate man-in-the-middle attack when ipsec_integrity is TRUE. */ if (V_ipsec_integrity) { static unsigned char ipseczeroes[AH_HMAC_MAXHASHLEN]; - struct auth_hash *esph; + const struct auth_hash *esph; /* * Corrupt HMAC if we want to test integrity verification of From owner-svn-src-projects@freebsd.org Wed Jan 25 04:35:59 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 0F28ECB24B5 for ; Wed, 25 Jan 2017 04:35:59 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D35B81E96; Wed, 25 Jan 2017 04:35:58 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0P4ZvhJ006859; Wed, 25 Jan 2017 04:35:57 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0P4Zv6a006858; Wed, 25 Jan 2017 04:35:57 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701250435.v0P4Zv6a006858@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 04:35:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312738 - projects/ipsec/sys/net X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 04:35:59 -0000 Author: ae Date: Wed Jan 25 04:35:57 2017 New Revision: 312738 URL: https://svnweb.freebsd.org/changeset/base/312738 Log: Fix build without INET support. Modified: projects/ipsec/sys/net/if_ipsec.c Modified: projects/ipsec/sys/net/if_ipsec.c ============================================================================== --- projects/ipsec/sys/net/if_ipsec.c Wed Jan 25 03:53:11 2017 (r312737) +++ projects/ipsec/sys/net/if_ipsec.c Wed Jan 25 04:35:57 2017 (r312738) @@ -66,9 +66,7 @@ __FBSDID("$FreeBSD$"); #include #include -#ifdef INET #include -#endif #ifdef INET6 #include #endif From owner-svn-src-projects@freebsd.org Wed Jan 25 13:22:49 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7F5EFCBE8A8 for ; Wed, 25 Jan 2017 13:22:49 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4F5EC7BA; Wed, 25 Jan 2017 13:22:49 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0PDMmW9019200; Wed, 25 Jan 2017 13:22:48 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0PDMmCj019199; Wed, 25 Jan 2017 13:22:48 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701251322.v0PDMmCj019199@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 13:22:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312752 - projects/ipsec/sys/netinet6 X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 13:22:49 -0000 Author: ae Date: Wed Jan 25 13:22:48 2017 New Revision: 312752 URL: https://svnweb.freebsd.org/changeset/base/312752 Log: Use correct IPsec methods. Modified: projects/ipsec/sys/netinet6/ip6_forward.c Modified: projects/ipsec/sys/netinet6/ip6_forward.c ============================================================================== --- projects/ipsec/sys/netinet6/ip6_forward.c Wed Jan 25 12:18:21 2017 (r312751) +++ projects/ipsec/sys/netinet6/ip6_forward.c Wed Jan 25 13:22:48 2017 (r312752) @@ -152,7 +152,7 @@ ip6_forward(struct mbuf *m, int srcrt) #if defined(IPSEC) || defined(IPSEC_SUPPORT) if (IPSEC_ENABLED(ipv6)) { - if ((error = IPSEC_FORWARD(ipv4, m)) != 0) { + if ((error = IPSEC_FORWARD(ipv6, m)) != 0) { /* mbuf consumed by IPsec */ m_freem(mcopy); if (error != EINPROGRESS) From owner-svn-src-projects@freebsd.org Wed Jan 25 13:27:20 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 7A79ECBE9B3 for ; Wed, 25 Jan 2017 13:27:20 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B606998; Wed, 25 Jan 2017 13:27:20 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0PDRJVR019425; Wed, 25 Jan 2017 13:27:19 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0PDRJvQ019420; Wed, 25 Jan 2017 13:27:19 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701251327.v0PDRJvQ019420@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 13:27:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312753 - in projects/ipsec/sys: netinet netipsec X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 13:27:20 -0000 Author: ae Date: Wed Jan 25 13:27:18 2017 New Revision: 312753 URL: https://svnweb.freebsd.org/changeset/base/312753 Log: More fixes for NOINET build. Modified: projects/ipsec/sys/netinet/tcp_input.c projects/ipsec/sys/netinet/tcp_output.c projects/ipsec/sys/netipsec/ipsec_input.c projects/ipsec/sys/netipsec/ipsec_output.c Modified: projects/ipsec/sys/netinet/tcp_input.c ============================================================================== --- projects/ipsec/sys/netinet/tcp_input.c Wed Jan 25 13:22:48 2017 (r312752) +++ projects/ipsec/sys/netinet/tcp_input.c Wed Jan 25 13:27:18 2017 (r312753) @@ -929,12 +929,17 @@ findpcb: if (isipv6 && IPSEC_ENABLED(ipv6) && IPSEC_CHECK_POLICY(ipv6, m, inp) != 0) { goto dropunlock; - } else + } +#ifdef INET + else +#endif #endif /* INET6 */ +#ifdef INET if (IPSEC_ENABLED(ipv4) && IPSEC_CHECK_POLICY(ipv4, m, inp) != 0) { goto dropunlock; } +#endif /* INET */ #endif /* IPSEC */ /* Modified: projects/ipsec/sys/netinet/tcp_output.c ============================================================================== --- projects/ipsec/sys/netinet/tcp_output.c Wed Jan 25 13:22:48 2017 (r312752) +++ projects/ipsec/sys/netinet/tcp_output.c Wed Jan 25 13:27:18 2017 (r312753) @@ -557,11 +557,15 @@ after_sack_rexmit: #ifdef INET6 if (isipv6 && IPSEC_ENABLED(ipv6)) ipsec_optlen = IPSEC_HDRSIZE(ipv6, tp->t_inpcb); +#ifdef INET else #endif +#endif /* INET6 */ +#ifdef INET if (IPSEC_ENABLED(ipv4)) ipsec_optlen = IPSEC_HDRSIZE(ipv4, tp->t_inpcb); -#endif +#endif /* INET */ +#endif /* IPSEC */ #ifdef INET6 if (isipv6) ipoptlen = ip6_optlen(tp->t_inpcb); Modified: projects/ipsec/sys/netipsec/ipsec_input.c ============================================================================== --- projects/ipsec/sys/netipsec/ipsec_input.c Wed Jan 25 13:22:48 2017 (r312752) +++ projects/ipsec/sys/netipsec/ipsec_input.c Wed Jan 25 13:27:18 2017 (r312753) @@ -474,7 +474,7 @@ ipsec6_input(struct mbuf *m, int offset, /* * Enforce IPsec policy checking if we are seeing last header. */ - if (ipsec4_in_reject(m, NULL) != 0) { + if (ipsec6_in_reject(m, NULL) != 0) { /* Forbidden by inbound security policy */ m_freem(m); return (EACCES); Modified: projects/ipsec/sys/netipsec/ipsec_output.c ============================================================================== --- projects/ipsec/sys/netipsec/ipsec_output.c Wed Jan 25 13:22:48 2017 (r312752) +++ projects/ipsec/sys/netipsec/ipsec_output.c Wed Jan 25 13:27:18 2017 (r312753) @@ -786,6 +786,7 @@ ipsec_process_done(struct mbuf *m, struc } key_freesp(&sp), sp = NULL; /* Release reference to SP */ +#ifdef INET /* * Do UDP encapsulation if SA requires it. */ @@ -794,6 +795,7 @@ ipsec_process_done(struct mbuf *m, struc if (error != 0) goto bad; } +#endif /* INET */ /* * We're done with IPsec processing, transmit the packet using the * appropriate network protocol (IP or IPv6). From owner-svn-src-projects@freebsd.org Wed Jan 25 13:42:40 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 21590CBEFFF for ; Wed, 25 Jan 2017 13:42:40 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E56D9243; Wed, 25 Jan 2017 13:42:39 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0PDgd5D027203; Wed, 25 Jan 2017 13:42:39 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0PDgdjw027202; Wed, 25 Jan 2017 13:42:39 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701251342.v0PDgdjw027202@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Wed, 25 Jan 2017 13:42:39 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312754 - projects/ipsec/sys/conf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 13:42:40 -0000 Author: ae Date: Wed Jan 25 13:42:38 2017 New Revision: 312754 URL: https://svnweb.freebsd.org/changeset/base/312754 Log: When both IPSEC_SUPPORT and TCP_SIGNATURE options are specified, build xform_tcp.c into the kernel. Modified: projects/ipsec/sys/conf/files Modified: projects/ipsec/sys/conf/files ============================================================================== --- projects/ipsec/sys/conf/files Wed Jan 25 13:27:18 2017 (r312753) +++ projects/ipsec/sys/conf/files Wed Jan 25 13:42:38 2017 (r312754) @@ -4207,7 +4207,8 @@ netipsec/xform_ah.c optional ipsec inet netipsec/xform_esp.c optional ipsec inet | ipsec inet6 netipsec/xform_ipcomp.c optional ipsec inet | ipsec inet6 netipsec/xform_tcp.c optional ipsec inet tcp_signature | \ - ipsec inet6 tcp_signature + ipsec inet6 tcp_signature | ipsec_support inet tcp_signature | \ + ipsec_support inet6 tcp_signature netnatm/natm.c optional natm netnatm/natm_pcb.c optional natm netnatm/natm_proto.c optional natm From owner-svn-src-projects@freebsd.org Wed Jan 25 20:33:32 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DE5EBCC1EBF for ; Wed, 25 Jan 2017 20:33:32 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id ADB051BE4; Wed, 25 Jan 2017 20:33:32 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0PKXVeS098041; Wed, 25 Jan 2017 20:33:31 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0PKXVDx098040; Wed, 25 Jan 2017 20:33:31 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701252033.v0PKXVDx098040@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 25 Jan 2017 20:33:31 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312776 - projects/clang400-import/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 20:33:33 -0000 Author: emaste Date: Wed Jan 25 20:33:31 2017 New Revision: 312776 URL: https://svnweb.freebsd.org/changeset/base/312776 Log: Build Clang on all architectures if host compiler is C++11 Recent versions of Clang are becoming usable for non-x86 non-arm FreeBSD architectures. If the compiler is capable of building Clang, do so in order to facilitate further testing. Reviewed by: dim, imp Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D8267 Modified: projects/clang400-import/share/mk/src.opts.mk Modified: projects/clang400-import/share/mk/src.opts.mk ============================================================================== --- projects/clang400-import/share/mk/src.opts.mk Wed Jan 25 20:22:32 2017 (r312775) +++ projects/clang400-import/share/mk/src.opts.mk Wed Jan 25 20:33:31 2017 (r312776) @@ -225,9 +225,10 @@ __TT=${MACHINE} # Clang is enabled, and will be installed as the default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC __DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX -.elif ${COMPILER_FEATURES:Mc++11} && ${__T:Mpowerpc*} -# On powerpc, if an external compiler that supports C++11 is used as ${CC}, -# then Clang is enabled, but GCC is installed as the default /usr/bin/cc. +.elif ${COMPILER_FEATURES:Mc++11} && ${__T} != "riscv64" && ${__T} != "sparc64" +# If an external compiler that supports C++11 is used as ${CC} and Clang +# supports the target, then Clang is enabled but GCC is installed as the +# default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL GCC GCC_BOOTSTRAP GNUCXX __DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC .else From owner-svn-src-projects@freebsd.org Wed Jan 25 21:05:49 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DD4D5CC1777 for ; Wed, 25 Jan 2017 21:05:49 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 8D664116A; Wed, 25 Jan 2017 21:05:49 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0PL5ma1010248; Wed, 25 Jan 2017 21:05:48 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0PL5m0g010246; Wed, 25 Jan 2017 21:05:48 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701252105.v0PL5m0g010246@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Wed, 25 Jan 2017 21:05:48 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312781 - in projects/clang400-import: . lib/clang/libllvm X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Jan 2017 21:05:50 -0000 Author: emaste Date: Wed Jan 25 21:05:48 2017 New Revision: 312781 URL: https://svnweb.freebsd.org/changeset/base/312781 Log: Also apply WITH_LLD_AS_LD to build tools Previously WITH_LLD_AS_LD installed LLD as /usr/bin/ld in the target system, but still used the GNU BFD ld to link the binaries in that target. LLD 4.0.0 can link the FreeBSD/amd64 world and kernel so use LLD as the build-time linker as well when the knob is set. Reviewed by: dim Relnotes: Yes Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9226 Modified: projects/clang400-import/Makefile.inc1 projects/clang400-import/lib/clang/libllvm/Makefile Modified: projects/clang400-import/Makefile.inc1 ============================================================================== --- projects/clang400-import/Makefile.inc1 Wed Jan 25 20:59:23 2017 (r312780) +++ projects/clang400-import/Makefile.inc1 Wed Jan 25 21:05:48 2017 (r312781) @@ -516,7 +516,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_TESTS=no MK_LLD_AS_LD=no + MK_GDB=no MK_TESTS=no # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -1827,6 +1827,9 @@ _elftctools= lib/libelftc \ # cross-build on a FreeBSD 10 host: _elftctools+= usr.bin/addr2line .endif +.if ${MK_LLD_AS_LD} != "no" +_lld= usr.bin/clang/lld +.endif .elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" # If cross-building with an external binutils we still need to build strip for # the target (for at least crunchide). @@ -1851,6 +1854,7 @@ cross-tools: .MAKE .PHONY ${LOCAL_XTOOL_DIRS} \ ${_clang_libs} \ ${_clang} \ + ${_lld} \ ${_binutils} \ ${_elftctools} \ ${_dtrace_tools} \ Modified: projects/clang400-import/lib/clang/libllvm/Makefile ============================================================================== --- projects/clang400-import/lib/clang/libllvm/Makefile Wed Jan 25 20:59:23 2017 (r312780) +++ projects/clang400-import/lib/clang/libllvm/Makefile Wed Jan 25 21:05:48 2017 (r312781) @@ -1146,7 +1146,7 @@ SRCS_MIN+= Transforms/Vectorize/SLPVecto SRCS_EXT+= Transforms/Vectorize/Vectorize.cpp SRCS_ALL+= ${SRCS_MIN} -.if !defined(TOOLS_PREFIX) +.if !defined(TOOLS_PREFIX) || ${MK_LLD_AS_LD} != "no" SRCS_ALL+= ${SRCS_MIW} .endif .if ${MK_CLANG_EXTRAS} != "no" From owner-svn-src-projects@freebsd.org Thu Jan 26 02:22:25 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 3E200CC1BA0 for ; Thu, 26 Jan 2017 02:22:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E868EF49; Thu, 26 Jan 2017 02:22:24 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0Q2MOqD039018; Thu, 26 Jan 2017 02:22:24 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0Q2MONF039017; Thu, 26 Jan 2017 02:22:24 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701260222.v0Q2MONF039017@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Thu, 26 Jan 2017 02:22:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312788 - projects/clang400-import/share/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jan 2017 02:22:25 -0000 Author: emaste Date: Thu Jan 26 02:22:23 2017 New Revision: 312788 URL: https://svnweb.freebsd.org/changeset/base/312788 Log: Enable LLD (as ld.lld) on i386 and arm With this change LLD will be built on the same set of architectures that use Clang as /usr/bin/cc. It is not yet fully functional as a system linker for i386 and arm, but is ready for further testing and investigation. Modified: projects/clang400-import/share/mk/src.opts.mk Modified: projects/clang400-import/share/mk/src.opts.mk ============================================================================== --- projects/clang400-import/share/mk/src.opts.mk Thu Jan 26 01:24:05 2017 (r312787) +++ projects/clang400-import/share/mk/src.opts.mk Thu Jan 26 02:22:23 2017 (r312788) @@ -223,18 +223,18 @@ __TT=${MACHINE} .if ${COMPILER_FEATURES:Mc++11} && (${__T} == "aarch64" || \ ${__T} == "amd64" || ${__TT} == "arm" || ${__T} == "i386") # Clang is enabled, and will be installed as the default /usr/bin/cc. -__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC +__DEFAULT_YES_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC LLD __DEFAULT_NO_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX .elif ${COMPILER_FEATURES:Mc++11} && ${__T} != "riscv64" && ${__T} != "sparc64" # If an external compiler that supports C++11 is used as ${CC} and Clang # supports the target, then Clang is enabled but GCC is installed as the # default /usr/bin/cc. __DEFAULT_YES_OPTIONS+=CLANG CLANG_FULL GCC GCC_BOOTSTRAP GNUCXX -__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC +__DEFAULT_NO_OPTIONS+=CLANG_BOOTSTRAP CLANG_IS_CC LLD .else # Everything else disables Clang, and uses GCC instead. __DEFAULT_YES_OPTIONS+=GCC GCC_BOOTSTRAP GNUCXX -__DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC +__DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTSTRAP CLANG_FULL CLANG_IS_CC LLD .endif # In-tree binutils/gcc are older versions without modern architecture support. .if ${__T} == "aarch64" || ${__T:Mriscv*} != "" @@ -257,9 +257,9 @@ __DEFAULT_YES_OPTIONS+=LLD_AS_LD __DEFAULT_NO_OPTIONS+=LLD_AS_LD .endif .if ${__T} == "aarch64" || ${__T} == "amd64" -__DEFAULT_YES_OPTIONS+=LLD LLDB +__DEFAULT_YES_OPTIONS+=LLDB .else -__DEFAULT_NO_OPTIONS+=LLD LLDB +__DEFAULT_NO_OPTIONS+=LLDB .endif # LLVM lacks support for FreeBSD 64-bit atomic operations for ARMv4/ARMv5 .if ${__T} == "arm" || ${__T} == "armeb" From owner-svn-src-projects@freebsd.org Thu Jan 26 15:37:56 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6325BCC21E4 for ; Thu, 26 Jan 2017 15:37:56 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 2BA0BC93; Thu, 26 Jan 2017 15:37:56 +0000 (UTC) (envelope-from ae@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0QFbtMB067048; Thu, 26 Jan 2017 15:37:55 GMT (envelope-from ae@FreeBSD.org) Received: (from ae@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0QFbr0P067027; Thu, 26 Jan 2017 15:37:53 GMT (envelope-from ae@FreeBSD.org) Message-Id: <201701261537.v0QFbr0P067027@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ae set sender to ae@FreeBSD.org using -f From: "Andrey V. Elsukov" Date: Thu, 26 Jan 2017 15:37:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312817 - in projects/ipsec: contrib/elftoolchain/strings contrib/ipfilter/lib contrib/ipfilter/tools contrib/llvm/include/llvm/Analysis contrib/llvm/lib/Analysis lib/libthr/thread libe... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 26 Jan 2017 15:37:56 -0000 Author: ae Date: Thu Jan 26 15:37:53 2017 New Revision: 312817 URL: https://svnweb.freebsd.org/changeset/base/312817 Log: Merge from head/ Added: projects/ipsec/sys/arm/mv/armada/ - copied from r312816, head/sys/arm/mv/armada/ projects/ipsec/sys/dev/ahci/ahci_mv_fdt.c - copied unchanged from r312816, head/sys/dev/ahci/ahci_mv_fdt.c Modified: projects/ipsec/contrib/elftoolchain/strings/strings.c projects/ipsec/contrib/ipfilter/lib/rwlock_emul.c projects/ipsec/contrib/ipfilter/tools/ipf.c projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolution.cpp projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp projects/ipsec/lib/libthr/thread/thr_exit.c projects/ipsec/libexec/rtld-elf/aarch64/reloc.c projects/ipsec/share/misc/committers-ports.dot projects/ipsec/share/misc/scsi_modes projects/ipsec/sys/arm/arm/pmap-v6.c projects/ipsec/sys/arm/conf/ARMADA38X projects/ipsec/sys/arm/include/pcpu.h projects/ipsec/sys/arm/mv/armada38x/files.armada38x projects/ipsec/sys/arm/mv/files.mv projects/ipsec/sys/arm/mv/mv_common.c projects/ipsec/sys/arm/mv/mvwin.h projects/ipsec/sys/cam/cam_iosched.c projects/ipsec/sys/cam/ctl/ctl.h projects/ipsec/sys/cam/ctl/ctl_io.h projects/ipsec/sys/cam/ctl/ctl_ioctl.h projects/ipsec/sys/cam/ctl/ctl_private.h projects/ipsec/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/ipsec/sys/contrib/ipfilter/netinet/ip_compat.h projects/ipsec/sys/contrib/ipfilter/netinet/ip_frag.c projects/ipsec/sys/dev/ahci/ahci.c projects/ipsec/sys/dev/ahci/ahci.h projects/ipsec/sys/dev/ahci/ahci_pci.c projects/ipsec/sys/dev/cesa/cesa.c projects/ipsec/sys/dev/cesa/cesa.h projects/ipsec/sys/dev/e1000/em_txrx.c projects/ipsec/sys/dev/fdt/fdt_common.h projects/ipsec/sys/dev/ofw/ofw_bus_subr.c projects/ipsec/sys/dev/ofw/ofw_bus_subr.h projects/ipsec/sys/dev/qlxgbe/ql_def.h projects/ipsec/sys/dev/qlxgbe/ql_glbl.h projects/ipsec/sys/dev/qlxgbe/ql_hw.c projects/ipsec/sys/dev/qlxgbe/ql_hw.h projects/ipsec/sys/dev/qlxgbe/ql_isr.c projects/ipsec/sys/dev/qlxgbe/ql_os.c projects/ipsec/sys/dev/qlxgbe/ql_os.h projects/ipsec/sys/dev/qlxgbe/ql_ver.h projects/ipsec/sys/kern/kern_ntptime.c projects/ipsec/sys/kern/subr_gtaskqueue.c projects/ipsec/sys/kern/uipc_usrreq.c projects/ipsec/sys/net/if.c projects/ipsec/sys/net/if_bridge.c projects/ipsec/sys/net/if_bridgevar.h projects/ipsec/sys/net/iflib.c projects/ipsec/sys/netinet/in.c projects/ipsec/sys/netinet/ip_carp.c projects/ipsec/sys/netinet/ip_carp.h projects/ipsec/sys/netinet6/in6.c projects/ipsec/sys/sys/capability.h projects/ipsec/sys/sys/gtaskqueue.h Directory Properties: projects/ipsec/ (props changed) projects/ipsec/contrib/elftoolchain/ (props changed) projects/ipsec/contrib/ipfilter/ (props changed) projects/ipsec/contrib/llvm/ (props changed) projects/ipsec/sys/contrib/ipfilter/ (props changed) Modified: projects/ipsec/contrib/elftoolchain/strings/strings.c ============================================================================== --- projects/ipsec/contrib/elftoolchain/strings/strings.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/elftoolchain/strings/strings.c Thu Jan 26 15:37:53 2017 (r312817) @@ -189,7 +189,7 @@ main(int argc, char **argv) if (!min_len) min_len = 4; if (!*argv) - rc = handle_file("{standard input}"); + rc = find_strings("{standard input}", 0, 0); else while (*argv) { if (handle_file(*argv) != 0) rc = 1; @@ -205,13 +205,9 @@ handle_file(const char *name) if (name == NULL) return (1); - if (strcmp("{standard input}", name) != 0) { - if (freopen(name, "rb", stdin) == NULL) { - warnx("'%s': %s", name, strerror(errno)); - return (1); - } - } else { - return (find_strings(name, (off_t)0, (off_t)0)); + if (freopen(name, "rb", stdin) == NULL) { + warnx("'%s': %s", name, strerror(errno)); + return (1); } fd = fileno(stdin); Modified: projects/ipsec/contrib/ipfilter/lib/rwlock_emul.c ============================================================================== --- projects/ipsec/contrib/ipfilter/lib/rwlock_emul.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/ipfilter/lib/rwlock_emul.c Thu Jan 26 15:37:53 2017 (r312817) @@ -56,6 +56,27 @@ void eMrwlock_write_enter(rw, file, line } +void eMrwlock_try_upgrade(rw, file, line) + eMrwlock_t *rw; + char *file; + int line; +{ + if (rw->eMrw_magic != EMM_MAGIC) { + fprintf(stderr, "%s:eMrwlock_write_enter(%p): bad magic: %#x\n", + rw->eMrw_owner, rw, rw->eMrw_magic); + abort(); + } + if (rw->eMrw_read != 0 || rw->eMrw_write != 0) { + fprintf(stderr, + "%s:eMrwlock_try_upgrade(%p): already locked: %d/%d\n", + rw->eMrw_owner, rw, rw->eMrw_read, rw->eMrw_write); + abort(); + } + rw->eMrw_write++; + rw->eMrw_heldin = file; + rw->eMrw_heldat = line; +} + void eMrwlock_downgrade(rw, file, line) eMrwlock_t *rw; char *file; Modified: projects/ipsec/contrib/ipfilter/tools/ipf.c ============================================================================== --- projects/ipsec/contrib/ipfilter/tools/ipf.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/ipfilter/tools/ipf.c Thu Jan 26 15:37:53 2017 (r312817) @@ -408,14 +408,16 @@ static void flushfilter(arg, filter) } closedevice(); return; - } - - if (strchr(arg, 'i') || strchr(arg, 'I')) + } else if (strchr(arg, 'i') || strchr(arg, 'I')) fl = FR_INQUE; - if (strchr(arg, 'o') || strchr(arg, 'O')) + else if (strchr(arg, 'o') || strchr(arg, 'O')) fl = FR_OUTQUE; - if (strchr(arg, 'a') || strchr(arg, 'A')) + else if (strchr(arg, 'a') || strchr(arg, 'A')) fl = FR_OUTQUE|FR_INQUE; + else { + fprintf(stderr, "Incorrect flush argument: %s\n", arg); + usage(); + } if (opts & OPT_INACTIVE) fl |= FR_INACTIVE; rem = fl; Modified: projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h ============================================================================== --- projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolution.h Thu Jan 26 15:37:53 2017 (r312817) @@ -495,10 +495,29 @@ namespace llvm { /// The typedef for ExprValueMap. /// - typedef DenseMap> ExprValueMapType; + typedef std::pair ValueOffsetPair; + typedef DenseMap> ExprValueMapType; /// ExprValueMap -- This map records the original values from which /// the SCEV expr is generated from. + /// + /// We want to represent the mapping as SCEV -> ValueOffsetPair instead + /// of SCEV -> Value: + /// Suppose we know S1 expands to V1, and + /// S1 = S2 + C_a + /// S3 = S2 + C_b + /// where C_a and C_b are different SCEVConstants. Then we'd like to + /// expand S3 as V1 - C_a + C_b instead of expanding S2 literally. + /// It is helpful when S2 is a complex SCEV expr. + /// + /// In order to do that, we represent ExprValueMap as a mapping from + /// SCEV to ValueOffsetPair. We will save both S1->{V1, 0} and + /// S2->{V1, C_a} into the map when we create SCEV for V1. When S3 + /// is expanded, it will first expand S2 to V1 - C_a because of + /// S2->{V1, C_a} in the map, then expand S3 to V1 - C_a + C_b. + /// + /// Note: S->{V, Offset} in the ExprValueMap means S can be expanded + /// to V - Offset. ExprValueMapType ExprValueMap; /// The typedef for ValueExprMap. @@ -1181,7 +1200,7 @@ namespace llvm { bool containsAddRecurrence(const SCEV *S); /// Return the Value set from which the SCEV expr is generated. - SetVector *getSCEVValues(const SCEV *S); + SetVector *getSCEVValues(const SCEV *S); /// Erase Value from ValueExprMap and ExprValueMap. void eraseValueFromMap(Value *V); Modified: projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h ============================================================================== --- projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/llvm/include/llvm/Analysis/ScalarEvolutionExpander.h Thu Jan 26 15:37:53 2017 (r312817) @@ -325,7 +325,8 @@ namespace llvm { PointerType *PTy, Type *Ty, Value *V); /// \brief Find a previous Value in ExprValueMap for expand. - Value *FindValueInExprValueMap(const SCEV *S, const Instruction *InsertPt); + ScalarEvolution::ValueOffsetPair + FindValueInExprValueMap(const SCEV *S, const Instruction *InsertPt); Value *expand(const SCEV *S); Modified: projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolution.cpp ============================================================================== --- projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolution.cpp Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolution.cpp Thu Jan 26 15:37:53 2017 (r312817) @@ -3378,8 +3378,28 @@ bool ScalarEvolution::containsAddRecurre return F.FoundOne; } -/// Return the Value set from S. -SetVector *ScalarEvolution::getSCEVValues(const SCEV *S) { +/// Try to split a SCEVAddExpr into a pair of {SCEV, ConstantInt}. +/// If \p S is a SCEVAddExpr and is composed of a sub SCEV S' and an +/// offset I, then return {S', I}, else return {\p S, nullptr}. +static std::pair splitAddExpr(const SCEV *S) { + const auto *Add = dyn_cast(S); + if (!Add) + return {S, nullptr}; + + if (Add->getNumOperands() != 2) + return {S, nullptr}; + + auto *ConstOp = dyn_cast(Add->getOperand(0)); + if (!ConstOp) + return {S, nullptr}; + + return {Add->getOperand(1), ConstOp->getValue()}; +} + +/// Return the ValueOffsetPair set for \p S. \p S can be represented +/// by the value and offset from any ValueOffsetPair in the set. +SetVector * +ScalarEvolution::getSCEVValues(const SCEV *S) { ExprValueMapType::iterator SI = ExprValueMap.find_as(S); if (SI == ExprValueMap.end()) return nullptr; @@ -3387,24 +3407,31 @@ SetVector *ScalarEvolution::get if (VerifySCEVMap) { // Check there is no dangling Value in the set returned. for (const auto &VE : SI->second) - assert(ValueExprMap.count(VE)); + assert(ValueExprMap.count(VE.first)); } #endif return &SI->second; } -/// Erase Value from ValueExprMap and ExprValueMap. If ValueExprMap.erase(V) is -/// not used together with forgetMemoizedResults(S), eraseValueFromMap should be -/// used instead to ensure whenever V->S is removed from ValueExprMap, V is also -/// removed from the set of ExprValueMap[S]. +/// Erase Value from ValueExprMap and ExprValueMap. ValueExprMap.erase(V) +/// cannot be used separately. eraseValueFromMap should be used to remove +/// V from ValueExprMap and ExprValueMap at the same time. void ScalarEvolution::eraseValueFromMap(Value *V) { ValueExprMapType::iterator I = ValueExprMap.find_as(V); if (I != ValueExprMap.end()) { const SCEV *S = I->second; - SetVector *SV = getSCEVValues(S); - // Remove V from the set of ExprValueMap[S] - if (SV) - SV->remove(V); + // Remove {V, 0} from the set of ExprValueMap[S] + if (SetVector *SV = getSCEVValues(S)) + SV->remove({V, nullptr}); + + // Remove {V, Offset} from the set of ExprValueMap[Stripped] + const SCEV *Stripped; + ConstantInt *Offset; + std::tie(Stripped, Offset) = splitAddExpr(S); + if (Offset != nullptr) { + if (SetVector *SV = getSCEVValues(Stripped)) + SV->remove({V, Offset}); + } ValueExprMap.erase(V); } } @@ -3419,11 +3446,26 @@ const SCEV *ScalarEvolution::getSCEV(Val S = createSCEV(V); // During PHI resolution, it is possible to create two SCEVs for the same // V, so it is needed to double check whether V->S is inserted into - // ValueExprMap before insert S->V into ExprValueMap. + // ValueExprMap before insert S->{V, 0} into ExprValueMap. std::pair Pair = ValueExprMap.insert({SCEVCallbackVH(V, this), S}); - if (Pair.second) - ExprValueMap[S].insert(V); + if (Pair.second) { + ExprValueMap[S].insert({V, nullptr}); + + // If S == Stripped + Offset, add Stripped -> {V, Offset} into + // ExprValueMap. + const SCEV *Stripped = S; + ConstantInt *Offset = nullptr; + std::tie(Stripped, Offset) = splitAddExpr(S); + // If stripped is SCEVUnknown, don't bother to save + // Stripped -> {V, offset}. It doesn't simplify and sometimes even + // increase the complexity of the expansion code. + // If V is GetElementPtrInst, don't save Stripped -> {V, offset} + // because it may generate add/sub instead of GEP in SCEV expansion. + if (Offset != nullptr && !isa(Stripped) && + !isa(V)) + ExprValueMap[Stripped].insert({V, Offset}); + } } return S; } @@ -3436,8 +3478,8 @@ const SCEV *ScalarEvolution::getExisting const SCEV *S = I->second; if (checkValidity(S)) return S; + eraseValueFromMap(V); forgetMemoizedResults(S); - ValueExprMap.erase(I); } return nullptr; } @@ -3675,8 +3717,8 @@ void ScalarEvolution::forgetSymbolicName if (!isa(I) || !isa(Old) || (I != PN && Old == SymName)) { + eraseValueFromMap(It->first); forgetMemoizedResults(Old); - ValueExprMap.erase(It); } } @@ -4055,7 +4097,7 @@ const SCEV *ScalarEvolution::createAddRe // to create an AddRecExpr for this PHI node. We can not keep this temporary // as it will prevent later (possibly simpler) SCEV expressions to be added // to the ValueExprMap. - ValueExprMap.erase(PN); + eraseValueFromMap(PN); } return nullptr; @@ -5435,8 +5477,8 @@ ScalarEvolution::getBackedgeTakenInfo(co // case, createNodeForPHI will perform the necessary updates on its // own when it gets to that point. if (!isa(I) || !isa(Old)) { + eraseValueFromMap(It->first); forgetMemoizedResults(Old); - ValueExprMap.erase(It); } if (PHINode *PN = dyn_cast(I)) ConstantEvolutionLoopExitValue.erase(PN); @@ -5481,8 +5523,8 @@ void ScalarEvolution::forgetLoop(const L ValueExprMapType::iterator It = ValueExprMap.find_as(static_cast(I)); if (It != ValueExprMap.end()) { + eraseValueFromMap(It->first); forgetMemoizedResults(It->second); - ValueExprMap.erase(It); if (PHINode *PN = dyn_cast(I)) ConstantEvolutionLoopExitValue.erase(PN); } @@ -5515,8 +5557,8 @@ void ScalarEvolution::forgetValue(Value ValueExprMapType::iterator It = ValueExprMap.find_as(static_cast(I)); if (It != ValueExprMap.end()) { + eraseValueFromMap(It->first); forgetMemoizedResults(It->second); - ValueExprMap.erase(It); if (PHINode *PN = dyn_cast(I)) ConstantEvolutionLoopExitValue.erase(PN); } Modified: projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp ============================================================================== --- projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/contrib/llvm/lib/Analysis/ScalarEvolutionExpander.cpp Thu Jan 26 15:37:53 2017 (r312817) @@ -1625,9 +1625,10 @@ Value *SCEVExpander::expandCodeFor(const return V; } -Value *SCEVExpander::FindValueInExprValueMap(const SCEV *S, - const Instruction *InsertPt) { - SetVector *Set = SE.getSCEVValues(S); +ScalarEvolution::ValueOffsetPair +SCEVExpander::FindValueInExprValueMap(const SCEV *S, + const Instruction *InsertPt) { + SetVector *Set = SE.getSCEVValues(S); // If the expansion is not in CanonicalMode, and the SCEV contains any // sub scAddRecExpr type SCEV, it is required to expand the SCEV literally. if (CanonicalMode || !SE.containsAddRecurrence(S)) { @@ -1636,21 +1637,21 @@ Value *SCEVExpander::FindValueInExprValu // Choose a Value from the set which dominates the insertPt. // insertPt should be inside the Value's parent loop so as not to break // the LCSSA form. - for (auto const &Ent : *Set) { + for (auto const &VOPair : *Set) { + Value *V = VOPair.first; + ConstantInt *Offset = VOPair.second; Instruction *EntInst = nullptr; - if (Ent && isa(Ent) && - (EntInst = cast(Ent)) && - S->getType() == Ent->getType() && + if (V && isa(V) && (EntInst = cast(V)) && + S->getType() == V->getType() && EntInst->getFunction() == InsertPt->getFunction() && SE.DT.dominates(EntInst, InsertPt) && (SE.LI.getLoopFor(EntInst->getParent()) == nullptr || - SE.LI.getLoopFor(EntInst->getParent())->contains(InsertPt))) { - return Ent; - } + SE.LI.getLoopFor(EntInst->getParent())->contains(InsertPt))) + return {V, Offset}; } } } - return nullptr; + return {nullptr, nullptr}; } // The expansion of SCEV will either reuse a previous Value in ExprValueMap, @@ -1698,10 +1699,14 @@ Value *SCEVExpander::expand(const SCEV * Builder.SetInsertPoint(InsertPt); // Expand the expression into instructions. - Value *V = FindValueInExprValueMap(S, InsertPt); + ScalarEvolution::ValueOffsetPair VO = FindValueInExprValueMap(S, InsertPt); + Value *V = VO.first; if (!V) V = visit(S); + else if (VO.second) { + V = Builder.CreateSub(V, VO.second); + } // Remember the expanded value for this SCEV at this location. // @@ -1914,7 +1919,7 @@ Value *SCEVExpander::findExistingExpansi // Use expand's logic which is used for reusing a previous Value in // ExprValueMap. - if (Value *Val = FindValueInExprValueMap(S, At)) + if (Value *Val = FindValueInExprValueMap(S, At).first) return Val; // There is potential to make this significantly smarter, but this simple Modified: projects/ipsec/lib/libthr/thread/thr_exit.c ============================================================================== --- projects/ipsec/lib/libthr/thread/thr_exit.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/lib/libthr/thread/thr_exit.c Thu Jan 26 15:37:53 2017 (r312817) @@ -240,9 +240,6 @@ _pthread_exit_mask(void *status, sigset_ #ifdef PIC thread_uw_init(); -#endif /* PIC */ - -#ifdef PIC if (uwl_forcedunwind != NULL) { #else if (_Unwind_ForcedUnwind != NULL) { Modified: projects/ipsec/libexec/rtld-elf/aarch64/reloc.c ============================================================================== --- projects/ipsec/libexec/rtld-elf/aarch64/reloc.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/libexec/rtld-elf/aarch64/reloc.c Thu Jan 26 15:37:53 2017 (r312817) @@ -184,6 +184,18 @@ rtld_tlsdesc_handle(struct tls_data *tls return (tlsdesc->index); } +static void +reloc_tlsdesc(Obj_Entry *obj, const Elf_Rela *rela, Elf_Addr *where) +{ + if (ELF_R_SYM(rela->r_info) == 0) { + where[0] = (Elf_Addr)_rtld_tlsdesc; + where[1] = obj->tlsoffset + rela->r_addend; + } else { + where[0] = (Elf_Addr)_rtld_tlsdesc_dynamic; + where[1] = (Elf_Addr)reloc_tlsdesc_alloc(obj, rela); + } +} + /* * Process the PLT relocations. */ @@ -204,14 +216,7 @@ reloc_plt(Obj_Entry *obj) *where += (Elf_Addr)obj->relocbase; break; case R_AARCH64_TLSDESC: - if (ELF_R_SYM(rela->r_info) == 0) { - where[0] = (Elf_Addr)_rtld_tlsdesc; - where[1] = obj->tlsoffset + rela->r_addend; - } else { - where[0] = (Elf_Addr)_rtld_tlsdesc_dynamic; - where[1] = (Elf_Addr)reloc_tlsdesc_alloc(obj, - rela); - } + reloc_tlsdesc(obj, rela, where); break; default: _rtld_error("Unknown relocation type %u in PLT", @@ -362,6 +367,9 @@ reloc_non_plt(Obj_Entry *obj, Obj_Entry return (-1); } break; + case R_AARCH64_TLSDESC: + reloc_tlsdesc(obj, rela, where); + break; case R_AARCH64_TLS_TPREL64: def = find_symdef(symnum, obj, &defobj, flags, cache, lockstate); Modified: projects/ipsec/share/misc/committers-ports.dot ============================================================================== --- projects/ipsec/share/misc/committers-ports.dot Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/share/misc/committers-ports.dot Thu Jan 26 15:37:53 2017 (r312817) @@ -195,6 +195,7 @@ philip [label="Philip Paeps\nphilip@Free rafan [label="Rong-En Fan\nrafan@FreeBSD.org\n2006/06/23"] rakuco [label="Raphael Kubo da Costa\nrakuco@FreeBSD.org\n2011/08/22"] rene [label="Rene Ladan\nrene@FreeBSD.org\n2010/04/11"] +rezny [label="Matthew Rezny\nrezny@FreeBSD.org\n2017/01/09"] riggs [label="Thomas Zander\nriggs@FreeBSD.org\n2014/01/09"] rm [label="Ruslan Makhmatkhanov\nrm@FreeBSD.org\n2011/11/06"] rnoland [label="Robert Noland\nrnoland@FreeBSD.org\n2008/07/21"] @@ -370,6 +371,7 @@ erwin -> simon feld -> brnrd feld -> junovitch +feld -> rezny fjoe -> danfe fjoe -> flo @@ -595,6 +597,7 @@ swills -> feld swills -> jrm swills -> milki swills -> pclin +swills -> rezny swills -> robak swills -> rpaulo swills -> tz Modified: projects/ipsec/share/misc/scsi_modes ============================================================================== --- projects/ipsec/share/misc/scsi_modes Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/share/misc/scsi_modes Thu Jan 26 15:37:53 2017 (r312817) @@ -478,4 +478,17 @@ {Current Write Speed Supported (kBps)} i2 }; +0x1d "Timeout and Protect" { + {Reserved} *i2 + {Reserved} *t4 + {G3Enable} t1 + {TMOE} t1 + {DISP} t1 + {SWPP} t1 + {Reserved} *i1 + {Group 1 Minimum Timeout} i2 + {Group 2 Minimum Timeout} i2 + {Group 3 Timeout} i2 +}; + 0x00 "Vendor-Specific"; Modified: projects/ipsec/sys/arm/arm/pmap-v6.c ============================================================================== --- projects/ipsec/sys/arm/arm/pmap-v6.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/arm/pmap-v6.c Thu Jan 26 15:37:53 2017 (r312817) @@ -1160,11 +1160,11 @@ pmap_bootstrap(vm_offset_t firstaddr) * Local CMAP1/CMAP2 are used for zeroing and copying pages. * Local CMAP2 is also used for data cache cleaning. */ - pc = pcpu_find(curcpu); + pc = get_pcpu(); mtx_init(&pc->pc_cmap_lock, "SYSMAPS", NULL, MTX_DEF); SYSMAP(caddr_t, pc->pc_cmap1_pte2p, pc->pc_cmap1_addr, 1); SYSMAP(caddr_t, pc->pc_cmap2_pte2p, pc->pc_cmap2_addr, 1); - SYSMAP(vm_offset_t, unused, pc->pc_qmap_addr, 1); + SYSMAP(vm_offset_t, pc->pc_qmap_pte2p, pc->pc_qmap_addr, 1); /* * Crashdump maps. @@ -1217,6 +1217,7 @@ pmap_init_reserved_pages(void) panic("%s: unable to allocate KVA", __func__); pc->pc_cmap1_pte2p = pt2map_entry(pages); pc->pc_cmap2_pte2p = pt2map_entry(pages + PAGE_SIZE); + pc->pc_qmap_pte2p = pt2map_entry(pages + (PAGE_SIZE * 2)); pc->pc_cmap1_addr = (caddr_t)pages; pc->pc_cmap2_addr = (caddr_t)(pages + PAGE_SIZE); pc->pc_qmap_addr = pages + (PAGE_SIZE * 2); @@ -1584,7 +1585,7 @@ pmap_pt2pg_zero(vm_page_t m) * to sync it even if the sync is only DSB. */ sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); if (pte2_load(cmap2_pte2p) != 0) @@ -5661,7 +5662,7 @@ pmap_page_set_memattr(vm_page_t m, vm_me if (ma != oma) { pa = VM_PAGE_TO_PHYS(m); sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); if (pte2_load(cmap2_pte2p) != 0) @@ -5754,7 +5755,7 @@ pmap_zero_page(vm_page_t m) struct pcpu *pc; sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); if (pte2_load(cmap2_pte2p) != 0) @@ -5781,7 +5782,7 @@ pmap_zero_page_area(vm_page_t m, int off struct pcpu *pc; sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); if (pte2_load(cmap2_pte2p) != 0) @@ -5811,7 +5812,7 @@ pmap_copy_page(vm_page_t src, vm_page_t struct pcpu *pc; sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap1_pte2p = pc->pc_cmap1_pte2p; cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); @@ -5846,7 +5847,7 @@ pmap_copy_pages(vm_page_t ma[], vm_offse int cnt; sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap1_pte2p = pc->pc_cmap1_pte2p; cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); @@ -5885,34 +5886,34 @@ pmap_copy_pages(vm_page_t ma[], vm_offse vm_offset_t pmap_quick_enter_page(vm_page_t m) { + struct pcpu *pc; pt2_entry_t *pte2p; - vm_offset_t qmap_addr; critical_enter(); - qmap_addr = PCPU_GET(qmap_addr); - pte2p = pt2map_entry(qmap_addr); + pc = get_pcpu(); + pte2p = pc->pc_qmap_pte2p; KASSERT(pte2_load(pte2p) == 0, ("%s: PTE2 busy", __func__)); pte2_store(pte2p, PTE2_KERN_NG(VM_PAGE_TO_PHYS(m), PTE2_AP_KRW, vm_page_pte2_attr(m))); - return (qmap_addr); + return (pc->pc_qmap_addr); } void pmap_quick_remove_page(vm_offset_t addr) { + struct pcpu *pc; pt2_entry_t *pte2p; - vm_offset_t qmap_addr; - qmap_addr = PCPU_GET(qmap_addr); - pte2p = pt2map_entry(qmap_addr); + pc = get_pcpu(); + pte2p = pc->pc_qmap_pte2p; - KASSERT(addr == qmap_addr, ("%s: invalid address", __func__)); + KASSERT(addr == pc->pc_qmap_addr, ("%s: invalid address", __func__)); KASSERT(pte2_load(pte2p) != 0, ("%s: PTE2 not in use", __func__)); pte2_clear(pte2p); - tlb_flush(qmap_addr); + tlb_flush(pc->pc_qmap_addr); critical_exit(); } @@ -6212,7 +6213,7 @@ pmap_dcache_wb_pou(vm_paddr_t pa, vm_siz ("%s: not on single page", __func__)); sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); if (pte2_load(cmap2_pte2p) != 0) @@ -6477,7 +6478,7 @@ pmap_zero_page_check(vm_page_t m) struct pcpu *pc; sched_pin(); - pc = pcpu_find(curcpu); + pc = get_pcpu(); cmap2_pte2p = pc->pc_cmap2_pte2p; mtx_lock(&pc->pc_cmap_lock); if (pte2_load(cmap2_pte2p) != 0) Modified: projects/ipsec/sys/arm/conf/ARMADA38X ============================================================================== --- projects/ipsec/sys/arm/conf/ARMADA38X Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/conf/ARMADA38X Thu Jan 26 15:37:53 2017 (r312817) @@ -60,6 +60,9 @@ device scbus device pass device da +# SATA +device ahci + # I2C device iic device iicbus Modified: projects/ipsec/sys/arm/include/pcpu.h ============================================================================== --- projects/ipsec/sys/arm/include/pcpu.h Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/include/pcpu.h Thu Jan 26 15:37:53 2017 (r312817) @@ -54,15 +54,13 @@ struct vmspace; caddr_t pc_cmap1_addr; \ caddr_t pc_cmap2_addr; \ vm_offset_t pc_qmap_addr; \ - void *pc_qmap_pte; \ + void *pc_qmap_pte2p; \ unsigned int pc_dbreg[32]; \ int pc_dbreg_cmd; \ char __pad[27] #else #define PCPU_MD_FIELDS \ - vm_offset_t qmap_addr; \ - void *pc_qmap_pte; \ - char __pad[149] + char __pad[157] #endif #ifdef _KERNEL Modified: projects/ipsec/sys/arm/mv/armada38x/files.armada38x ============================================================================== --- projects/ipsec/sys/arm/mv/armada38x/files.armada38x Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/mv/armada38x/files.armada38x Thu Jan 26 15:37:53 2017 (r312817) @@ -1,6 +1,8 @@ # $FreeBSD$ arm/mv/mpic.c standard +arm/mv/armada/thermal.c optional fdt + arm/mv/armada38x/armada38x.c standard arm/mv/armada38x/armada38x_mp.c optional smp arm/mv/armada38x/pmsu.c standard Modified: projects/ipsec/sys/arm/mv/files.mv ============================================================================== --- projects/ipsec/sys/arm/mv/files.mv Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/mv/files.mv Thu Jan 26 15:37:53 2017 (r312817) @@ -29,5 +29,6 @@ dev/uart/uart_dev_ns8250.c optional uart dev/uart/uart_dev_snps.c optional uart dev/usb/controller/ehci_mv.c optional ehci dev/usb/controller/xhci_mv.c optional xhci +dev/ahci/ahci_mv_fdt.c optional ahci kern/kern_clocksource.c standard Modified: projects/ipsec/sys/arm/mv/mv_common.c ============================================================================== --- projects/ipsec/sys/arm/mv/mv_common.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/mv/mv_common.c Thu Jan 26 15:37:53 2017 (r312817) @@ -98,6 +98,7 @@ static void decode_win_usb_setup(u_long) static void decode_win_usb3_setup(u_long); static void decode_win_eth_setup(u_long); static void decode_win_sata_setup(u_long); +static void decode_win_ahci_setup(u_long); static void decode_win_idma_setup(u_long); static void decode_win_xor_setup(u_long); @@ -107,6 +108,7 @@ static void decode_win_usb3_dump(u_long) static void decode_win_eth_dump(u_long base); static void decode_win_idma_dump(u_long base); static void decode_win_xor_dump(u_long base); +static void decode_win_ahci_dump(u_long base); static int fdt_get_ranges(const char *, void *, int, int *, int *); #ifdef SOC_MV_ARMADA38X @@ -139,6 +141,7 @@ static struct soc_node_spec soc_nodes[] { "mrvl,ge", &decode_win_eth_setup, &decode_win_eth_dump }, { "mrvl,usb-ehci", &decode_win_usb_setup, &decode_win_usb_dump }, { "marvell,armada-380-xhci", &decode_win_usb3_setup, &decode_win_usb3_dump }, + { "marvell,armada-380-ahci", &decode_win_ahci_setup, &decode_win_ahci_dump }, { "mrvl,sata", &decode_win_sata_setup, NULL }, { "mrvl,xor", &decode_win_xor_setup, &decode_win_xor_dump }, { "mrvl,idma", &decode_win_idma_setup, &decode_win_idma_dump }, @@ -146,7 +149,12 @@ static struct soc_node_spec soc_nodes[] { NULL, NULL, NULL }, }; -struct fdt_pm_mask_entry fdt_pm_mask_table[] = { +struct fdt_pm_mask_entry { + char *compat; + uint32_t mask; +}; + +static struct fdt_pm_mask_entry fdt_pm_mask_table[] = { { "mrvl,ge", CPU_PM_CTRL_GE(0) }, { "mrvl,ge", CPU_PM_CTRL_GE(1) }, { "mrvl,usb-ehci", CPU_PM_CTRL_USB(0) }, @@ -660,6 +668,11 @@ WIN_REG_BASE_IDX_RD(win_sata, cr, MV_WIN WIN_REG_BASE_IDX_RD(win_sata, br, MV_WIN_SATA_BASE); WIN_REG_BASE_IDX_WR(win_sata, cr, MV_WIN_SATA_CTRL); WIN_REG_BASE_IDX_WR(win_sata, br, MV_WIN_SATA_BASE); +#if defined(SOC_MV_ARMADA38X) +WIN_REG_BASE_IDX_RD(win_sata, sz, MV_WIN_SATA_SIZE); +WIN_REG_BASE_IDX_WR(win_sata, sz, MV_WIN_SATA_SIZE); +#endif + #ifndef SOC_MV_DOVE WIN_REG_IDX_RD(ddr, br, MV_WIN_DDR_BASE, MV_DDR_CADR_BASE) WIN_REG_IDX_RD(ddr, sz, MV_WIN_DDR_SIZE, MV_DDR_CADR_BASE) @@ -1999,6 +2012,75 @@ decode_win_sata_setup(u_long base) } } +#ifdef SOC_MV_ARMADA38X +/* + * Configure AHCI decoding windows + */ +static void +decode_win_ahci_setup(u_long base) +{ + uint32_t br, cr, sz; + int i, j; + + for (i = 0; i < MV_WIN_SATA_MAX; i++) { + win_sata_cr_write(base, i, 0); + win_sata_br_write(base, i, 0); + win_sata_sz_write(base, i, 0); + } + + for (i = 0; i < MV_WIN_DDR_MAX; i++) { + if (ddr_is_active(i)) { + cr = (ddr_attr(i) << IO_WIN_ATTR_SHIFT) | + (ddr_target(i) << IO_WIN_TGT_SHIFT) | + IO_WIN_ENA_MASK; + br = ddr_base(i); + sz = (ddr_size(i) - 1) & + (IO_WIN_SIZE_MASK << IO_WIN_SIZE_SHIFT); + + /* Use first available SATA window */ + for (j = 0; j < MV_WIN_SATA_MAX; j++) { + if (win_sata_cr_read(base, j) & IO_WIN_ENA_MASK) + continue; + + /* BASE is set to DRAM base (0x00000000) */ + win_sata_br_write(base, j, br); + /* CTRL targets DRAM ctrl with 0x0E or 0x0D */ + win_sata_cr_write(base, j, cr); + /* SIZE is set to 16MB - max value */ + win_sata_sz_write(base, j, sz); + break; + } + } + } +} + +static void +decode_win_ahci_dump(u_long base) +{ + int i; + + for (i = 0; i < MV_WIN_SATA_MAX; i++) + printf("SATA window#%d: cr 0x%08x, br 0x%08x, sz 0x%08x\n", i, + win_sata_cr_read(base, i), win_sata_br_read(base, i), + win_sata_sz_read(base,i)); +} + +#else +/* + * Provide dummy functions to satisfy the build + * for SoC's not equipped with AHCI controller + */ +static void +decode_win_ahci_setup(u_long base) +{ +} + +static void +decode_win_ahci_dump(u_long base) +{ +} +#endif + static int decode_win_sata_valid(void) { @@ -2172,6 +2254,10 @@ fdt_win_setup(void) soc_node = &soc_nodes[i]; + /* Setup only for enabled devices */ + if (ofw_bus_node_status_okay(child) == 0) + continue; + if (!ofw_bus_node_is_compatible(child,soc_node->compat)) continue; Modified: projects/ipsec/sys/arm/mv/mvwin.h ============================================================================== --- projects/ipsec/sys/arm/mv/mvwin.h Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/arm/mv/mvwin.h Thu Jan 26 15:37:53 2017 (r312817) @@ -324,9 +324,16 @@ #define MV_PCIE_CONTROL (0x1a00) #define MV_PCIE_ROOT_CMPLX (1 << 1) +#if defined(SOC_MV_ARMADA38X) +#define MV_WIN_SATA_CTRL(n) (0x10 * (n) + 0x60) +#define MV_WIN_SATA_BASE(n) (0x10 * (n) + 0x64) +#define MV_WIN_SATA_SIZE(n) (0x10 * (n) + 0x68) +#define MV_WIN_SATA_MAX 4 +#else #define MV_WIN_SATA_CTRL(n) (0x10 * (n) + 0x30) #define MV_WIN_SATA_BASE(n) (0x10 * (n) + 0x34) #define MV_WIN_SATA_MAX 4 +#endif #if defined(SOC_MV_ARMADA38X) #define MV_BOOTROM_MEM_ADDR 0xFFF00000 Modified: projects/ipsec/sys/cam/cam_iosched.c ============================================================================== --- projects/ipsec/sys/cam/cam_iosched.c Thu Jan 26 13:50:09 2017 (r312816) +++ projects/ipsec/sys/cam/cam_iosched.c Thu Jan 26 15:37:53 2017 (r312817) @@ -112,7 +112,7 @@ typedef enum { bandwidth, /* Limit bandwidth to the drive */ limiter_max } io_limiter; - + static const char *cam_iosched_limiter_names[] = { "none", "queue_depth", "iops", "bandwidth" }; @@ -131,7 +131,7 @@ typedef int l_tick_t(struct iop_stats *) * Called to see if the limiter thinks this IOP can be allowed to * proceed. If so, the limiter assumes that the while IOP proceeded * and makes any accounting of it that's needed. - */ + */ typedef int l_iop_t(struct iop_stats *, struct bio *); /* @@ -157,8 +157,7 @@ static l_tick_t cam_iosched_bw_tick; static l_iop_t cam_iosched_bw_caniop; static l_iop_t cam_iosched_bw_iop; -struct limswitch -{ +struct limswitch { l_init_t *l_init; l_tick_t *l_tick; l_iop_t *l_iop; @@ -195,8 +194,7 @@ struct limswitch }, }; -struct iop_stats -{ +struct iop_stats { /* * sysctl state for this subnode. */ @@ -212,7 +210,6 @@ struct iop_stats int current; /* Current rate limiter */ int l_value1; /* per-limiter scratch value 1. */ int l_value2; /* per-limiter scratch value 2. */ - /* * Debug information about counts of I/Os that have gone through the @@ -223,7 +220,7 @@ struct iop_stats int total; /* Total for all time -- wraps */ int in; /* number queued all time -- wraps */ int out; /* number completed all time -- wraps */ - + /* * Statistics on different bits of the process. */ @@ -251,8 +248,7 @@ typedef enum { static const char *cam_iosched_control_type_names[] = { "set_max", "read_latency" }; -struct control_loop -{ +struct control_loop { /* * sysctl state for this subnode. */ @@ -272,8 +268,7 @@ struct control_loop #endif -struct cam_iosched_softc -{ +struct cam_iosched_softc { struct bio_queue_head bio_queue; struct bio_queue_head trim_queue; /* scheduler flags < 16, user flags >= 16 */ @@ -385,7 +380,7 @@ cam_iosched_limiter_iodone(struct iop_st static int cam_iosched_qd_iop(struct iop_stats *ios, struct bio *bp) { - + if (ios->current <= 0 || ios->pending < ios->current) return 0; @@ -395,7 +390,7 @@ cam_iosched_qd_iop(struct iop_stats *ios static int cam_iosched_qd_caniop(struct iop_stats *ios, struct bio *bp) { - + if (ios->current <= 0 || ios->pending < ios->current) return 0; @@ -405,7 +400,7 @@ cam_iosched_qd_caniop(struct iop_stats * static int cam_iosched_qd_iodone(struct iop_stats *ios, struct bio *bp) { - + if (ios->current <= 0 || ios->pending != ios->current) return 0; @@ -773,7 +768,7 @@ cam_iosched_limiter_sysctl(SYSCTL_HANDLE struct cam_iosched_softc *isc; int value, i, error; const char *p; - + ios = arg1; isc = ios->softc; value = ios->limiter; @@ -781,7 +776,7 @@ cam_iosched_limiter_sysctl(SYSCTL_HANDLE p = "UNKNOWN"; else p = cam_iosched_limiter_names[value]; - + strlcpy(buf, p, sizeof(buf)); error = sysctl_handle_string(oidp, buf, sizeof(buf), req); if (error != 0 || req->newptr == NULL) @@ -819,7 +814,7 @@ cam_iosched_control_type_sysctl(SYSCTL_H struct cam_iosched_softc *isc; int value, i, error; const char *p; - + clp = arg1; isc = clp->softc; value = clp->type; @@ -827,7 +822,7 @@ cam_iosched_control_type_sysctl(SYSCTL_H p = "UNKNOWN"; else p = cam_iosched_control_type_names[value]; - + strlcpy(buf, p, sizeof(buf)); error = sysctl_handle_string(oidp, buf, sizeof(buf), req); if (error != 0 || req->newptr == NULL) @@ -852,7 +847,7 @@ cam_iosched_sbintime_sysctl(SYSCTL_HANDL sbintime_t value; int error; uint64_t us; - + value = *(sbintime_t *)arg1; us = (uint64_t)value / SBT_1US; snprintf(buf, sizeof(buf), "%ju", (intmax_t)us); @@ -969,7 +964,7 @@ cam_iosched_cl_sysctl_init(struct cam_io struct sysctl_oid_list *n; struct sysctl_ctx_list *ctx; struct control_loop *clp; - + clp = &isc->cl; clp->sysctl_tree = SYSCTL_ADD_NODE(&isc->sysctl_ctx, SYSCTL_CHILDREN(isc->sysctl_tree), OID_AUTO, "control", @@ -1007,7 +1002,7 @@ cam_iosched_cl_sysctl_fini(struct contro printf("can't remove iosched sysctl control loop context\n"); } #endif - + /* * Allocate the iosched structure. This also insulates callers from knowing * sizeof struct cam_iosched_softc. @@ -1069,7 +1064,6 @@ cam_iosched_fini(struct cam_iosched_soft callout_drain(&isc->ticker); isc->flags &= ~ CAM_IOSCHED_FLAG_CALLOUT_ACTIVE; } - #endif free(isc, M_CAMSCHED); } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Jan 27 16:53:55 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 1B7F0CC31DF for ; Fri, 27 Jan 2017 16:53:55 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id D42F4B7; Fri, 27 Jan 2017 16:53:54 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0RGrrO5087500; Fri, 27 Jan 2017 16:53:53 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0RGrrL3087499; Fri, 27 Jan 2017 16:53:53 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701271653.v0RGrrL3087499@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 27 Jan 2017 16:53:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312891 - projects/clang400-import/contrib/llvm/tools/lld/ELF X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2017 16:53:55 -0000 Author: emaste Date: Fri Jan 27 16:53:53 2017 New Revision: 312891 URL: https://svnweb.freebsd.org/changeset/base/312891 Log: lld: do not round up PT_GNU_RELRO p_memsz The change was made to support glibc and believed to be a no-op on FreeBSD, but that is not the case for architectures with multiple page sizes, such as arm64. The relro p_memsz header was rounded up to the default maximum page size (64K). When 4K pages are in use, multiple pages beyond the final PT_LOAD segment had their permissions changed to read-only after application of relocations and copy relocations, which led to a segfault in certain cases. This reverts upstream r290986. I have started a discussion about the upstream fix on the LLVM mailing list. Reported by: andrew Sponsored by: The FreeBSD Foundation Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Modified: projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp ============================================================================== --- projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Fri Jan 27 15:03:51 2017 (r312890) +++ projects/clang400-import/contrib/llvm/tools/lld/ELF/Writer.cpp Fri Jan 27 16:53:53 2017 (r312891) @@ -1461,13 +1461,8 @@ template void Writer: } if (P.p_type == PT_LOAD) P.p_align = Config->MaxPageSize; - else if (P.p_type == PT_GNU_RELRO) { + else if (P.p_type == PT_GNU_RELRO) P.p_align = 1; - // The glibc dynamic loader rounds the size down, so we need to round up - // to protect the last page. This is a no-op on FreeBSD which always - // rounds up. - P.p_memsz = alignTo(P.p_memsz, Config->MaxPageSize); - } // The TLS pointer goes after PT_TLS. At least glibc will align it, // so round up the size to make sure the offsets are correct. From owner-svn-src-projects@freebsd.org Fri Jan 27 20:01:51 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id DB9D9CC4A57 for ; Fri, 27 Jan 2017 20:01:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6DCFD1996; Fri, 27 Jan 2017 20:01:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0RK1o9G064006; Fri, 27 Jan 2017 20:01:50 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0RK1lq9063974; Fri, 27 Jan 2017 20:01:47 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201701272001.v0RK1lq9063974@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 27 Jan 2017 20:01:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312894 - in projects/clang400-import: . contrib/elftoolchain/strings contrib/ipfilter/lib contrib/ipfilter/tools crypto/openssl crypto/openssl/apps crypto/openssl/crypto crypto/openssl... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2017 20:01:52 -0000 Author: dim Date: Fri Jan 27 20:01:46 2017 New Revision: 312894 URL: https://svnweb.freebsd.org/changeset/base/312894 Log: Merge ^/head r312720 through r312893. Added: projects/clang400-import/sys/arm/mv/armada/ - copied from r312893, head/sys/arm/mv/armada/ projects/clang400-import/sys/dev/ahci/ahci_mv_fdt.c - copied unchanged from r312893, head/sys/dev/ahci/ahci_mv_fdt.c projects/clang400-import/sys/dev/mlx5/diagnostics.h - copied unchanged from r312893, head/sys/dev/mlx5/diagnostics.h projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_diagnostics.c - copied unchanged from r312893, head/sys/dev/mlx5/mlx5_core/mlx5_diagnostics.c projects/clang400-import/tools/build/options/WITHOUT_LLD_IS_LD - copied unchanged from r312893, head/tools/build/options/WITHOUT_LLD_IS_LD projects/clang400-import/tools/build/options/WITH_LLD_IS_LD - copied unchanged from r312893, head/tools/build/options/WITH_LLD_IS_LD Deleted: projects/clang400-import/tools/build/options/WITHOUT_LLD_AS_LD projects/clang400-import/tools/build/options/WITH_LLD_AS_LD Modified: projects/clang400-import/Makefile.inc1 projects/clang400-import/Makefile.libcompat projects/clang400-import/UPDATING projects/clang400-import/contrib/elftoolchain/strings/strings.c projects/clang400-import/contrib/ipfilter/lib/rwlock_emul.c projects/clang400-import/contrib/ipfilter/tools/ipf.c projects/clang400-import/crypto/openssl/CHANGES projects/clang400-import/crypto/openssl/CONTRIBUTING projects/clang400-import/crypto/openssl/Configure projects/clang400-import/crypto/openssl/INSTALL projects/clang400-import/crypto/openssl/Makefile projects/clang400-import/crypto/openssl/Makefile.org projects/clang400-import/crypto/openssl/NEWS projects/clang400-import/crypto/openssl/README projects/clang400-import/crypto/openssl/apps/apps.c projects/clang400-import/crypto/openssl/apps/apps.h projects/clang400-import/crypto/openssl/apps/ca.c projects/clang400-import/crypto/openssl/apps/cms.c projects/clang400-import/crypto/openssl/apps/dgst.c projects/clang400-import/crypto/openssl/apps/dh.c projects/clang400-import/crypto/openssl/apps/dhparam.c projects/clang400-import/crypto/openssl/apps/dsa.c projects/clang400-import/crypto/openssl/apps/dsaparam.c projects/clang400-import/crypto/openssl/apps/ec.c projects/clang400-import/crypto/openssl/apps/ecparam.c projects/clang400-import/crypto/openssl/apps/enc.c projects/clang400-import/crypto/openssl/apps/gendh.c projects/clang400-import/crypto/openssl/apps/gendsa.c projects/clang400-import/crypto/openssl/apps/genpkey.c projects/clang400-import/crypto/openssl/apps/genrsa.c projects/clang400-import/crypto/openssl/apps/pkcs12.c projects/clang400-import/crypto/openssl/apps/pkcs7.c projects/clang400-import/crypto/openssl/apps/pkcs8.c projects/clang400-import/crypto/openssl/apps/pkey.c projects/clang400-import/crypto/openssl/apps/pkeyparam.c projects/clang400-import/crypto/openssl/apps/pkeyutl.c projects/clang400-import/crypto/openssl/apps/prime.c projects/clang400-import/crypto/openssl/apps/rand.c projects/clang400-import/crypto/openssl/apps/req.c projects/clang400-import/crypto/openssl/apps/rsa.c projects/clang400-import/crypto/openssl/apps/rsautl.c projects/clang400-import/crypto/openssl/apps/s_cb.c projects/clang400-import/crypto/openssl/apps/s_client.c projects/clang400-import/crypto/openssl/apps/s_server.c projects/clang400-import/crypto/openssl/apps/smime.c projects/clang400-import/crypto/openssl/apps/speed.c projects/clang400-import/crypto/openssl/apps/spkac.c projects/clang400-import/crypto/openssl/apps/srp.c projects/clang400-import/crypto/openssl/apps/verify.c projects/clang400-import/crypto/openssl/apps/x509.c projects/clang400-import/crypto/openssl/crypto/aes/asm/aes-s390x.pl projects/clang400-import/crypto/openssl/crypto/asn1/p5_pbev2.c projects/clang400-import/crypto/openssl/crypto/asn1/x_crl.c projects/clang400-import/crypto/openssl/crypto/bn/asm/x86_64-mont.pl projects/clang400-import/crypto/openssl/crypto/bn/asm/x86_64-mont5.pl projects/clang400-import/crypto/openssl/crypto/bn/bn_exp.c projects/clang400-import/crypto/openssl/crypto/bn/bn_mul.c projects/clang400-import/crypto/openssl/crypto/bn/bn_prime.c projects/clang400-import/crypto/openssl/crypto/bn/bn_sqr.c projects/clang400-import/crypto/openssl/crypto/cms/cms_kari.c projects/clang400-import/crypto/openssl/crypto/dh/dh_key.c projects/clang400-import/crypto/openssl/crypto/dsa/dsa_pmeth.c projects/clang400-import/crypto/openssl/crypto/ec/ec2_mult.c projects/clang400-import/crypto/openssl/crypto/ecdh/ech_ossl.c projects/clang400-import/crypto/openssl/crypto/err/err.c projects/clang400-import/crypto/openssl/crypto/evp/e_aes.c projects/clang400-import/crypto/openssl/crypto/evp/e_rc4_hmac_md5.c projects/clang400-import/crypto/openssl/crypto/evp/evp.h projects/clang400-import/crypto/openssl/crypto/evp/evp_err.c projects/clang400-import/crypto/openssl/crypto/evp/pmeth_fn.c projects/clang400-import/crypto/openssl/crypto/evp/pmeth_lib.c projects/clang400-import/crypto/openssl/crypto/modes/ctr128.c projects/clang400-import/crypto/openssl/crypto/opensslv.h projects/clang400-import/crypto/openssl/crypto/perlasm/x86_64-xlate.pl projects/clang400-import/crypto/openssl/crypto/rsa/rsa_gen.c projects/clang400-import/crypto/openssl/crypto/rsa/rsa_oaep.c projects/clang400-import/crypto/openssl/crypto/rsa/rsa_pmeth.c projects/clang400-import/crypto/openssl/crypto/s390xcap.c projects/clang400-import/crypto/openssl/crypto/ui/ui_lib.c projects/clang400-import/crypto/openssl/crypto/ui/ui_openssl.c projects/clang400-import/crypto/openssl/doc/apps/ocsp.pod projects/clang400-import/crypto/openssl/doc/crypto/EVP_DigestSignInit.pod projects/clang400-import/crypto/openssl/doc/crypto/EVP_DigestVerifyInit.pod projects/clang400-import/crypto/openssl/doc/crypto/RSA_generate_key.pod projects/clang400-import/crypto/openssl/doc/crypto/X509_NAME_get_index_by_NID.pod projects/clang400-import/crypto/openssl/doc/crypto/X509_NAME_print_ex.pod projects/clang400-import/crypto/openssl/doc/ssl/SSL_CTX_set_session_cache_mode.pod projects/clang400-import/crypto/openssl/doc/ssl/SSL_get_error.pod projects/clang400-import/crypto/openssl/doc/ssl/SSL_read.pod projects/clang400-import/crypto/openssl/doc/ssl/SSL_write.pod projects/clang400-import/crypto/openssl/engines/ccgost/Makefile projects/clang400-import/crypto/openssl/ssl/bad_dtls_test.c projects/clang400-import/crypto/openssl/ssl/s23_pkt.c projects/clang400-import/crypto/openssl/ssl/s2_lib.c projects/clang400-import/crypto/openssl/ssl/s2_pkt.c projects/clang400-import/crypto/openssl/ssl/s3_clnt.c projects/clang400-import/crypto/openssl/ssl/s3_pkt.c projects/clang400-import/crypto/openssl/ssl/s3_srvr.c projects/clang400-import/crypto/openssl/ssl/ssl_cert.c projects/clang400-import/crypto/openssl/ssl/ssl_err.c projects/clang400-import/crypto/openssl/ssl/ssl_lib.c projects/clang400-import/crypto/openssl/ssl/ssl_locl.h projects/clang400-import/crypto/openssl/ssl/ssl_sess.c projects/clang400-import/crypto/openssl/ssl/t1_lib.c projects/clang400-import/crypto/openssl/util/domd projects/clang400-import/crypto/openssl/util/mklink.pl projects/clang400-import/gnu/usr.bin/binutils/ld/Makefile projects/clang400-import/lib/libthr/thread/thr_exit.c projects/clang400-import/libexec/rtld-elf/aarch64/reloc.c projects/clang400-import/secure/lib/libcrypto/Makefile.inc projects/clang400-import/secure/lib/libcrypto/amd64/x86_64-mont.S projects/clang400-import/secure/lib/libcrypto/amd64/x86_64-mont5.S projects/clang400-import/secure/lib/libcrypto/man/ASN1_OBJECT_new.3 projects/clang400-import/secure/lib/libcrypto/man/ASN1_STRING_length.3 projects/clang400-import/secure/lib/libcrypto/man/ASN1_STRING_new.3 projects/clang400-import/secure/lib/libcrypto/man/ASN1_STRING_print_ex.3 projects/clang400-import/secure/lib/libcrypto/man/ASN1_TIME_set.3 projects/clang400-import/secure/lib/libcrypto/man/ASN1_generate_nconf.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_ctrl.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_f_base64.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_f_buffer.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_f_cipher.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_f_md.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_f_null.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_f_ssl.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_find_type.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_new.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_new_CMS.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_push.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_read.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_accept.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_bio.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_connect.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_fd.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_file.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_mem.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_null.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_s_socket.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_set_callback.3 projects/clang400-import/secure/lib/libcrypto/man/BIO_should_retry.3 projects/clang400-import/secure/lib/libcrypto/man/BN_BLINDING_new.3 projects/clang400-import/secure/lib/libcrypto/man/BN_CTX_new.3 projects/clang400-import/secure/lib/libcrypto/man/BN_CTX_start.3 projects/clang400-import/secure/lib/libcrypto/man/BN_add.3 projects/clang400-import/secure/lib/libcrypto/man/BN_add_word.3 projects/clang400-import/secure/lib/libcrypto/man/BN_bn2bin.3 projects/clang400-import/secure/lib/libcrypto/man/BN_cmp.3 projects/clang400-import/secure/lib/libcrypto/man/BN_copy.3 projects/clang400-import/secure/lib/libcrypto/man/BN_generate_prime.3 projects/clang400-import/secure/lib/libcrypto/man/BN_mod_inverse.3 projects/clang400-import/secure/lib/libcrypto/man/BN_mod_mul_montgomery.3 projects/clang400-import/secure/lib/libcrypto/man/BN_mod_mul_reciprocal.3 projects/clang400-import/secure/lib/libcrypto/man/BN_new.3 projects/clang400-import/secure/lib/libcrypto/man/BN_num_bytes.3 projects/clang400-import/secure/lib/libcrypto/man/BN_rand.3 projects/clang400-import/secure/lib/libcrypto/man/BN_set_bit.3 projects/clang400-import/secure/lib/libcrypto/man/BN_swap.3 projects/clang400-import/secure/lib/libcrypto/man/BN_zero.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_add0_cert.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_add1_recipient_cert.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_add1_signer.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_compress.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_decrypt.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_encrypt.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_final.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_get0_RecipientInfos.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_get0_SignerInfos.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_get0_type.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_get1_ReceiptRequest.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_sign.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_sign_receipt.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_uncompress.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_verify.3 projects/clang400-import/secure/lib/libcrypto/man/CMS_verify_receipt.3 projects/clang400-import/secure/lib/libcrypto/man/CONF_modules_free.3 projects/clang400-import/secure/lib/libcrypto/man/CONF_modules_load_file.3 projects/clang400-import/secure/lib/libcrypto/man/CRYPTO_set_ex_data.3 projects/clang400-import/secure/lib/libcrypto/man/DH_generate_key.3 projects/clang400-import/secure/lib/libcrypto/man/DH_generate_parameters.3 projects/clang400-import/secure/lib/libcrypto/man/DH_get_ex_new_index.3 projects/clang400-import/secure/lib/libcrypto/man/DH_new.3 projects/clang400-import/secure/lib/libcrypto/man/DH_set_method.3 projects/clang400-import/secure/lib/libcrypto/man/DH_size.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_SIG_new.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_do_sign.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_dup_DH.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_generate_key.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_generate_parameters.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_get_ex_new_index.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_new.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_set_method.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_sign.3 projects/clang400-import/secure/lib/libcrypto/man/DSA_size.3 projects/clang400-import/secure/lib/libcrypto/man/EC_GFp_simple_method.3 projects/clang400-import/secure/lib/libcrypto/man/EC_GROUP_copy.3 projects/clang400-import/secure/lib/libcrypto/man/EC_GROUP_new.3 projects/clang400-import/secure/lib/libcrypto/man/EC_KEY_new.3 projects/clang400-import/secure/lib/libcrypto/man/EC_POINT_add.3 projects/clang400-import/secure/lib/libcrypto/man/EC_POINT_new.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_GET_LIB.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_clear_error.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_error_string.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_get_error.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_load_crypto_strings.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_load_strings.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_print_errors.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_put_error.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_remove_state.3 projects/clang400-import/secure/lib/libcrypto/man/ERR_set_mark.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_BytesToKey.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_DigestInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_DigestSignInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_DigestVerifyInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_EncodeInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_EncryptInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_OpenInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_ctrl.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_CTX_new.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_cmp.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_decrypt.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_derive.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_encrypt.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_get_default_digest.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_keygen.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_new.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_print_private.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_set1_RSA.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_sign.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_verify.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_PKEY_verify_recover.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_SealInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_SignInit.3 projects/clang400-import/secure/lib/libcrypto/man/EVP_VerifyInit.3 projects/clang400-import/secure/lib/libcrypto/man/OBJ_nid2obj.3 projects/clang400-import/secure/lib/libcrypto/man/OPENSSL_Applink.3 projects/clang400-import/secure/lib/libcrypto/man/OPENSSL_VERSION_NUMBER.3 projects/clang400-import/secure/lib/libcrypto/man/OPENSSL_config.3 projects/clang400-import/secure/lib/libcrypto/man/OPENSSL_ia32cap.3 projects/clang400-import/secure/lib/libcrypto/man/OPENSSL_instrument_bus.3 projects/clang400-import/secure/lib/libcrypto/man/OPENSSL_load_builtin_modules.3 projects/clang400-import/secure/lib/libcrypto/man/OpenSSL_add_all_algorithms.3 projects/clang400-import/secure/lib/libcrypto/man/PEM_write_bio_CMS_stream.3 projects/clang400-import/secure/lib/libcrypto/man/PEM_write_bio_PKCS7_stream.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS12_create.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS12_parse.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS7_decrypt.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS7_encrypt.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS7_sign.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS7_sign_add_signer.3 projects/clang400-import/secure/lib/libcrypto/man/PKCS7_verify.3 projects/clang400-import/secure/lib/libcrypto/man/RAND_add.3 projects/clang400-import/secure/lib/libcrypto/man/RAND_bytes.3 projects/clang400-import/secure/lib/libcrypto/man/RAND_cleanup.3 projects/clang400-import/secure/lib/libcrypto/man/RAND_egd.3 projects/clang400-import/secure/lib/libcrypto/man/RAND_load_file.3 projects/clang400-import/secure/lib/libcrypto/man/RAND_set_rand_method.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_blinding_on.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_check_key.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_generate_key.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_get_ex_new_index.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_new.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_padding_add_PKCS1_type_1.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_print.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_private_encrypt.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_public_encrypt.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_set_method.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_sign.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_sign_ASN1_OCTET_STRING.3 projects/clang400-import/secure/lib/libcrypto/man/RSA_size.3 projects/clang400-import/secure/lib/libcrypto/man/SMIME_read_CMS.3 projects/clang400-import/secure/lib/libcrypto/man/SMIME_read_PKCS7.3 projects/clang400-import/secure/lib/libcrypto/man/SMIME_write_CMS.3 projects/clang400-import/secure/lib/libcrypto/man/SMIME_write_PKCS7.3 projects/clang400-import/secure/lib/libcrypto/man/X509_NAME_ENTRY_get_object.3 projects/clang400-import/secure/lib/libcrypto/man/X509_NAME_add_entry_by_txt.3 projects/clang400-import/secure/lib/libcrypto/man/X509_NAME_get_index_by_NID.3 projects/clang400-import/secure/lib/libcrypto/man/X509_NAME_print_ex.3 projects/clang400-import/secure/lib/libcrypto/man/X509_STORE_CTX_get_error.3 projects/clang400-import/secure/lib/libcrypto/man/X509_STORE_CTX_get_ex_new_index.3 projects/clang400-import/secure/lib/libcrypto/man/X509_STORE_CTX_new.3 projects/clang400-import/secure/lib/libcrypto/man/X509_STORE_CTX_set_verify_cb.3 projects/clang400-import/secure/lib/libcrypto/man/X509_STORE_set_verify_cb_func.3 projects/clang400-import/secure/lib/libcrypto/man/X509_VERIFY_PARAM_set_flags.3 projects/clang400-import/secure/lib/libcrypto/man/X509_check_host.3 projects/clang400-import/secure/lib/libcrypto/man/X509_new.3 projects/clang400-import/secure/lib/libcrypto/man/X509_verify_cert.3 projects/clang400-import/secure/lib/libcrypto/man/bio.3 projects/clang400-import/secure/lib/libcrypto/man/blowfish.3 projects/clang400-import/secure/lib/libcrypto/man/bn.3 projects/clang400-import/secure/lib/libcrypto/man/bn_internal.3 projects/clang400-import/secure/lib/libcrypto/man/buffer.3 projects/clang400-import/secure/lib/libcrypto/man/crypto.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_ASN1_OBJECT.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_CMS_ContentInfo.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_DHparams.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_DSAPublicKey.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_ECPKParameters.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_ECPrivateKey.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_PKCS8PrivateKey.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_PrivateKey.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_RSAPublicKey.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_X509.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_X509_ALGOR.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_X509_CRL.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_X509_NAME.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_X509_REQ.3 projects/clang400-import/secure/lib/libcrypto/man/d2i_X509_SIG.3 projects/clang400-import/secure/lib/libcrypto/man/des.3 projects/clang400-import/secure/lib/libcrypto/man/dh.3 projects/clang400-import/secure/lib/libcrypto/man/dsa.3 projects/clang400-import/secure/lib/libcrypto/man/ec.3 projects/clang400-import/secure/lib/libcrypto/man/ecdsa.3 projects/clang400-import/secure/lib/libcrypto/man/engine.3 projects/clang400-import/secure/lib/libcrypto/man/err.3 projects/clang400-import/secure/lib/libcrypto/man/evp.3 projects/clang400-import/secure/lib/libcrypto/man/hmac.3 projects/clang400-import/secure/lib/libcrypto/man/i2d_CMS_bio_stream.3 projects/clang400-import/secure/lib/libcrypto/man/i2d_PKCS7_bio_stream.3 projects/clang400-import/secure/lib/libcrypto/man/lh_stats.3 projects/clang400-import/secure/lib/libcrypto/man/lhash.3 projects/clang400-import/secure/lib/libcrypto/man/md5.3 projects/clang400-import/secure/lib/libcrypto/man/mdc2.3 projects/clang400-import/secure/lib/libcrypto/man/pem.3 projects/clang400-import/secure/lib/libcrypto/man/rand.3 projects/clang400-import/secure/lib/libcrypto/man/rc4.3 projects/clang400-import/secure/lib/libcrypto/man/ripemd.3 projects/clang400-import/secure/lib/libcrypto/man/rsa.3 projects/clang400-import/secure/lib/libcrypto/man/sha.3 projects/clang400-import/secure/lib/libcrypto/man/threads.3 projects/clang400-import/secure/lib/libcrypto/man/ui.3 projects/clang400-import/secure/lib/libcrypto/man/ui_compat.3 projects/clang400-import/secure/lib/libcrypto/man/x509.3 projects/clang400-import/secure/lib/libssl/man/SSL_CIPHER_get_name.3 projects/clang400-import/secure/lib/libssl/man/SSL_COMP_add_compression_method.3 projects/clang400-import/secure/lib/libssl/man/SSL_CONF_CTX_new.3 projects/clang400-import/secure/lib/libssl/man/SSL_CONF_CTX_set1_prefix.3 projects/clang400-import/secure/lib/libssl/man/SSL_CONF_CTX_set_flags.3 projects/clang400-import/secure/lib/libssl/man/SSL_CONF_CTX_set_ssl_ctx.3 projects/clang400-import/secure/lib/libssl/man/SSL_CONF_cmd.3 projects/clang400-import/secure/lib/libssl/man/SSL_CONF_cmd_argv.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_add1_chain_cert.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_add_extra_chain_cert.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_add_session.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_ctrl.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_flush_sessions.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_free.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_get0_param.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_get_ex_new_index.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_get_verify_mode.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_load_verify_locations.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_new.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_sess_number.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_sess_set_cache_size.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_sess_set_get_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_sessions.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set1_curves.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set1_verify_cert_store.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_alpn_select_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_cert_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_cert_store.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_cert_verify_callback.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_cipher_list.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_client_CA_list.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_client_cert_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_custom_cli_ext.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_default_passwd_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_generate_session_id.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_info_callback.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_max_cert_list.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_mode.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_msg_callback.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_options.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_psk_client_callback.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_quiet_shutdown.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_read_ahead.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_session_cache_mode.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_session_id_context.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_ssl_version.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_timeout.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_tlsext_status_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_tlsext_ticket_key_cb.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_tmp_dh_callback.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_tmp_rsa_callback.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_set_verify.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_use_certificate.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_use_psk_identity_hint.3 projects/clang400-import/secure/lib/libssl/man/SSL_CTX_use_serverinfo.3 projects/clang400-import/secure/lib/libssl/man/SSL_SESSION_free.3 projects/clang400-import/secure/lib/libssl/man/SSL_SESSION_get_ex_new_index.3 projects/clang400-import/secure/lib/libssl/man/SSL_SESSION_get_time.3 projects/clang400-import/secure/lib/libssl/man/SSL_accept.3 projects/clang400-import/secure/lib/libssl/man/SSL_alert_type_string.3 projects/clang400-import/secure/lib/libssl/man/SSL_check_chain.3 projects/clang400-import/secure/lib/libssl/man/SSL_clear.3 projects/clang400-import/secure/lib/libssl/man/SSL_connect.3 projects/clang400-import/secure/lib/libssl/man/SSL_do_handshake.3 projects/clang400-import/secure/lib/libssl/man/SSL_free.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_SSL_CTX.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_ciphers.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_client_CA_list.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_current_cipher.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_default_timeout.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_error.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_ex_data_X509_STORE_CTX_idx.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_ex_new_index.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_fd.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_peer_cert_chain.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_peer_certificate.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_psk_identity.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_rbio.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_session.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_verify_result.3 projects/clang400-import/secure/lib/libssl/man/SSL_get_version.3 projects/clang400-import/secure/lib/libssl/man/SSL_library_init.3 projects/clang400-import/secure/lib/libssl/man/SSL_load_client_CA_file.3 projects/clang400-import/secure/lib/libssl/man/SSL_new.3 projects/clang400-import/secure/lib/libssl/man/SSL_pending.3 projects/clang400-import/secure/lib/libssl/man/SSL_read.3 projects/clang400-import/secure/lib/libssl/man/SSL_rstate_string.3 projects/clang400-import/secure/lib/libssl/man/SSL_session_reused.3 projects/clang400-import/secure/lib/libssl/man/SSL_set_bio.3 projects/clang400-import/secure/lib/libssl/man/SSL_set_connect_state.3 projects/clang400-import/secure/lib/libssl/man/SSL_set_fd.3 projects/clang400-import/secure/lib/libssl/man/SSL_set_session.3 projects/clang400-import/secure/lib/libssl/man/SSL_set_shutdown.3 projects/clang400-import/secure/lib/libssl/man/SSL_set_verify_result.3 projects/clang400-import/secure/lib/libssl/man/SSL_shutdown.3 projects/clang400-import/secure/lib/libssl/man/SSL_state_string.3 projects/clang400-import/secure/lib/libssl/man/SSL_want.3 projects/clang400-import/secure/lib/libssl/man/SSL_write.3 projects/clang400-import/secure/lib/libssl/man/d2i_SSL_SESSION.3 projects/clang400-import/secure/lib/libssl/man/ssl.3 projects/clang400-import/secure/usr.bin/openssl/man/CA.pl.1 projects/clang400-import/secure/usr.bin/openssl/man/asn1parse.1 projects/clang400-import/secure/usr.bin/openssl/man/c_rehash.1 projects/clang400-import/secure/usr.bin/openssl/man/ca.1 projects/clang400-import/secure/usr.bin/openssl/man/ciphers.1 projects/clang400-import/secure/usr.bin/openssl/man/cms.1 projects/clang400-import/secure/usr.bin/openssl/man/crl.1 projects/clang400-import/secure/usr.bin/openssl/man/crl2pkcs7.1 projects/clang400-import/secure/usr.bin/openssl/man/dgst.1 projects/clang400-import/secure/usr.bin/openssl/man/dhparam.1 projects/clang400-import/secure/usr.bin/openssl/man/dsa.1 projects/clang400-import/secure/usr.bin/openssl/man/dsaparam.1 projects/clang400-import/secure/usr.bin/openssl/man/ec.1 projects/clang400-import/secure/usr.bin/openssl/man/ecparam.1 projects/clang400-import/secure/usr.bin/openssl/man/enc.1 projects/clang400-import/secure/usr.bin/openssl/man/errstr.1 projects/clang400-import/secure/usr.bin/openssl/man/gendsa.1 projects/clang400-import/secure/usr.bin/openssl/man/genpkey.1 projects/clang400-import/secure/usr.bin/openssl/man/genrsa.1 projects/clang400-import/secure/usr.bin/openssl/man/nseq.1 projects/clang400-import/secure/usr.bin/openssl/man/ocsp.1 projects/clang400-import/secure/usr.bin/openssl/man/openssl.1 projects/clang400-import/secure/usr.bin/openssl/man/passwd.1 projects/clang400-import/secure/usr.bin/openssl/man/pkcs12.1 projects/clang400-import/secure/usr.bin/openssl/man/pkcs7.1 projects/clang400-import/secure/usr.bin/openssl/man/pkcs8.1 projects/clang400-import/secure/usr.bin/openssl/man/pkey.1 projects/clang400-import/secure/usr.bin/openssl/man/pkeyparam.1 projects/clang400-import/secure/usr.bin/openssl/man/pkeyutl.1 projects/clang400-import/secure/usr.bin/openssl/man/rand.1 projects/clang400-import/secure/usr.bin/openssl/man/req.1 projects/clang400-import/secure/usr.bin/openssl/man/rsa.1 projects/clang400-import/secure/usr.bin/openssl/man/rsautl.1 projects/clang400-import/secure/usr.bin/openssl/man/s_client.1 projects/clang400-import/secure/usr.bin/openssl/man/s_server.1 projects/clang400-import/secure/usr.bin/openssl/man/s_time.1 projects/clang400-import/secure/usr.bin/openssl/man/sess_id.1 projects/clang400-import/secure/usr.bin/openssl/man/smime.1 projects/clang400-import/secure/usr.bin/openssl/man/speed.1 projects/clang400-import/secure/usr.bin/openssl/man/spkac.1 projects/clang400-import/secure/usr.bin/openssl/man/ts.1 projects/clang400-import/secure/usr.bin/openssl/man/tsget.1 projects/clang400-import/secure/usr.bin/openssl/man/verify.1 projects/clang400-import/secure/usr.bin/openssl/man/version.1 projects/clang400-import/secure/usr.bin/openssl/man/x509.1 projects/clang400-import/secure/usr.bin/openssl/man/x509v3_config.1 projects/clang400-import/share/man/man9/printf.9 projects/clang400-import/share/misc/committers-ports.dot projects/clang400-import/share/misc/scsi_modes projects/clang400-import/share/mk/src.opts.mk projects/clang400-import/share/skel/dot.shrc projects/clang400-import/sys/arm/arm/pmap-v6.c projects/clang400-import/sys/arm/conf/ARMADA38X projects/clang400-import/sys/arm/include/pcpu.h projects/clang400-import/sys/arm/mv/armada38x/files.armada38x projects/clang400-import/sys/arm/mv/files.mv projects/clang400-import/sys/arm/mv/mv_common.c projects/clang400-import/sys/arm/mv/mvwin.h projects/clang400-import/sys/arm/ti/am335x/am335x_dmtpps.c projects/clang400-import/sys/arm/ti/am335x/am335x_dmtreg.h projects/clang400-import/sys/cam/cam_iosched.c projects/clang400-import/sys/cam/cam_xpt.c projects/clang400-import/sys/cam/cam_xpt.h projects/clang400-import/sys/cam/ctl/ctl.h projects/clang400-import/sys/cam/ctl/ctl_io.h projects/clang400-import/sys/cam/ctl/ctl_ioctl.h projects/clang400-import/sys/cam/ctl/ctl_private.h projects/clang400-import/sys/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/clang400-import/sys/cddl/dev/dtrace/dtrace_ioctl.c projects/clang400-import/sys/compat/linuxkpi/common/include/linux/compiler.h projects/clang400-import/sys/conf/files projects/clang400-import/sys/conf/ldscript.amd64 projects/clang400-import/sys/contrib/ipfilter/netinet/ip_compat.h projects/clang400-import/sys/contrib/ipfilter/netinet/ip_frag.c projects/clang400-import/sys/contrib/ipfilter/netinet/ip_nat.c projects/clang400-import/sys/contrib/ipfilter/netinet/ip_nat6.c projects/clang400-import/sys/dev/acpi_support/acpi_panasonic.c projects/clang400-import/sys/dev/ahci/ahci.c projects/clang400-import/sys/dev/ahci/ahci.h projects/clang400-import/sys/dev/ahci/ahci_pci.c projects/clang400-import/sys/dev/ath/ath_hal/ah.c projects/clang400-import/sys/dev/ath/if_ath.c projects/clang400-import/sys/dev/cesa/cesa.c projects/clang400-import/sys/dev/cesa/cesa.h projects/clang400-import/sys/dev/drm2/drm_os_freebsd.h projects/clang400-import/sys/dev/e1000/em_txrx.c projects/clang400-import/sys/dev/fdt/fdt_common.h projects/clang400-import/sys/dev/mlx5/device.h projects/clang400-import/sys/dev/mlx5/driver.h projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_alloc.c projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_cmd.c projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_health.c projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_main.c projects/clang400-import/sys/dev/mlx5/mlx5_core/mlx5_pagealloc.c projects/clang400-import/sys/dev/mlx5/mlx5_en/en.h projects/clang400-import/sys/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/clang400-import/sys/dev/mlx5/mlx5_en/mlx5_en_main.c projects/clang400-import/sys/dev/ofw/ofw_bus_subr.c projects/clang400-import/sys/dev/ofw/ofw_bus_subr.h projects/clang400-import/sys/dev/qlxgbe/ql_def.h projects/clang400-import/sys/dev/qlxgbe/ql_glbl.h projects/clang400-import/sys/dev/qlxgbe/ql_hw.c projects/clang400-import/sys/dev/qlxgbe/ql_hw.h projects/clang400-import/sys/dev/qlxgbe/ql_isr.c projects/clang400-import/sys/dev/qlxgbe/ql_os.c projects/clang400-import/sys/dev/qlxgbe/ql_os.h projects/clang400-import/sys/dev/qlxgbe/ql_ver.h projects/clang400-import/sys/dev/sfxge/sfxge.h projects/clang400-import/sys/dev/sfxge/sfxge_rx.c projects/clang400-import/sys/dev/sfxge/sfxge_rx.h projects/clang400-import/sys/dev/sfxge/sfxge_tx.c projects/clang400-import/sys/dev/sfxge/sfxge_tx.h projects/clang400-import/sys/kern/imgact_elf.c projects/clang400-import/sys/kern/kern_lockstat.c projects/clang400-import/sys/kern/kern_mutex.c projects/clang400-import/sys/kern/kern_ntptime.c projects/clang400-import/sys/kern/kern_prot.c projects/clang400-import/sys/kern/kern_rwlock.c projects/clang400-import/sys/kern/kern_sx.c projects/clang400-import/sys/kern/subr_gtaskqueue.c projects/clang400-import/sys/kern/subr_lock.c projects/clang400-import/sys/kern/uipc_usrreq.c projects/clang400-import/sys/kern/vfs_cache.c projects/clang400-import/sys/mips/conf/ERL projects/clang400-import/sys/modules/Makefile projects/clang400-import/sys/modules/mlx5/Makefile projects/clang400-import/sys/modules/usb/Makefile projects/clang400-import/sys/net/if.c projects/clang400-import/sys/net/if_bridge.c projects/clang400-import/sys/net/if_bridgevar.h projects/clang400-import/sys/net/iflib.c projects/clang400-import/sys/net80211/ieee80211_var.h projects/clang400-import/sys/netinet/in.c projects/clang400-import/sys/netinet/ip_carp.c projects/clang400-import/sys/netinet/ip_carp.h projects/clang400-import/sys/netinet/sctp_output.c projects/clang400-import/sys/netinet6/in6.c projects/clang400-import/sys/sys/capability.h projects/clang400-import/sys/sys/gtaskqueue.h projects/clang400-import/sys/sys/pmckern.h projects/clang400-import/sys/sys/systm.h projects/clang400-import/sys/vm/vm_mmap.c projects/clang400-import/usr.bin/clang/lld/Makefile Directory Properties: projects/clang400-import/ (props changed) projects/clang400-import/contrib/elftoolchain/ (props changed) projects/clang400-import/contrib/ipfilter/ (props changed) projects/clang400-import/contrib/llvm/ (props changed) projects/clang400-import/crypto/openssl/ (props changed) projects/clang400-import/gnu/usr.bin/binutils/ (props changed) projects/clang400-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang400-import/sys/contrib/ipfilter/ (props changed) Modified: projects/clang400-import/Makefile.inc1 ============================================================================== --- projects/clang400-import/Makefile.inc1 Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/Makefile.inc1 Fri Jan 27 20:01:46 2017 (r312894) @@ -516,7 +516,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_TESTS=no + MK_GDB=no MK_TESTS=no MK_LLD_IS_LD=no # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ Modified: projects/clang400-import/Makefile.libcompat ============================================================================== --- projects/clang400-import/Makefile.libcompat Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/Makefile.libcompat Fri Jan 27 20:01:46 2017 (r312894) @@ -50,6 +50,8 @@ LIB32WMAKEFLAGS= LD="${XLD} -m elf32btsm LIB32WMAKEFLAGS+= OBJCOPY="${XOBJCOPY}" .endif +LIB32WMAKEFLAGS+= NM="${XNM}" + LIB32CFLAGS= -DCOMPAT_32BIT LIB32DTRACE= ${DTRACE} -32 Modified: projects/clang400-import/UPDATING ============================================================================== --- projects/clang400-import/UPDATING Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/UPDATING Fri Jan 27 20:01:46 2017 (r312894) @@ -56,6 +56,10 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12 Please see the 20141231 entry below for information about prerequisites and upgrading, if you are not already using clang 3.5.0 or higher. +20170127: + The WITH_LLD_AS_LD / WITHOUT_LLD_AS_LD build knobs have been renamed + WITH_LLD_IS_LD / WITHOUT_LLD_IS_LD, for consistency with CLANG_IS_CC. + 20170112: The EM_MULTIQUEUE kernel configuration option is deprecated now that the em(4) driver conforms to iflib specifications. Modified: projects/clang400-import/contrib/elftoolchain/strings/strings.c ============================================================================== --- projects/clang400-import/contrib/elftoolchain/strings/strings.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/contrib/elftoolchain/strings/strings.c Fri Jan 27 20:01:46 2017 (r312894) @@ -189,7 +189,7 @@ main(int argc, char **argv) if (!min_len) min_len = 4; if (!*argv) - rc = handle_file("{standard input}"); + rc = find_strings("{standard input}", 0, 0); else while (*argv) { if (handle_file(*argv) != 0) rc = 1; @@ -205,13 +205,9 @@ handle_file(const char *name) if (name == NULL) return (1); - if (strcmp("{standard input}", name) != 0) { - if (freopen(name, "rb", stdin) == NULL) { - warnx("'%s': %s", name, strerror(errno)); - return (1); - } - } else { - return (find_strings(name, (off_t)0, (off_t)0)); + if (freopen(name, "rb", stdin) == NULL) { + warnx("'%s': %s", name, strerror(errno)); + return (1); } fd = fileno(stdin); Modified: projects/clang400-import/contrib/ipfilter/lib/rwlock_emul.c ============================================================================== --- projects/clang400-import/contrib/ipfilter/lib/rwlock_emul.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/contrib/ipfilter/lib/rwlock_emul.c Fri Jan 27 20:01:46 2017 (r312894) @@ -56,6 +56,27 @@ void eMrwlock_write_enter(rw, file, line } +void eMrwlock_try_upgrade(rw, file, line) + eMrwlock_t *rw; + char *file; + int line; +{ + if (rw->eMrw_magic != EMM_MAGIC) { + fprintf(stderr, "%s:eMrwlock_write_enter(%p): bad magic: %#x\n", + rw->eMrw_owner, rw, rw->eMrw_magic); + abort(); + } + if (rw->eMrw_read != 0 || rw->eMrw_write != 0) { + fprintf(stderr, + "%s:eMrwlock_try_upgrade(%p): already locked: %d/%d\n", + rw->eMrw_owner, rw, rw->eMrw_read, rw->eMrw_write); + abort(); + } + rw->eMrw_write++; + rw->eMrw_heldin = file; + rw->eMrw_heldat = line; +} + void eMrwlock_downgrade(rw, file, line) eMrwlock_t *rw; char *file; Modified: projects/clang400-import/contrib/ipfilter/tools/ipf.c ============================================================================== --- projects/clang400-import/contrib/ipfilter/tools/ipf.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/contrib/ipfilter/tools/ipf.c Fri Jan 27 20:01:46 2017 (r312894) @@ -408,14 +408,16 @@ static void flushfilter(arg, filter) } closedevice(); return; - } - - if (strchr(arg, 'i') || strchr(arg, 'I')) + } else if (strchr(arg, 'i') || strchr(arg, 'I')) fl = FR_INQUE; - if (strchr(arg, 'o') || strchr(arg, 'O')) + else if (strchr(arg, 'o') || strchr(arg, 'O')) fl = FR_OUTQUE; - if (strchr(arg, 'a') || strchr(arg, 'A')) + else if (strchr(arg, 'a') || strchr(arg, 'A')) fl = FR_OUTQUE|FR_INQUE; + else { + fprintf(stderr, "Incorrect flush argument: %s\n", arg); + usage(); + } if (opts & OPT_INACTIVE) fl |= FR_INACTIVE; rem = fl; Modified: projects/clang400-import/crypto/openssl/CHANGES ============================================================================== --- projects/clang400-import/crypto/openssl/CHANGES Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/CHANGES Fri Jan 27 20:01:46 2017 (r312894) @@ -2,6 +2,67 @@ OpenSSL CHANGES _______________ + Changes between 1.0.2j and 1.0.2k [26 Jan 2017] + + *) Truncated packet could crash via OOB read + + If one side of an SSL/TLS path is running on a 32-bit host and a specific + cipher is being used, then a truncated packet can cause that host to + perform an out-of-bounds read, usually resulting in a crash. + + This issue was reported to OpenSSL by Robert Święcki of Google. + (CVE-2017-3731) + [Andy Polyakov] + + *) BN_mod_exp may produce incorrect results on x86_64 + + There is a carry propagating bug in the x86_64 Montgomery squaring + procedure. No EC algorithms are affected. Analysis suggests that attacks + against RSA and DSA as a result of this defect would be very difficult to + perform and are not believed likely. Attacks against DH are considered just + feasible (although very difficult) because most of the work necessary to + deduce information about a private key may be performed offline. The amount + of resources required for such an attack would be very significant and + likely only accessible to a limited number of attackers. An attacker would + additionally need online access to an unpatched system using the target + private key in a scenario with persistent DH parameters and a private + key that is shared between multiple clients. For example this can occur by + default in OpenSSL DHE based SSL/TLS ciphersuites. Note: This issue is very + similar to CVE-2015-3193 but must be treated as a separate problem. + + This issue was reported to OpenSSL by the OSS-Fuzz project. + (CVE-2017-3732) + [Andy Polyakov] + + *) Montgomery multiplication may produce incorrect results + + There is a carry propagating bug in the Broadwell-specific Montgomery + multiplication procedure that handles input lengths divisible by, but + longer than 256 bits. Analysis suggests that attacks against RSA, DSA + and DH private keys are impossible. This is because the subroutine in + question is not used in operations with the private key itself and an input + of the attacker's direct choice. Otherwise the bug can manifest itself as + transient authentication and key negotiation failures or reproducible + erroneous outcome of public-key operations with specially crafted input. + Among EC algorithms only Brainpool P-512 curves are affected and one + presumably can attack ECDH key negotiation. Impact was not analyzed in + detail, because pre-requisites for attack are considered unlikely. Namely + multiple clients have to choose the curve in question and the server has to + share the private key among them, neither of which is default behaviour. + Even then only clients that chose the curve will be affected. + + This issue was publicly reported as transient failures and was not + initially recognized as a security issue. Thanks to Richard Morgan for + providing reproducible case. + (CVE-2016-7055) + [Andy Polyakov] + + *) OpenSSL now fails if it receives an unrecognised record type in TLS1.0 + or TLS1.1. Previously this only happened in SSLv3 and TLS1.2. This is to + prevent issues where no progress is being made and the peer continually + sends unrecognised record types, using up resources processing them. + [Matt Caswell] + Changes between 1.0.2i and 1.0.2j [26 Sep 2016] *) Missing CRL sanity check Modified: projects/clang400-import/crypto/openssl/CONTRIBUTING ============================================================================== --- projects/clang400-import/crypto/openssl/CONTRIBUTING Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/CONTRIBUTING Fri Jan 27 20:01:46 2017 (r312894) @@ -1,4 +1,4 @@ -HOW TO CONTRIBUTE TO PATCHES OpenSSL +HOW TO CONTRIBUTE PATCHES TO OpenSSL ------------------------------------ (Please visit https://www.openssl.org/community/getting-started.html for @@ -11,34 +11,12 @@ OpenSSL community you might want to disc list first. Someone may be already working on the same thing or there may be a good reason as to why that feature isn't implemented. -The best way to submit a patch is to make a pull request on GitHub. -(It is not necessary to send mail to rt@openssl.org to open a ticket!) -If you think the patch could use feedback from the community, please -start a thread on openssl-dev. - -You can also submit patches by sending it as mail to rt@openssl.org. -Please include the word "PATCH" and an explanation of what the patch -does in the subject line. If you do this, our preferred format is "git -format-patch" output. For example to provide a patch file containing the -last commit in your local git repository use the following command: - - % git format-patch --stdout HEAD^ >mydiffs.patch - -Another method of creating an acceptable patch file without using git is as -follows: - - % cd openssl-work - ...make your changes... - % ./Configure dist; make clean - % cd .. - % diff -ur openssl-orig openssl-work >mydiffs.patch - -Note that pull requests are generally easier for the team, and community, to -work with. Pull requests benefit from all of the standard GitHub features, -including code review tools, simpler integration, and CI build support. +To submit a patch, make a pull request on GitHub. If you think the patch +could use feedback from the community, please start a thread on openssl-dev +to discuss it. -No matter how a patch is submitted, the following items will help make -the acceptance and review process faster: +Having addressed the following items before the PR will help make the +acceptance and review process faster: 1. Anything other than trivial contributions will require a contributor licensing agreement, giving us permission to use your code. See @@ -55,21 +33,22 @@ the acceptance and review process faster in the file LICENSE in the source distribution or at https://www.openssl.org/source/license.html - 3. Patches should be as current as possible. When using GitHub, please - expect to have to rebase and update often. Note that we do not accept merge - commits. You will be asked to remove them before a patch is considered - acceptable. + 3. Patches should be as current as possible; expect to have to rebase + often. We do not accept merge commits; You will be asked to remove + them before a patch is considered acceptable. 4. Patches should follow our coding style (see https://www.openssl.org/policies/codingstyle.html) and compile without warnings. Where gcc or clang is availble you should use the --strict-warnings Configure option. OpenSSL compiles on many varied platforms: try to ensure you only use portable features. + Clean builds via Travis and AppVeyor are expected, and done whenever + a PR is created or updated. - 5. When at all possible, patches should include tests. These can either be - added to an existing test, or completely new. Please see test/README - for information on the test framework. - - 6. New features or changed functionality must include documentation. Please - look at the "pod" files in doc/apps, doc/crypto and doc/ssl for examples of - our style. + 5. When at all possible, patches should include tests. These can + either be added to an existing test, or completely new. Please see + test/README for information on the test framework. + + 6. New features or changed functionality must include + documentation. Please look at the "pod" files in doc/apps, doc/crypto + and doc/ssl for examples of our style. Modified: projects/clang400-import/crypto/openssl/Configure ============================================================================== --- projects/clang400-import/crypto/openssl/Configure Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/Configure Fri Jan 27 20:01:46 2017 (r312894) @@ -7,6 +7,7 @@ eval 'exec perl -S $0 ${1+"$@"}' require 5.000; use strict; +use File::Compare; # see INSTALL for instructions. @@ -57,12 +58,13 @@ my $usage="Usage: Configure [no- # zlib-dynamic Like "zlib", but the zlib library is expected to be a shared # library and will be loaded in run-time by the OpenSSL library. # sctp include SCTP support -# 386 generate 80386 code # enable-weak-ssl-ciphers # Enable EXPORT and LOW SSLv3 ciphers that are disabled by # default. Note, weak SSLv2 ciphers are unconditionally # disabled. -# no-sse2 disables IA-32 SSE2 code, above option implies no-sse2 +# 386 generate 80386 code in assembly modules +# no-sse2 disables IA-32 SSE2 code in assembly modules, the above +# mentioned '386' option implies this one # no- build without specified algorithm (rsa, idea, rc5, ...) # - + compiler options are passed through # @@ -1792,8 +1794,16 @@ while () } close(IN); close(OUT); -rename($Makefile,"$Makefile.bak") || die "unable to rename $Makefile\n" if -e $Makefile; -rename("$Makefile.new",$Makefile) || die "unable to rename $Makefile.new\n"; +if ((compare($Makefile, "$Makefile.new")) + or file_newer('Configure', $Makefile) + or file_newer('config', $Makefile) + or file_newer('Makefile.org', $Makefile)) + { + rename($Makefile,"$Makefile.bak") || die "unable to rename $Makefile\n" if -e $Makefile; + rename("$Makefile.new",$Makefile) || die "unable to rename $Makefile.new\n"; + } +else + { unlink("$Makefile.new"); } print "CC =$cc\n"; print "CFLAG =$cflags\n"; @@ -1985,9 +1995,13 @@ print OUT "#ifdef __cplusplus\n"; print OUT "}\n"; print OUT "#endif\n"; close(OUT); -rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h"; -rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n"; - +if (compare("crypto/opensslconf.h.new","crypto/opensslconf.h")) + { + rename("crypto/opensslconf.h","crypto/opensslconf.h.bak") || die "unable to rename crypto/opensslconf.h\n" if -e "crypto/opensslconf.h"; + rename("crypto/opensslconf.h.new","crypto/opensslconf.h") || die "unable to rename crypto/opensslconf.h.new\n"; + } +else + { unlink("crypto/opensslconf.h.new"); } # Fix the date @@ -2289,3 +2303,9 @@ sub test_sanity print STDERR "No sanity errors detected!\n" if $errorcnt == 0; return $errorcnt; } + +sub file_newer + { + my ($file1, $file2) = @_; + return (stat($file1))[9] > (stat($file2))[9] + } Modified: projects/clang400-import/crypto/openssl/INSTALL ============================================================================== --- projects/clang400-import/crypto/openssl/INSTALL Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/INSTALL Fri Jan 27 20:01:46 2017 (r312894) @@ -74,24 +74,26 @@ no-asm Do not use assembler code. - 386 Use the 80386 instruction set only (the default x86 code is - more efficient, but requires at least a 486). Note: Use - compiler flags for any other CPU specific configuration, - e.g. "-m32" to build x86 code on an x64 system. - - no-sse2 Exclude SSE2 code pathes. Normally SSE2 extention is - detected at run-time, but the decision whether or not the - machine code will be executed is taken solely on CPU - capability vector. This means that if you happen to run OS - kernel which does not support SSE2 extension on Intel P4 - processor, then your application might be exposed to - "illegal instruction" exception. There might be a way - to enable support in kernel, e.g. FreeBSD kernel can be - compiled with CPU_ENABLE_SSE, and there is a way to - disengage SSE2 code pathes upon application start-up, - but if you aim for wider "audience" running such kernel, - consider no-sse2. Both 386 and no-asm options above imply - no-sse2. + 386 In 32-bit x86 builds, when generating assembly modules, + use the 80386 instruction set only (the default x86 code + is more efficient, but requires at least a 486). Note: + This doesn't affect code generated by compiler, you're + likely to complement configuration command line with + suitable compiler-specific option. + + no-sse2 Exclude SSE2 code paths from 32-bit x86 assembly modules. + Normally SSE2 extension is detected at run-time, but the + decision whether or not the machine code will be executed + is taken solely on CPU capability vector. This means that + if you happen to run OS kernel which does not support SSE2 + extension on Intel P4 processor, then your application + might be exposed to "illegal instruction" exception. + There might be a way to enable support in kernel, e.g. + FreeBSD kernel can be compiled with CPU_ENABLE_SSE, and + there is a way to disengage SSE2 code paths upon application + start-up, but if you aim for wider "audience" running + such kernel, consider no-sse2. Both the 386 and + no-asm options imply no-sse2. no- Build without the specified cipher (bf, cast, des, dh, dsa, hmac, md2, md5, mdc2, rc2, rc4, rc5, rsa, sha). @@ -101,7 +103,12 @@ -Dxxx, -lxxx, -Lxxx, -fxxx, -mXXX, -Kxxx These system specific options will be passed through to the compiler to allow you to define preprocessor symbols, specify additional libraries, - library directories or other compiler options. + library directories or other compiler options. It might be + worth noting that some compilers generate code specifically + for processor the compiler currently executes on. This is + not necessarily what you might have in mind, since it might + be unsuitable for execution on other, typically older, + processor. Consult your compiler documentation. -DHAVE_CRYPTODEV Enable the BSD cryptodev engine even if we are not using BSD. Useful if you are running ocf-linux or something @@ -159,18 +166,18 @@ OpenSSL binary ("openssl"). The libraries will be built in the top-level directory, and the binary will be in the "apps" directory. - If "make" fails, look at the output. There may be reasons for - the failure that aren't problems in OpenSSL itself (like missing - standard headers). If it is a problem with OpenSSL itself, please - report the problem to (note that your - message will be recorded in the request tracker publicly readable - at https://www.openssl.org/community/index.html#bugs and will be - forwarded to a public mailing list). Include the output of "make - report" in your message. Please check out the request tracker. Maybe - the bug was already reported or has already been fixed. + If the build fails, look at the output. There may be reasons + for the failure that aren't problems in OpenSSL itself (like + missing standard headers). If you are having problems you can + get help by sending an email to the openssl-users email list (see + https://www.openssl.org/community/mailinglists.html for details). If + it is a bug with OpenSSL itself, please open an issue on GitHub, at + https://github.com/openssl/openssl/issues. Please review the existing + ones first; maybe the bug was already reported or has already been + fixed. - [If you encounter assembler error messages, try the "no-asm" - configuration option as an immediate fix.] + (If you encounter assembler error messages, try the "no-asm" + configuration option as an immediate fix.) Compiling parts of OpenSSL with gcc and others with the system compiler will result in unresolved symbols on some systems. Modified: projects/clang400-import/crypto/openssl/Makefile ============================================================================== --- projects/clang400-import/crypto/openssl/Makefile Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/Makefile Fri Jan 27 20:01:46 2017 (r312894) @@ -4,7 +4,7 @@ ## Makefile for OpenSSL ## -VERSION=1.0.2j +VERSION=1.0.2k MAJOR=1 MINOR=0.2 SHLIB_VERSION_NUMBER=1.0.0 @@ -203,7 +203,8 @@ CLEARENV= TOP= && unset TOP $${LIB+LIB} $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ - $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} + $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} \ + $${APPS+APPS} # LC_ALL=C ensures that error [and other] messages are delivered in # same language for uniform treatment. Modified: projects/clang400-import/crypto/openssl/Makefile.org ============================================================================== --- projects/clang400-import/crypto/openssl/Makefile.org Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/Makefile.org Fri Jan 27 20:01:46 2017 (r312894) @@ -201,7 +201,8 @@ CLEARENV= TOP= && unset TOP $${LIB+LIB} $${ASFLAGS+ASFLAGS} $${AFLAGS+AFLAGS} \ $${LDCMD+LDCMD} $${LDFLAGS+LDFLAGS} $${SCRIPTS+SCRIPTS} \ $${SHAREDCMD+SHAREDCMD} $${SHAREDFLAGS+SHAREDFLAGS} \ - $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} + $${SHARED_LIB+SHARED_LIB} $${LIBEXTRAS+LIBEXTRAS} \ + $${APPS+APPS} # LC_ALL=C ensures that error [and other] messages are delivered in # same language for uniform treatment. Modified: projects/clang400-import/crypto/openssl/NEWS ============================================================================== --- projects/clang400-import/crypto/openssl/NEWS Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/NEWS Fri Jan 27 20:01:46 2017 (r312894) @@ -5,9 +5,15 @@ This file gives a brief overview of the major changes between each OpenSSL release. For more details please read the CHANGES file. + Major changes between OpenSSL 1.0.2j and OpenSSL 1.0.2k [26 Jan 2017] + + o Truncated packet could crash via OOB read (CVE-2017-3731) + o BN_mod_exp may produce incorrect results on x86_64 (CVE-2017-3732) + o Montgomery multiplication may produce incorrect results (CVE-2016-7055) + Major changes between OpenSSL 1.0.2i and OpenSSL 1.0.2j [26 Sep 2016] - o Fix Use After Free for large message sizes (CVE-2016-6309) + o Missing CRL sanity check (CVE-2016-7052) Major changes between OpenSSL 1.0.2h and OpenSSL 1.0.2i [22 Sep 2016] Modified: projects/clang400-import/crypto/openssl/README ============================================================================== --- projects/clang400-import/crypto/openssl/README Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/README Fri Jan 27 20:01:46 2017 (r312894) @@ -1,5 +1,5 @@ - OpenSSL 1.0.2j 26 Sep 2016 + OpenSSL 1.0.2k 26 Jan 2017 Copyright (c) 1998-2015 The OpenSSL Project Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson @@ -66,13 +66,13 @@ If you have any problems with OpenSSL then please take the following steps first: - - Download the current snapshot from ftp://ftp.openssl.org/snapshot/ + - Download the latest version from the repository to see if the problem has already been addressed - - Remove ASM versions of libraries + - Configure with no-asm - Remove compiler optimisation flags - If you wish to report a bug then please include the following information in - any bug report: + If you wish to report a bug then please include the following information + and create an issue on GitHub: - On Unix systems: Self-test report generated by 'make report' @@ -84,27 +84,9 @@ - Problem Description (steps that will reproduce the problem, if known) - Stack Traceback (if the application dumps core) - Email the report to: - - rt@openssl.org - - In order to avoid spam, this is a moderated mailing list, and it might - take a day for the ticket to show up. (We also scan posts to make sure - that security disclosures aren't publically posted by mistake.) Mail - to this address is recorded in the public RT (request tracker) database - (see https://www.openssl.org/community/index.html#bugs for details) and - also forwarded the public openssl-dev mailing list. Confidential mail - may be sent to openssl-security@openssl.org (PGP key available from the - key servers). - - Please do NOT use this for general assistance or support queries. Just because something doesn't work the way you expect does not mean it is necessarily a bug in OpenSSL. - You can also make GitHub pull requests. If you do this, please also send - mail to rt@openssl.org with a link to the PR so that we can more easily - keep track of it. - HOW TO CONTRIBUTE TO OpenSSL ---------------------------- @@ -113,7 +95,7 @@ LEGALITIES ---------- - A number of nations, in particular the U.S., restrict the use or export - of cryptography. If you are potentially subject to such restrictions - you should seek competent professional legal advice before attempting to - develop or distribute cryptographic code. + A number of nations restrict the use or export of cryptography. If you + are potentially subject to such restrictions you should seek competent + professional legal advice before attempting to develop or distribute + cryptographic code. Modified: projects/clang400-import/crypto/openssl/apps/apps.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/apps.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/apps.c Fri Jan 27 20:01:46 2017 (r312894) @@ -972,7 +972,10 @@ EVP_PKEY *load_key(BIO *err, const char if (!e) BIO_printf(err, "no engine specified\n"); else { - pkey = ENGINE_load_private_key(e, file, ui_method, &cb_data); + if (ENGINE_init(e)) { + pkey = ENGINE_load_private_key(e, file, ui_method, &cb_data); + ENGINE_finish(e); + } if (!pkey) { BIO_printf(err, "cannot load %s from engine\n", key_descrip); ERR_print_errors(err); @@ -1532,11 +1535,13 @@ static ENGINE *try_load_engine(BIO *err, } return e; } +#endif ENGINE *setup_engine(BIO *err, const char *engine, int debug) { ENGINE *e = NULL; +#ifndef OPENSSL_NO_ENGINE if (engine) { if (strcmp(engine, "auto") == 0) { BIO_printf(err, "enabling auto ENGINE support\n"); @@ -1561,13 +1566,19 @@ ENGINE *setup_engine(BIO *err, const cha } BIO_printf(err, "engine \"%s\" set.\n", ENGINE_get_id(e)); - - /* Free our "structural" reference. */ - ENGINE_free(e); } +#endif return e; } + +void release_engine(ENGINE *e) +{ +#ifndef OPENSSL_NO_ENGINE + if (e != NULL) + /* Free our "structural" reference. */ + ENGINE_free(e); #endif +} int load_config(BIO *err, CONF *cnf) { Modified: projects/clang400-import/crypto/openssl/apps/apps.h ============================================================================== --- projects/clang400-import/crypto/openssl/apps/apps.h Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/apps.h Fri Jan 27 20:01:46 2017 (r312894) @@ -259,9 +259,9 @@ STACK_OF(X509_CRL) *load_crls(BIO *err, const char *pass, ENGINE *e, const char *cert_descrip); X509_STORE *setup_verify(BIO *bp, char *CAfile, char *CApath); -# ifndef OPENSSL_NO_ENGINE + ENGINE *setup_engine(BIO *err, const char *engine, int debug); -# endif +void release_engine(ENGINE *e); # ifndef OPENSSL_NO_OCSP OCSP_RESPONSE *process_responder(BIO *err, OCSP_REQUEST *req, Modified: projects/clang400-import/crypto/openssl/apps/ca.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/ca.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/ca.c Fri Jan 27 20:01:46 2017 (r312894) @@ -319,9 +319,7 @@ int MAIN(int argc, char **argv) #define BSIZE 256 MS_STATIC char buf[3][BSIZE]; char *randfile = NULL; -#ifndef OPENSSL_NO_ENGINE char *engine = NULL; -#endif char *tofree = NULL; DB_ATTR db_attr; @@ -595,9 +593,7 @@ int MAIN(int argc, char **argv) if (!load_config(bio_err, conf)) goto err; -#ifndef OPENSSL_NO_ENGINE e = setup_engine(bio_err, engine, 0); -#endif /* Lets get the config section we are using */ if (section == NULL) { @@ -1485,6 +1481,7 @@ int MAIN(int argc, char **argv) X509_CRL_free(crl); NCONF_free(conf); NCONF_free(extconf); + release_engine(e); OBJ_cleanup(); apps_shutdown(); OPENSSL_EXIT(ret); @@ -2227,7 +2224,6 @@ static int certify_spkac(X509 **xret, ch sk = CONF_get_section(parms, "default"); if (sk_CONF_VALUE_num(sk) == 0) { BIO_printf(bio_err, "no name/value pairs found in %s\n", infile); - CONF_free(parms); goto err; } Modified: projects/clang400-import/crypto/openssl/apps/cms.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/cms.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/cms.c Fri Jan 27 20:01:46 2017 (r312894) @@ -143,9 +143,7 @@ int MAIN(int argc, char **argv) const EVP_MD *sign_md = NULL; int informat = FORMAT_SMIME, outformat = FORMAT_SMIME; int rctformat = FORMAT_SMIME, keyform = FORMAT_PEM; -# ifndef OPENSSL_NO_ENGINE char *engine = NULL; -# endif unsigned char *secret_key = NULL, *secret_keyid = NULL; unsigned char *pwri_pass = NULL, *pwri_tmp = NULL; size_t secret_keylen = 0, secret_keyidlen = 0; @@ -665,9 +663,7 @@ int MAIN(int argc, char **argv) "cert.pem recipient certificate(s) for encryption\n"); goto end; } -# ifndef OPENSSL_NO_ENGINE e = setup_engine(bio_err, engine, 0); -# endif if (!app_passwd(bio_err, passargin, NULL, &passin, NULL)) { BIO_printf(bio_err, "Error getting password\n"); @@ -1170,6 +1166,7 @@ int MAIN(int argc, char **argv) EVP_PKEY_free(key); CMS_ContentInfo_free(cms); CMS_ContentInfo_free(rcms); + release_engine(e); BIO_free(rctin); BIO_free(in); BIO_free(indata); Modified: projects/clang400-import/crypto/openssl/apps/dgst.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/dgst.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/dgst.c Fri Jan 27 20:01:46 2017 (r312894) @@ -537,6 +537,7 @@ int MAIN(int argc, char **argv) OPENSSL_free(sigbuf); if (bmd != NULL) BIO_free(bmd); + release_engine(e); apps_shutdown(); OPENSSL_EXIT(err); } Modified: projects/clang400-import/crypto/openssl/apps/dh.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/dh.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/dh.c Fri Jan 27 20:01:46 2017 (r312894) @@ -94,9 +94,7 @@ int MAIN(int argc, char **argv) BIO *in = NULL, *out = NULL; int informat, outformat, check = 0, noout = 0, C = 0, ret = 1; char *infile, *outfile, *prog; -# ifndef OPENSSL_NO_ENGINE char *engine; -# endif apps_startup(); @@ -107,9 +105,7 @@ int MAIN(int argc, char **argv) if (!load_config(bio_err, NULL)) goto end; -# ifndef OPENSSL_NO_ENGINE engine = NULL; -# endif infile = NULL; outfile = NULL; informat = FORMAT_PEM; @@ -183,9 +179,7 @@ int MAIN(int argc, char **argv) ERR_load_crypto_strings(); -# ifndef OPENSSL_NO_ENGINE setup_engine(bio_err, engine, 0); -# endif in = BIO_new(BIO_s_file()); out = BIO_new(BIO_s_file()); Modified: projects/clang400-import/crypto/openssl/apps/dhparam.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/dhparam.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/dhparam.c Fri Jan 27 20:01:46 2017 (r312894) @@ -159,9 +159,8 @@ int MAIN(int argc, char **argv) int informat, outformat, check = 0, noout = 0, C = 0, ret = 1; char *infile, *outfile, *prog; char *inrand = NULL; -# ifndef OPENSSL_NO_ENGINE char *engine = NULL; -# endif + ENGINE *e = NULL; int num = 0, g = 0; apps_startup(); @@ -270,9 +269,7 @@ int MAIN(int argc, char **argv) ERR_load_crypto_strings(); -# ifndef OPENSSL_NO_ENGINE - setup_engine(bio_err, engine, 0); -# endif + e = setup_engine(bio_err, engine, 0); if (g && !num) num = DEFBITS; @@ -512,6 +509,7 @@ int MAIN(int argc, char **argv) BIO_free_all(out); if (dh != NULL) DH_free(dh); + release_engine(e); apps_shutdown(); OPENSSL_EXIT(ret); } Modified: projects/clang400-import/crypto/openssl/apps/dsa.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/dsa.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/dsa.c Fri Jan 27 20:01:46 2017 (r312894) @@ -106,9 +106,7 @@ int MAIN(int argc, char **argv) int informat, outformat, text = 0, noout = 0; int pubin = 0, pubout = 0; char *infile, *outfile, *prog; -# ifndef OPENSSL_NO_ENGINE char *engine; -# endif char *passargin = NULL, *passargout = NULL; char *passin = NULL, *passout = NULL; int modulus = 0; @@ -124,9 +122,7 @@ int MAIN(int argc, char **argv) if (!load_config(bio_err, NULL)) goto end; -# ifndef OPENSSL_NO_ENGINE engine = NULL; -# endif infile = NULL; outfile = NULL; informat = FORMAT_PEM; @@ -239,9 +235,7 @@ int MAIN(int argc, char **argv) ERR_load_crypto_strings(); -# ifndef OPENSSL_NO_ENGINE e = setup_engine(bio_err, engine, 0); -# endif if (!app_passwd(bio_err, passargin, passargout, &passin, &passout)) { BIO_printf(bio_err, "Error getting passwords\n"); @@ -358,6 +352,7 @@ int MAIN(int argc, char **argv) BIO_free_all(out); if (dsa != NULL) DSA_free(dsa); + release_engine(e); if (passin) OPENSSL_free(passin); if (passout) Modified: projects/clang400-import/crypto/openssl/apps/dsaparam.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/dsaparam.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/dsaparam.c Fri Jan 27 20:01:46 2017 (r312894) @@ -121,9 +121,8 @@ int MAIN(int argc, char **argv) char *infile, *outfile, *prog, *inrand = NULL; int numbits = -1, num, genkey = 0; int need_rand = 0; -# ifndef OPENSSL_NO_ENGINE char *engine = NULL; -# endif + ENGINE *e = NULL; # ifdef GENCB_TEST int timebomb = 0; # endif @@ -263,9 +262,7 @@ int MAIN(int argc, char **argv) } } -# ifndef OPENSSL_NO_ENGINE - setup_engine(bio_err, engine, 0); -# endif + e = setup_engine(bio_err, engine, 0); if (need_rand) { app_RAND_load_file(NULL, bio_err, (inrand != NULL)); @@ -433,6 +430,7 @@ int MAIN(int argc, char **argv) BIO_free_all(out); if (dsa != NULL) DSA_free(dsa); + release_engine(e); apps_shutdown(); OPENSSL_EXIT(ret); } Modified: projects/clang400-import/crypto/openssl/apps/ec.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/ec.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/ec.c Fri Jan 27 20:01:46 2017 (r312894) @@ -95,6 +95,7 @@ int MAIN(int argc, char **argv) int informat, outformat, text = 0, noout = 0; int pubin = 0, pubout = 0, param_out = 0; char *infile, *outfile, *prog, *engine; + ENGINE *e = NULL; char *passargin = NULL, *passargout = NULL; char *passin = NULL, *passout = NULL; point_conversion_form_t form = POINT_CONVERSION_UNCOMPRESSED; @@ -235,9 +236,7 @@ int MAIN(int argc, char **argv) ERR_load_crypto_strings(); -# ifndef OPENSSL_NO_ENGINE - setup_engine(bio_err, engine, 0); -# endif + e = setup_engine(bio_err, engine, 0); if (!app_passwd(bio_err, passargin, passargout, &passin, &passout)) { BIO_printf(bio_err, "Error getting passwords\n"); @@ -349,6 +348,7 @@ int MAIN(int argc, char **argv) BIO_free_all(out); if (eckey) EC_KEY_free(eckey); + release_engine(e); if (passin) OPENSSL_free(passin); if (passout) Modified: projects/clang400-import/crypto/openssl/apps/ecparam.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/ecparam.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/ecparam.c Fri Jan 27 20:01:46 2017 (r312894) @@ -131,6 +131,7 @@ int MAIN(int argc, char **argv) BIO *in = NULL, *out = NULL; int informat, outformat, noout = 0, C = 0, ret = 1; char *engine = NULL; + ENGINE *e = NULL; BIGNUM *ec_p = NULL, *ec_a = NULL, *ec_b = NULL, *ec_gen = NULL, *ec_order = NULL, *ec_cofactor = NULL; @@ -311,9 +312,7 @@ int MAIN(int argc, char **argv) } } -# ifndef OPENSSL_NO_ENGINE - setup_engine(bio_err, engine, 0); -# endif + e = setup_engine(bio_err, engine, 0); if (list_curves) { EC_builtin_curve *curves = NULL; @@ -620,12 +619,13 @@ int MAIN(int argc, char **argv) BN_free(ec_cofactor); if (buffer) OPENSSL_free(buffer); + if (group != NULL) + EC_GROUP_free(group); + release_engine(e); if (in != NULL) BIO_free(in); if (out != NULL) BIO_free_all(out); - if (group != NULL) - EC_GROUP_free(group); apps_shutdown(); OPENSSL_EXIT(ret); } Modified: projects/clang400-import/crypto/openssl/apps/enc.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/enc.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/enc.c Fri Jan 27 20:01:46 2017 (r312894) @@ -126,9 +126,8 @@ int MAIN(int argc, char **argv) NULL, *wbio = NULL; #define PROG_NAME_SIZE 39 char pname[PROG_NAME_SIZE + 1]; -#ifndef OPENSSL_NO_ENGINE char *engine = NULL; -#endif + ENGINE *e = NULL; const EVP_MD *dgst = NULL; int non_fips_allow = 0; @@ -322,9 +321,7 @@ int MAIN(int argc, char **argv) argv++; } -#ifndef OPENSSL_NO_ENGINE - setup_engine(bio_err, engine, 0); -#endif + e = setup_engine(bio_err, engine, 0); if (cipher && EVP_CIPHER_flags(cipher) & EVP_CIPH_FLAG_AEAD_CIPHER) { BIO_printf(bio_err, @@ -674,6 +671,7 @@ int MAIN(int argc, char **argv) if (bzl != NULL) BIO_free(bzl); #endif + release_engine(e); if (pass) OPENSSL_free(pass); apps_shutdown(); Modified: projects/clang400-import/crypto/openssl/apps/gendh.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/gendh.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/gendh.c Fri Jan 27 20:01:46 2017 (r312894) @@ -96,9 +96,7 @@ int MAIN(int argc, char **argv) int g = 2; char *outfile = NULL; char *inrand = NULL; -# ifndef OPENSSL_NO_ENGINE char *engine = NULL; -# endif BIO *out = NULL; apps_startup(); @@ -162,9 +160,7 @@ int MAIN(int argc, char **argv) BIO_printf(bio_err, " the random number generator\n"); goto end; } -# ifndef OPENSSL_NO_ENGINE setup_engine(bio_err, engine, 0); -# endif out = BIO_new(BIO_s_file()); if (out == NULL) { Modified: projects/clang400-import/crypto/openssl/apps/gendsa.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/gendsa.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/gendsa.c Fri Jan 27 20:01:46 2017 (r312894) @@ -85,9 +85,8 @@ int MAIN(int argc, char **argv) char *passargout = NULL, *passout = NULL; BIO *out = NULL, *in = NULL; const EVP_CIPHER *enc = NULL; -# ifndef OPENSSL_NO_ENGINE char *engine = NULL; -# endif + ENGINE *e = NULL; apps_startup(); @@ -206,9 +205,7 @@ int MAIN(int argc, char **argv) " - a DSA parameter file as generated by the dsaparam command\n"); goto end; } -# ifndef OPENSSL_NO_ENGINE - setup_engine(bio_err, engine, 0); -# endif + e = setup_engine(bio_err, engine, 0); if (!app_passwd(bio_err, NULL, passargout, NULL, &passout)) { BIO_printf(bio_err, "Error getting password\n"); @@ -273,6 +270,7 @@ int MAIN(int argc, char **argv) BIO_free_all(out); if (dsa != NULL) DSA_free(dsa); + release_engine(e); if (passout) OPENSSL_free(passout); apps_shutdown(); Modified: projects/clang400-import/crypto/openssl/apps/genpkey.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/genpkey.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/genpkey.c Fri Jan 27 20:01:46 2017 (r312894) @@ -275,9 +275,9 @@ int MAIN(int argc, char **argv) if (out) BIO_free_all(out); BIO_free(in); + release_engine(e); if (pass) OPENSSL_free(pass); - return ret; } Modified: projects/clang400-import/crypto/openssl/apps/genrsa.c ============================================================================== --- projects/clang400-import/crypto/openssl/apps/genrsa.c Fri Jan 27 17:58:41 2017 (r312893) +++ projects/clang400-import/crypto/openssl/apps/genrsa.c Fri Jan 27 20:01:46 2017 (r312894) @@ -91,9 +91,7 @@ int MAIN(int, char **); int MAIN(int argc, char **argv) { *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Jan 27 20:49:45 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 48634CC488D for ; Fri, 27 Jan 2017 20:49:45 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 184A31D58; Fri, 27 Jan 2017 20:49:45 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0RKnisL081452; Fri, 27 Jan 2017 20:49:44 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0RKniQ8081451; Fri, 27 Jan 2017 20:49:44 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701272049.v0RKniQ8081451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 27 Jan 2017 20:49:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312895 - projects/clang400-import X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2017 20:49:45 -0000 Author: emaste Date: Fri Jan 27 20:49:43 2017 New Revision: 312895 URL: https://svnweb.freebsd.org/changeset/base/312895 Log: Update clang400 branch for LD_AS_LLD -> LD_IS_LLD Modified: projects/clang400-import/Makefile.inc1 Modified: projects/clang400-import/Makefile.inc1 ============================================================================== --- projects/clang400-import/Makefile.inc1 Fri Jan 27 20:01:46 2017 (r312894) +++ projects/clang400-import/Makefile.inc1 Fri Jan 27 20:49:43 2017 (r312895) @@ -516,7 +516,7 @@ TMAKE= MAKEOBJDIRPREFIX=${OBJTREE} \ # cross-tools stage XMAKE= TOOLS_PREFIX=${WORLDTMP} ${BMAKE} \ TARGET=${TARGET} TARGET_ARCH=${TARGET_ARCH} \ - MK_GDB=no MK_TESTS=no MK_LLD_IS_LD=no + MK_GDB=no MK_TESTS=no # kernel-tools stage KTMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \ @@ -1827,7 +1827,7 @@ _elftctools= lib/libelftc \ # cross-build on a FreeBSD 10 host: _elftctools+= usr.bin/addr2line .endif -.if ${MK_LLD_AS_LD} != "no" +.if ${MK_LLD_IS_LD} != "no" _lld= usr.bin/clang/lld .endif .elif ${TARGET_ARCH} != ${MACHINE_ARCH} && ${MK_ELFTOOLCHAIN_BOOTSTRAP} != "no" From owner-svn-src-projects@freebsd.org Fri Jan 27 21:14:43 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B4394CC42D5 for ; Fri, 27 Jan 2017 21:14:43 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 839346DB; Fri, 27 Jan 2017 21:14:43 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0RLEgp5096100; Fri, 27 Jan 2017 21:14:42 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0RLEgI5096098; Fri, 27 Jan 2017 21:14:42 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701272114.v0RLEgI5096098@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 27 Jan 2017 21:14:42 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312896 - in projects/clang400-import: lib/clang/libllvm tools/build/mk X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2017 21:14:43 -0000 Author: emaste Date: Fri Jan 27 21:14:42 2017 New Revision: 312896 URL: https://svnweb.freebsd.org/changeset/base/312896 Log: Additional LD_AS_LLD -> LD_IS_LLD missed in r312894/r312895 Modified: projects/clang400-import/lib/clang/libllvm/Makefile projects/clang400-import/tools/build/mk/OptionalObsoleteFiles.inc Modified: projects/clang400-import/lib/clang/libllvm/Makefile ============================================================================== --- projects/clang400-import/lib/clang/libllvm/Makefile Fri Jan 27 20:49:43 2017 (r312895) +++ projects/clang400-import/lib/clang/libllvm/Makefile Fri Jan 27 21:14:42 2017 (r312896) @@ -1146,7 +1146,7 @@ SRCS_MIN+= Transforms/Vectorize/SLPVecto SRCS_EXT+= Transforms/Vectorize/Vectorize.cpp SRCS_ALL+= ${SRCS_MIN} -.if !defined(TOOLS_PREFIX) || ${MK_LLD_AS_LD} != "no" +.if !defined(TOOLS_PREFIX) || ${MK_LLD_IS_LD} != "no" SRCS_ALL+= ${SRCS_MIW} .endif .if ${MK_CLANG_EXTRAS} != "no" Modified: projects/clang400-import/tools/build/mk/OptionalObsoleteFiles.inc ============================================================================== --- projects/clang400-import/tools/build/mk/OptionalObsoleteFiles.inc Fri Jan 27 20:49:43 2017 (r312895) +++ projects/clang400-import/tools/build/mk/OptionalObsoleteFiles.inc Fri Jan 27 21:14:42 2017 (r312896) @@ -221,7 +221,7 @@ OLD_DIRS+=usr/share/examples/bhyve .if ${MK_BINUTILS} == no OLD_FILES+=usr/bin/as -.if ${MK_LLD_AS_LD} == no +.if ${MK_LLD_IS_LD} == no OLD_FILES+=usr/bin/ld .endif OLD_FILES+=usr/bin/ld.bfd From owner-svn-src-projects@freebsd.org Fri Jan 27 21:26:25 2017 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 57D37CC457A for ; Fri, 27 Jan 2017 21:26:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 19B04E36; Fri, 27 Jan 2017 21:26:25 +0000 (UTC) (envelope-from emaste@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id v0RLQOI1000211; Fri, 27 Jan 2017 21:26:24 GMT (envelope-from emaste@FreeBSD.org) Received: (from emaste@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id v0RLQOXl000210; Fri, 27 Jan 2017 21:26:24 GMT (envelope-from emaste@FreeBSD.org) Message-Id: <201701272126.v0RLQOXl000210@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: emaste set sender to emaste@FreeBSD.org using -f From: Ed Maste Date: Fri, 27 Jan 2017 21:26:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r312898 - projects/clang400-import/lib/clang X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 27 Jan 2017 21:26:25 -0000 Author: emaste Date: Fri Jan 27 21:26:23 2017 New Revision: 312898 URL: https://svnweb.freebsd.org/changeset/base/312898 Log: Add -mlong-calls also to LLVM's STATIC_CFLAGS on ARM -mlong-calls was set only in STATIC_CXXFLAGS, but there are some .c source files in LLVM which also need -mlong-calls. Unfortunately this is not sufficient to fix linking lldb on ARM, because LLVM-generated calls to __aeabi_read_tp do not honour the -mlong-calls flag. See LLVM PR31769 for details. Reviewed by: dim Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D9348 Modified: projects/clang400-import/lib/clang/llvm.build.mk Modified: projects/clang400-import/lib/clang/llvm.build.mk ============================================================================== --- projects/clang400-import/lib/clang/llvm.build.mk Fri Jan 27 21:18:23 2017 (r312897) +++ projects/clang400-import/lib/clang/llvm.build.mk Fri Jan 27 21:26:23 2017 (r312898) @@ -46,5 +46,6 @@ CXXFLAGS+= -fno-rtti CXXFLAGS.clang+= -stdlib=libc++ .if ${MACHINE_CPUARCH} == "arm" +STATIC_CFLAGS+= -mlong-calls STATIC_CXXFLAGS+= -mlong-calls .endif