From owner-svn-src-projects@freebsd.org Mon Oct 31 19:02:46 2016 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 E3134C27CCD for ; Mon, 31 Oct 2016 19:02:46 +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 7DE1710AC; Mon, 31 Oct 2016 19:02:46 +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 u9VJ2jtW035022; Mon, 31 Oct 2016 19:02:45 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u9VJ2hw6034998; Mon, 31 Oct 2016 19:02:43 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201610311902.u9VJ2hw6034998@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 31 Oct 2016 19:02:43 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r308147 - in projects/clang390-import: . cddl/contrib/opensolaris/lib/libzfs/common contrib/binutils/bfd contrib/bsnmp/lib contrib/elftoolchain/elfcopy contrib/elftoolchain/strings 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: Mon, 31 Oct 2016 19:02:47 -0000 Author: dim Date: Mon Oct 31 19:02:42 2016 New Revision: 308147 URL: https://svnweb.freebsd.org/changeset/base/308147 Log: Merge ^/head r307736 through r308146. Added: projects/clang390-import/contrib/gcc/config/rs6000/freebsdspe.h - copied unchanged from r308146, head/contrib/gcc/config/rs6000/freebsdspe.h projects/clang390-import/lib/libc/powerpc/gen/Makefile.common - copied unchanged from r308146, head/lib/libc/powerpc/gen/Makefile.common projects/clang390-import/lib/libc/powerpcspe/ - copied from r308146, head/lib/libc/powerpcspe/ projects/clang390-import/sbin/zfsbootcfg/ - copied from r308146, head/sbin/zfsbootcfg/ projects/clang390-import/secure/lib/libcrypto/aarch64/ - copied from r308146, head/secure/lib/libcrypto/aarch64/ projects/clang390-import/share/man/man4/chromebook_platform.4 - copied unchanged from r308146, head/share/man/man4/chromebook_platform.4 projects/clang390-import/share/man/man4/jedec_ts.4 - copied unchanged from r308146, head/share/man/man4/jedec_ts.4 projects/clang390-import/sys/arm/allwinner/aw_cir.c - copied unchanged from r308146, head/sys/arm/allwinner/aw_cir.c projects/clang390-import/sys/arm64/arm64/memcpy.S - copied unchanged from r308146, head/sys/arm64/arm64/memcpy.S projects/clang390-import/sys/arm64/arm64/memmove.S - copied unchanged from r308146, head/sys/arm64/arm64/memmove.S projects/clang390-import/sys/boot/Makefile.ficl - copied unchanged from r308146, head/sys/boot/Makefile.ficl projects/clang390-import/sys/boot/forth/efi.4th - copied unchanged from r308146, head/sys/boot/forth/efi.4th projects/clang390-import/sys/conf/ldscript.powerpcspe - copied unchanged from r308146, head/sys/conf/ldscript.powerpcspe projects/clang390-import/sys/dev/chromebook_platform/ - copied from r308146, head/sys/dev/chromebook_platform/ projects/clang390-import/sys/dev/fdt/fdt_intr.h - copied unchanged from r308146, head/sys/dev/fdt/fdt_intr.h projects/clang390-import/sys/dev/hyperv/netvsc/hn_nvs.c - copied unchanged from r308146, head/sys/dev/hyperv/netvsc/hn_nvs.c projects/clang390-import/sys/dev/hyperv/netvsc/hn_nvs.h - copied unchanged from r308146, head/sys/dev/hyperv/netvsc/hn_nvs.h projects/clang390-import/sys/dev/hyperv/netvsc/hn_rndis.c - copied unchanged from r308146, head/sys/dev/hyperv/netvsc/hn_rndis.c projects/clang390-import/sys/dev/hyperv/netvsc/hn_rndis.h - copied unchanged from r308146, head/sys/dev/hyperv/netvsc/hn_rndis.h projects/clang390-import/sys/dev/jedec_ts/ - copied from r308146, head/sys/dev/jedec_ts/ projects/clang390-import/sys/dev/xen/gntdev/ - copied from r308146, head/sys/dev/xen/gntdev/ projects/clang390-import/sys/modules/chromebook_platform/ - copied from r308146, head/sys/modules/chromebook_platform/ projects/clang390-import/sys/modules/i2c/jedec_ts/ - copied from r308146, head/sys/modules/i2c/jedec_ts/ projects/clang390-import/sys/powerpc/booke/spe.c - copied unchanged from r308146, head/sys/powerpc/booke/spe.c projects/clang390-import/sys/powerpc/conf/MPC85XXSPE - copied unchanged from r308146, head/sys/powerpc/conf/MPC85XXSPE projects/clang390-import/sys/xen/gntdev.h - copied unchanged from r308146, head/sys/xen/gntdev.h Deleted: projects/clang390-import/sys/arm64/arm64/bcopy.c projects/clang390-import/sys/boot/ficl/efi.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/clang390-import/sys/dev/hyperv/netvsc/hv_rndis_filter.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_rndis_filter.h Modified: projects/clang390-import/Makefile projects/clang390-import/Makefile.inc1 projects/clang390-import/UPDATING projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c projects/clang390-import/contrib/binutils/bfd/config.bfd projects/clang390-import/contrib/bsnmp/lib/snmp.c projects/clang390-import/contrib/elftoolchain/elfcopy/main.c projects/clang390-import/contrib/elftoolchain/strings/strings.c projects/clang390-import/contrib/libarchive/NEWS projects/clang390-import/contrib/libarchive/cat/test/main.c projects/clang390-import/contrib/libarchive/cat/test/test.h projects/clang390-import/contrib/libarchive/cpio/test/main.c projects/clang390-import/contrib/libarchive/cpio/test/test.h projects/clang390-import/contrib/libarchive/libarchive/archive.h projects/clang390-import/contrib/libarchive/libarchive/archive_entry.h projects/clang390-import/contrib/libarchive/libarchive/test/main.c projects/clang390-import/contrib/libarchive/libarchive/test/test.h projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_mtree_crash747.c projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_zip_high_compression.c projects/clang390-import/contrib/libarchive/libarchive/test/test_read_set_format.c projects/clang390-import/contrib/libarchive/libarchive/test/test_write_format_iso9660.c projects/clang390-import/contrib/libarchive/tar/test/main.c projects/clang390-import/contrib/libarchive/tar/test/test.h projects/clang390-import/contrib/libarchive/tar/test/test_option_b.c projects/clang390-import/contrib/libarchive/tar/test/test_symlink_dir.c projects/clang390-import/contrib/llvm/projects/libunwind/include/libunwind.h projects/clang390-import/contrib/llvm/projects/libunwind/src/AddressSpace.hpp projects/clang390-import/contrib/llvm/projects/libunwind/src/CompactUnwinder.hpp projects/clang390-import/contrib/llvm/projects/libunwind/src/EHHeaderParser.hpp projects/clang390-import/contrib/llvm/projects/libunwind/src/Unwind-EHABI.cpp projects/clang390-import/contrib/llvm/projects/libunwind/src/Unwind-sjlj.c projects/clang390-import/contrib/llvm/projects/libunwind/src/UnwindCursor.hpp projects/clang390-import/contrib/llvm/projects/libunwind/src/UnwindLevel1-gcc-ext.c projects/clang390-import/contrib/llvm/projects/libunwind/src/UnwindLevel1.c projects/clang390-import/contrib/llvm/projects/libunwind/src/config.h projects/clang390-import/contrib/llvm/projects/libunwind/src/libunwind.cpp projects/clang390-import/contrib/netbsd-tests/lib/libc/stdio/t_printf.c projects/clang390-import/contrib/tzdata/asia projects/clang390-import/contrib/tzdata/australasia projects/clang390-import/contrib/tzdata/europe projects/clang390-import/contrib/tzdata/northamerica projects/clang390-import/crypto/openssl/crypto/aes/asm/aesv8-armx.pl projects/clang390-import/crypto/openssl/crypto/arm64cpuid.S projects/clang390-import/crypto/openssl/crypto/modes/asm/ghashv8-armx.pl projects/clang390-import/etc/devd/usb.conf projects/clang390-import/etc/mtree/BSD.root.dist projects/clang390-import/etc/rc projects/clang390-import/etc/rc.d/Makefile projects/clang390-import/etc/rc.d/swaplate projects/clang390-import/gnu/lib/libgcc/Makefile projects/clang390-import/gnu/lib/libgomp/Makefile projects/clang390-import/gnu/usr.bin/binutils/Makefile.inc0 projects/clang390-import/gnu/usr.bin/binutils/ld/Makefile.mips projects/clang390-import/gnu/usr.bin/binutils/libbfd/Makefile.mips projects/clang390-import/gnu/usr.bin/cc/Makefile.inc projects/clang390-import/gnu/usr.bin/cc/Makefile.tgt projects/clang390-import/gnu/usr.bin/cc/cc_tools/Makefile.hdrs projects/clang390-import/gnu/usr.bin/cc/include/Makefile projects/clang390-import/gnu/usr.bin/gdb/Makefile.inc projects/clang390-import/gnu/usr.bin/gdb/libgdb/Makefile projects/clang390-import/include/limits.h projects/clang390-import/include/stddef.h projects/clang390-import/lib/libarchive/Makefile projects/clang390-import/lib/libc/Makefile projects/clang390-import/lib/libc/gen/sysctl.3 projects/clang390-import/lib/libc/mips/Makefile.inc projects/clang390-import/lib/libc/mips/Symbol.map projects/clang390-import/lib/libc/mips/gen/Makefile.inc projects/clang390-import/lib/libc/mips/gen/flt_rounds.c projects/clang390-import/lib/libc/powerpc/gen/Makefile.inc projects/clang390-import/lib/libc/stdio/printf-pos.c projects/clang390-import/lib/libcapsicum/capsicum_helpers.3 projects/clang390-import/lib/libcasper/services/cap_dns/Makefile projects/clang390-import/lib/libcasper/services/cap_grp/Makefile projects/clang390-import/lib/libcasper/services/cap_pwd/Makefile projects/clang390-import/lib/libcasper/services/cap_sysctl/Makefile projects/clang390-import/lib/libgcc_eh/Makefile.inc projects/clang390-import/lib/libgcc_s/Makefile projects/clang390-import/lib/libnetbsd/sys/cdefs.h projects/clang390-import/lib/libnetbsd/util.c projects/clang390-import/lib/libproc/proc_bkpt.c projects/clang390-import/lib/librss/Makefile projects/clang390-import/lib/librss/librss.3 projects/clang390-import/lib/libstand/bootp.c projects/clang390-import/lib/libsysdecode/flags.c projects/clang390-import/lib/libusb/libusb20_ugen20.c projects/clang390-import/lib/msun/mips/Makefile.inc projects/clang390-import/lib/msun/mips/Symbol.map projects/clang390-import/lib/msun/mips/fenv.c projects/clang390-import/lib/msun/mips/fenv.h projects/clang390-import/lib/msun/powerpc/fenv.h projects/clang390-import/release/tools/arm.subr projects/clang390-import/release/tools/vagrant-virtualbox.conf projects/clang390-import/sbin/Makefile projects/clang390-import/sbin/camcontrol/camcontrol.c projects/clang390-import/sbin/geom/class/eli/geom_eli.c projects/clang390-import/sbin/swapon/swapon.8 projects/clang390-import/sbin/swapon/swapon.c projects/clang390-import/secure/lib/libcrypto/Makefile projects/clang390-import/secure/lib/libcrypto/Makefile.asm projects/clang390-import/secure/lib/libcrypto/Makefile.inc projects/clang390-import/share/doc/psd/contents/contents.ms projects/clang390-import/share/doc/psd/title/Title projects/clang390-import/share/man/man4/cyapa.4 projects/clang390-import/share/man/man4/ig4.4 projects/clang390-import/share/man/man4/isl.4 projects/clang390-import/share/man/man4/tcp.4 projects/clang390-import/share/man/man4/ure.4 projects/clang390-import/share/man/man7/arch.7 projects/clang390-import/share/misc/pci_vendors projects/clang390-import/share/mk/bsd.compiler.mk projects/clang390-import/share/mk/bsd.cpu.mk projects/clang390-import/share/mk/bsd.endian.mk projects/clang390-import/share/mk/bsd.subdir.mk projects/clang390-import/share/mk/local.meta.sys.mk projects/clang390-import/share/mk/sys.mk projects/clang390-import/sys/amd64/amd64/mem.c projects/clang390-import/sys/amd64/amd64/sys_machdep.c projects/clang390-import/sys/amd64/amd64/trap.c projects/clang390-import/sys/amd64/include/pmap.h projects/clang390-import/sys/amd64/include/smp.h projects/clang390-import/sys/amd64/vmm/amd/svm.c projects/clang390-import/sys/arm/allwinner/aw_nmi.c projects/clang390-import/sys/arm/allwinner/aw_rsb.c projects/clang390-import/sys/arm/allwinner/aw_thermal.c projects/clang390-import/sys/arm/allwinner/clk/aw_pll.c projects/clang390-import/sys/arm/allwinner/files.allwinner projects/clang390-import/sys/arm/arm/cpufunc_asm_arm11x6.S projects/clang390-import/sys/arm/arm/cpufunc_asm_armv7.S projects/clang390-import/sys/arm/arm/gic.c projects/clang390-import/sys/arm/conf/GENERIC projects/clang390-import/sys/arm/include/cpu-v6.h projects/clang390-import/sys/arm/include/cpufunc.h projects/clang390-import/sys/arm/include/platformvar.h projects/clang390-import/sys/arm/ti/am335x/am335x_dmtimer.c projects/clang390-import/sys/arm/ti/ti_machdep.c projects/clang390-import/sys/arm64/arm64/gic_v3.c projects/clang390-import/sys/arm64/arm64/mp_machdep.c projects/clang390-import/sys/arm64/arm64/trap.c projects/clang390-import/sys/arm64/include/param.h projects/clang390-import/sys/boot/common/Makefile.inc projects/clang390-import/sys/boot/common/pnp.c projects/clang390-import/sys/boot/efi/Makefile projects/clang390-import/sys/boot/efi/Makefile.inc projects/clang390-import/sys/boot/efi/libefi/Makefile projects/clang390-import/sys/boot/efi/libefi/env.c projects/clang390-import/sys/boot/efi/loader/main.c projects/clang390-import/sys/boot/fdt/dts/arm/olimex-a20-som-evb.dts projects/clang390-import/sys/boot/ficl/Makefile projects/clang390-import/sys/boot/ficl/loader.c projects/clang390-import/sys/boot/ficl32/Makefile projects/clang390-import/sys/boot/forth/Makefile.inc projects/clang390-import/sys/boot/forth/loader.4th projects/clang390-import/sys/boot/i386/Makefile.inc projects/clang390-import/sys/boot/i386/common/drv.c projects/clang390-import/sys/boot/i386/common/drv.h projects/clang390-import/sys/boot/i386/gptboot/Makefile projects/clang390-import/sys/boot/i386/gptzfsboot/Makefile projects/clang390-import/sys/boot/i386/libi386/biospci.c projects/clang390-import/sys/boot/i386/loader/Makefile projects/clang390-import/sys/boot/i386/zfsboot/Makefile projects/clang390-import/sys/boot/i386/zfsboot/zfsboot.c projects/clang390-import/sys/boot/mips/uboot/Makefile projects/clang390-import/sys/boot/powerpc/Makefile projects/clang390-import/sys/boot/zfs/zfsimpl.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/vdev.h projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_label.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zrlock.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/sys/fs/zfs.h projects/clang390-import/sys/conf/Makefile.powerpc projects/clang390-import/sys/conf/NOTES projects/clang390-import/sys/conf/files projects/clang390-import/sys/conf/files.amd64 projects/clang390-import/sys/conf/files.arm64 projects/clang390-import/sys/conf/files.i386 projects/clang390-import/sys/conf/files.powerpc projects/clang390-import/sys/conf/kern.mk projects/clang390-import/sys/conf/options.powerpc projects/clang390-import/sys/contrib/rdma/krping/krping.c projects/clang390-import/sys/dev/aacraid/aacraid_pci.c projects/clang390-import/sys/dev/bfe/if_bfe.c projects/clang390-import/sys/dev/bxe/bxe.c projects/clang390-import/sys/dev/cxgbe/common/t4_hw.c projects/clang390-import/sys/dev/cxgbe/t4_sge.c projects/clang390-import/sys/dev/cyapa/cyapa.c projects/clang390-import/sys/dev/dpaa/bman_fdt.c projects/clang390-import/sys/dev/dpaa/qman_fdt.c projects/clang390-import/sys/dev/evdev/evdev.c projects/clang390-import/sys/dev/evdev/evdev.h projects/clang390-import/sys/dev/evdev/evdev_utils.c projects/clang390-import/sys/dev/gpio/gpiobusvar.h projects/clang390-import/sys/dev/gpio/ofw_gpiobus.c projects/clang390-import/sys/dev/hwpmc/hwpmc_amd.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/clang390-import/sys/dev/hyperv/netvsc/if_hnvar.h projects/clang390-import/sys/dev/hyperv/netvsc/ndis.h projects/clang390-import/sys/dev/hyperv/utilities/hv_heartbeat.c projects/clang390-import/sys/dev/hyperv/utilities/hv_kvp.c projects/clang390-import/sys/dev/hyperv/utilities/hv_kvp.h projects/clang390-import/sys/dev/hyperv/utilities/hv_shutdown.c projects/clang390-import/sys/dev/hyperv/utilities/hv_timesync.c projects/clang390-import/sys/dev/hyperv/utilities/hv_util.c projects/clang390-import/sys/dev/hyperv/utilities/hv_util.h projects/clang390-import/sys/dev/hyperv/utilities/hv_utilreg.h projects/clang390-import/sys/dev/hyperv/utilities/vmbus_icreg.h projects/clang390-import/sys/dev/hyperv/vmbus/vmbus.c projects/clang390-import/sys/dev/hyperv/vmbus/vmbus_chan.c projects/clang390-import/sys/dev/ichiic/ig4_iic.c projects/clang390-import/sys/dev/ichiic/ig4_pci.c projects/clang390-import/sys/dev/ichiic/ig4_var.h projects/clang390-import/sys/dev/iicbus/iicbus.c projects/clang390-import/sys/dev/ioat/ioat.c projects/clang390-import/sys/dev/ioat/ioat_internal.h projects/clang390-import/sys/dev/isl/isl.c projects/clang390-import/sys/dev/mii/miidevs projects/clang390-import/sys/dev/mii/rgephy.c projects/clang390-import/sys/dev/mii/rgephyreg.h projects/clang390-import/sys/dev/mlx4/mlx4_en/mlx4_en_tx.c projects/clang390-import/sys/dev/netmap/if_em_netmap.h projects/clang390-import/sys/dev/netmap/if_ptnet.c projects/clang390-import/sys/dev/netmap/netmap.c projects/clang390-import/sys/dev/netmap/netmap_freebsd.c projects/clang390-import/sys/dev/netmap/netmap_kern.h projects/clang390-import/sys/dev/netmap/netmap_mem2.c projects/clang390-import/sys/dev/netmap/netmap_mem2.h projects/clang390-import/sys/dev/netmap/netmap_pt.c projects/clang390-import/sys/dev/netmap/netmap_vale.c projects/clang390-import/sys/dev/psci/psci.c projects/clang390-import/sys/dev/psci/psci.h projects/clang390-import/sys/dev/re/if_re.c projects/clang390-import/sys/dev/usb/input/ums.c projects/clang390-import/sys/dev/usb/net/if_ure.c projects/clang390-import/sys/dev/usb/net/if_urereg.h projects/clang390-import/sys/dev/usb/net/uhso.c projects/clang390-import/sys/dev/usb/usb_device.c projects/clang390-import/sys/dev/xen/netfront/netfront.c projects/clang390-import/sys/fs/cd9660/cd9660_vnops.c projects/clang390-import/sys/fs/msdosfs/msdosfs_fat.c projects/clang390-import/sys/fs/msdosfs/msdosfs_vfsops.c projects/clang390-import/sys/fs/msdosfs/msdosfs_vnops.c projects/clang390-import/sys/geom/eli/g_eli.h projects/clang390-import/sys/geom/eli/g_eli_integrity.c projects/clang390-import/sys/i386/i386/initcpu.c projects/clang390-import/sys/i386/i386/mem.c projects/clang390-import/sys/i386/i386/pmap.c projects/clang390-import/sys/i386/i386/trap.c projects/clang390-import/sys/kern/subr_prf.c projects/clang390-import/sys/kern/subr_smp.c projects/clang390-import/sys/kern/subr_turnstile.c projects/clang390-import/sys/kern/subr_uio.c projects/clang390-import/sys/kern/subr_witness.c projects/clang390-import/sys/kern/uipc_syscalls.c projects/clang390-import/sys/kern/vfs_bio.c projects/clang390-import/sys/kern/vfs_syscalls.c projects/clang390-import/sys/mips/include/float.h projects/clang390-import/sys/mips/include/signal.h projects/clang390-import/sys/mips/mips/exception.S projects/clang390-import/sys/mips/mips/locore.S projects/clang390-import/sys/mips/mips/swtch.S projects/clang390-import/sys/mips/mips/trap.c projects/clang390-import/sys/modules/Makefile projects/clang390-import/sys/modules/geom/Makefile projects/clang390-import/sys/modules/hyperv/netvsc/Makefile projects/clang390-import/sys/modules/i2c/Makefile projects/clang390-import/sys/modules/i2c/controllers/ichiic/Makefile projects/clang390-import/sys/modules/i2c/cyapa/Makefile projects/clang390-import/sys/modules/i2c/isl/Makefile projects/clang390-import/sys/net/if_bridge.c projects/clang390-import/sys/net/netmap.h projects/clang390-import/sys/net/netmap_virt.h projects/clang390-import/sys/net/rndis.h projects/clang390-import/sys/net80211/ieee80211.h projects/clang390-import/sys/net80211/ieee80211_freebsd.c projects/clang390-import/sys/net80211/ieee80211_freebsd.h projects/clang390-import/sys/net80211/ieee80211_scan.c projects/clang390-import/sys/net80211/ieee80211_scan_sw.c projects/clang390-import/sys/netinet/cc/cc_cdg.c projects/clang390-import/sys/netinet/cc/cc_chd.c projects/clang390-import/sys/netinet/cc/cc_cubic.c projects/clang390-import/sys/netinet/cc/cc_dctcp.c projects/clang390-import/sys/netinet/cc/cc_htcp.c projects/clang390-import/sys/netinet/cc/cc_newreno.c projects/clang390-import/sys/netinet/ip_output.c projects/clang390-import/sys/netinet/sctp_bsd_addr.c projects/clang390-import/sys/netinet/sctp_output.c projects/clang390-import/sys/netinet/tcp_input.c projects/clang390-import/sys/netinet/tcp_stacks/fastpath.c projects/clang390-import/sys/netinet/tcp_syncache.c projects/clang390-import/sys/powerpc/booke/booke_machdep.c projects/clang390-import/sys/powerpc/conf/MPC85XX projects/clang390-import/sys/powerpc/include/cpu.h projects/clang390-import/sys/powerpc/include/param.h projects/clang390-import/sys/powerpc/include/spr.h projects/clang390-import/sys/powerpc/include/trap.h projects/clang390-import/sys/powerpc/powerpc/cpu.c projects/clang390-import/sys/powerpc/powerpc/trap.c projects/clang390-import/sys/sys/_types.h projects/clang390-import/sys/sys/buf.h projects/clang390-import/sys/ufs/ffs/ffs_tables.c projects/clang390-import/sys/ufs/ffs/ffs_vfsops.c projects/clang390-import/sys/ufs/ffs/ffs_vnops.c projects/clang390-import/sys/ufs/ufs/ufs_vnops.c projects/clang390-import/sys/vm/device_pager.c projects/clang390-import/sys/vm/vm_fault.c projects/clang390-import/sys/vm/vm_pager.h projects/clang390-import/sys/x86/cpufreq/hwpstate.c projects/clang390-import/sys/x86/include/x86_smp.h projects/clang390-import/sys/x86/include/x86_var.h projects/clang390-import/sys/x86/x86/cpu_machdep.c projects/clang390-import/sys/x86/x86/mp_x86.c projects/clang390-import/sys/x86/xen/xen_intr.c projects/clang390-import/sys/xen/xen_intr.h projects/clang390-import/tests/sys/geom/class/uzip/Makefile projects/clang390-import/tools/build/mk/OptionalObsoleteFiles.inc projects/clang390-import/usr.bin/bsdcat/Makefile projects/clang390-import/usr.bin/cpio/Makefile projects/clang390-import/usr.bin/tar/Makefile projects/clang390-import/usr.sbin/Makefile projects/clang390-import/usr.sbin/Makefile.powerpc projects/clang390-import/usr.sbin/amd/Makefile.inc projects/clang390-import/usr.sbin/amd/amd/Makefile projects/clang390-import/usr.sbin/amd/libamu/Makefile projects/clang390-import/usr.sbin/bhyve/dbgport.c projects/clang390-import/usr.sbin/bhyve/vga.c (contents, props changed) projects/clang390-import/usr.sbin/config/Makefile projects/clang390-import/usr.sbin/cron/cron/cron.8 projects/clang390-import/usr.sbin/cron/cron/cron.h projects/clang390-import/usr.sbin/cron/cron/database.c projects/clang390-import/usr.sbin/cron/cron/pathnames.h projects/clang390-import/usr.sbin/cron/lib/misc.c projects/clang390-import/usr.sbin/ctld/ctld.c projects/clang390-import/usr.sbin/daemon/daemon.8 projects/clang390-import/usr.sbin/daemon/daemon.c projects/clang390-import/usr.sbin/makefs/Makefile projects/clang390-import/usr.sbin/makefs/cd9660.c projects/clang390-import/usr.sbin/makefs/cd9660/Makefile.inc projects/clang390-import/usr.sbin/makefs/cd9660/cd9660_archimedes.c projects/clang390-import/usr.sbin/makefs/cd9660/iso9660_rrip.c projects/clang390-import/usr.sbin/makefs/ffs/Makefile.inc projects/clang390-import/usr.sbin/makefs/ffs/ffs_bswap.c projects/clang390-import/usr.sbin/makefs/ffs/ffs_subr.c projects/clang390-import/usr.sbin/makefs/mtree.c projects/clang390-import/usr.sbin/makefs/walk.c projects/clang390-import/usr.sbin/mountd/mountd.8 projects/clang390-import/usr.sbin/mountd/mountd.c projects/clang390-import/usr.sbin/pw/grupd.c projects/clang390-import/usr.sbin/pw/pw_nis.c projects/clang390-import/usr.sbin/pw/pwupd.c projects/clang390-import/usr.sbin/tzsetup/Makefile projects/clang390-import/usr.sbin/tzsetup/tzsetup.c projects/clang390-import/usr.sbin/watchdogd/watchdogd.c Directory Properties: projects/clang390-import/ (props changed) projects/clang390-import/cddl/ (props changed) projects/clang390-import/cddl/contrib/opensolaris/ (props changed) projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/ (props changed) projects/clang390-import/contrib/binutils/ (props changed) projects/clang390-import/contrib/elftoolchain/ (props changed) projects/clang390-import/contrib/gcc/ (props changed) projects/clang390-import/contrib/libarchive/ (props changed) projects/clang390-import/contrib/llvm/ (props changed) projects/clang390-import/contrib/llvm/projects/libunwind/ (props changed) projects/clang390-import/contrib/netbsd-tests/ (props changed) projects/clang390-import/contrib/tzdata/ (props changed) projects/clang390-import/crypto/openssl/ (props changed) projects/clang390-import/gnu/lib/ (props changed) projects/clang390-import/gnu/usr.bin/binutils/ (props changed) projects/clang390-import/gnu/usr.bin/cc/cc_tools/ (props changed) projects/clang390-import/gnu/usr.bin/gdb/ (props changed) projects/clang390-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang390-import/Makefile ============================================================================== --- projects/clang390-import/Makefile Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/Makefile Mon Oct 31 19:02:42 2016 (r308147) @@ -239,7 +239,7 @@ _MAKE+= MK_META_MODE=no _TARGET_ARCH= ${TARGET:S/pc98/i386/:S/arm64/aarch64/} .elif !defined(TARGET) && defined(TARGET_ARCH) && \ ${TARGET_ARCH} != ${MACHINE_ARCH} -_TARGET= ${TARGET_ARCH:C/mips(n32|64)?(el)?/mips/:C/arm(v6)?(eb)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/riscv64/riscv/} +_TARGET= ${TARGET_ARCH:C/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v6)?(eb)?/arm/:C/aarch64/arm64/:C/powerpc64/powerpc/:C/powerpcspe/powerpc/:C/riscv64/riscv/} .endif .if defined(TARGET) && !defined(_TARGET) _TARGET=${TARGET} @@ -421,8 +421,8 @@ TARGETS?=amd64 arm arm64 i386 mips pc98 _UNIVERSE_TARGETS= ${TARGETS} TARGET_ARCHES_arm?= arm armeb armv6 TARGET_ARCHES_arm64?= aarch64 -TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 -TARGET_ARCHES_powerpc?= powerpc powerpc64 +TARGET_ARCHES_mips?= mipsel mips mips64el mips64 mipsn32 mipselhf mipshf mips64elhf mips64hf +TARGET_ARCHES_powerpc?= powerpc powerpc64 powerpcspe TARGET_ARCHES_pc98?= i386 .for target in ${TARGETS} TARGET_ARCHES_${target}?= ${target} Modified: projects/clang390-import/Makefile.inc1 ============================================================================== --- projects/clang390-import/Makefile.inc1 Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/Makefile.inc1 Mon Oct 31 19:02:42 2016 (r308147) @@ -356,8 +356,13 @@ KNOWN_ARCHES?= aarch64/arm64 \ mipsn32el/mips \ mips64/mips \ mipsn32/mips \ + mipshf/mips \ + mipselhf/mips \ + mips64elhf/mips \ + mips64hf/mips \ powerpc \ powerpc64/powerpc \ + powerpcspe/powerpc \ riscv64/riscv \ sparc64 @@ -452,7 +457,7 @@ PACKAGE= kernel # BOOTSTRAPPING?= 0 -# Keep these in sync +# Keep these in sync -- see below for special case exception MINIMUM_SUPPORTED_OSREL?= 900044 MINIMUM_SUPPORTED_REL?= 9.1 @@ -1556,10 +1561,23 @@ _elftoolchain_libs= lib/libelf lib/libdw .endif legacy: .PHONY +# Temporary special case for automatically detecting the clang compiler issue +# Note: 9.x didn't have FreeBSD_version bumps often enough, so you may need to +# set BOOTSTRAPPING to 0 if you're stable/9 tree post-dates r286035 but is before +# the version bump in r296219 (from July 29, 2015 -> Feb 29, 2016). +.if ${BOOTSTRAPPING} != 0 && \ + ${WANT_COMPILER_TYPE} == "clang" && ${COMPILER_TYPE} == "clang" && ${COMPILER_VERSION} < 30601 +.if ${BOOTSTRAPPING} > 10000000 && ${BOOTSTRAPPING} < 1002501 + @echo "ERROR: Source upgrades from stable/10 prior to r286033 are not supported."; false +.elif ${BOOTSTRAPPING} > 9000000 && ${BOOTSTRAPPING} < 903509 + @echo "ERROR: Source upgrades from stable/9 prior to r286035 are not supported."; false +.endif +.endif .if ${BOOTSTRAPPING} < ${MINIMUM_SUPPORTED_OSREL} && ${BOOTSTRAPPING} != 0 @echo "ERROR: Source upgrades from versions prior to ${MINIMUM_SUPPORTED_REL} are not supported."; \ false .endif + .for _tool in tools/build ${_elftoolchain_libs} ${_+_}@${ECHODIR} "===> ${_tool} (obj,includes,all,install)"; \ cd ${.CURDIR}/${_tool}; \ Modified: projects/clang390-import/UPDATING ============================================================================== --- projects/clang390-import/UPDATING Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/UPDATING Mon Oct 31 19:02:42 2016 (r308147) @@ -41,13 +41,22 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 12 11.0-RELEASE). These revisions post-date the 10.2 and 9.3 releases, so you'll need to take the unusual step of upgrading to the tip of the stable branch before moving to 11 or -current via a source upgrade. - stable/11 and 11.0-RELEASE post-date the fix so you can move from them - to -current. This differs from the historical situation where one could - upgrade from anywhere on the last couple of stable branches, so be - careful. + stable/11 and 11.0-RELEASE have working newer compiler. This differs + from the historical situation where one could upgrade from anywhere on + the last couple of stable branches, so be careful. + + If you're running a hybrid system on 9.x or 10.x with an updated clang + compiler or are using an supported external toolchain, the build system + will allow the upgrade. Otherwise it will print a reminder. ****************************** SPECIAL WARNING: ****************************** +20161030: + isl(4) and cyapa(4) drivers now require a new driver, + chromebook_platform(4), to work properly on Chromebook-class hardware. + On other types of hardware the drivers may need to be configured using + device hints. Please see the corresponding manual pages for details. + 20161017: The urtwn(4) driver was merged into rtwn(4) and now consists of rtwn(4) main module + rtwn_usb(4) and rtwn_pci(4) bus-specific Modified: projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h ============================================================================== --- projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs.h Mon Oct 31 19:02:42 2016 (r308147) @@ -213,6 +213,7 @@ extern int zpool_get_state(zpool_handle_ extern const char *zpool_state_to_name(vdev_state_t, vdev_aux_t); extern const char *zpool_pool_state_to_name(pool_state_t); extern void zpool_free_handles(libzfs_handle_t *); +extern int zpool_nextboot(libzfs_handle_t *, uint64_t, uint64_t, const char *); /* * Iterate over all active pools in the system. Modified: projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c ============================================================================== --- projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/cddl/contrib/opensolaris/lib/libzfs/common/libzfs_pool.c Mon Oct 31 19:02:42 2016 (r308147) @@ -4126,3 +4126,25 @@ out: libzfs_fini(hdl); return (ret); } + +int +zpool_nextboot(libzfs_handle_t *hdl, uint64_t pool_guid, uint64_t dev_guid, + const char *command) +{ + zfs_cmd_t zc = { 0 }; + nvlist_t *args; + char *packed; + size_t size; + int error; + + args = fnvlist_alloc(); + fnvlist_add_uint64(args, ZPOOL_CONFIG_POOL_GUID, pool_guid); + fnvlist_add_uint64(args, ZPOOL_CONFIG_GUID, dev_guid); + fnvlist_add_string(args, "command", command); + error = zcmd_write_src_nvlist(hdl, &zc, args); + if (error == 0) + error = ioctl(hdl->libzfs_fd, ZFS_IOC_NEXTBOOT, &zc); + zcmd_free_nvlists(&zc); + nvlist_free(args); + return (error); +} Modified: projects/clang390-import/contrib/binutils/bfd/config.bfd ============================================================================== --- projects/clang390-import/contrib/binutils/bfd/config.bfd Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/binutils/bfd/config.bfd Mon Oct 31 19:02:42 2016 (r308147) @@ -1103,7 +1103,7 @@ case "${targ}" in want64=true ;; #endif - powerpc-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ + powerpc-*-*bsd* | powerpcspe-*-*bsd* | powerpc-*-elf* | powerpc-*-sysv4* | powerpc-*-eabi* | \ powerpc-*-solaris2* | powerpc-*-linux-* | powerpc-*-rtems* | \ powerpc-*-chorus*) targ_defvec=bfd_elf32_powerpc_vec Modified: projects/clang390-import/contrib/bsnmp/lib/snmp.c ============================================================================== --- projects/clang390-import/contrib/bsnmp/lib/snmp.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/bsnmp/lib/snmp.c Mon Oct 31 19:02:42 2016 (r308147) @@ -288,7 +288,7 @@ parse_secparams(struct asn_buf *b, struc memset(buf, 0, 256); tb.asn_ptr = buf; tb.asn_len = 256; - u_int len; + u_int len = 256; if (asn_get_octetstring(b, buf, &len) != ASN_ERR_OK) { snmp_error("cannot parse usm header"); Modified: projects/clang390-import/contrib/elftoolchain/elfcopy/main.c ============================================================================== --- projects/clang390-import/contrib/elftoolchain/elfcopy/main.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/elftoolchain/elfcopy/main.c Mon Oct 31 19:02:42 2016 (r308147) @@ -1529,6 +1529,22 @@ print_version(void) exit(EXIT_SUCCESS); } +/* + * Compare the ending of s with end. + */ +static int +strrcmp(const char *s, const char *end) +{ + size_t endlen, slen; + + slen = strlen(s); + endlen = strlen(end); + + if (slen >= endlen) + s += slen - endlen; + return (strcmp(s, end)); +} + int main(int argc, char **argv) { @@ -1562,12 +1578,16 @@ main(int argc, char **argv) if ((ecp->progname = ELFTC_GETPROGNAME()) == NULL) ecp->progname = "elfcopy"; - if (strcmp(ecp->progname, "strip") == 0) + if (strrcmp(ecp->progname, "strip") == 0) strip_main(ecp, argc, argv); - else if (strcmp(ecp->progname, "mcs") == 0) + else if (strrcmp(ecp->progname, "mcs") == 0) mcs_main(ecp, argc, argv); - else + else { + if (strrcmp(ecp->progname, "elfcopy") != 0 && + strrcmp(ecp->progname, "objcopy") != 0) + warnx("program mode not known, defaulting to elfcopy"); elfcopy_main(ecp, argc, argv); + } free_sec_add(ecp); free_sec_act(ecp); Modified: projects/clang390-import/contrib/elftoolchain/strings/strings.c ============================================================================== --- projects/clang390-import/contrib/elftoolchain/strings/strings.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/elftoolchain/strings/strings.c Mon Oct 31 19:02:42 2016 (r308147) @@ -48,12 +48,6 @@ ELFTC_VCSID("$Id: strings.c 3446 2016-05-03 01:31:17Z emaste $"); -enum return_code { - RETURN_OK, - RETURN_NOINPUT, - RETURN_SOFTWARE -}; - enum radix_style { RADIX_DECIMAL, RADIX_HEX, @@ -107,7 +101,7 @@ main(int argc, char **argv) { int ch, rc; - rc = RETURN_OK; + rc = 0; min_len = 0; encoding_size = 1; if (elf_version(EV_CURRENT) == EV_NONE) @@ -197,7 +191,8 @@ main(int argc, char **argv) if (!*argv) rc = handle_file("{standard input}"); else while (*argv) { - rc = handle_file(*argv); + if (handle_file(*argv) != 0) + rc = 1; argv++; } return (rc); @@ -209,11 +204,11 @@ handle_file(const char *name) int fd, rt; if (name == NULL) - return (RETURN_NOINPUT); + return (1); if (strcmp("{standard input}", name) != 0) { if (freopen(name, "rb", stdin) == NULL) { warnx("'%s': %s", name, strerror(errno)); - return (RETURN_NOINPUT); + return (1); } } else { return (find_strings(name, (off_t)0, (off_t)0)); @@ -221,7 +216,7 @@ handle_file(const char *name) fd = fileno(stdin); if (fd < 0) - return (RETURN_NOINPUT); + return (1); rt = handle_elf(name, fd); return (rt); } @@ -239,7 +234,7 @@ handle_binary(const char *name, int fd) (void) lseek(fd, (off_t)0, SEEK_SET); if (!fstat(fd, &buf)) return (find_strings(name, (off_t)0, buf.st_size)); - return (RETURN_SOFTWARE); + return (1); } /* @@ -257,7 +252,7 @@ handle_elf(const char *name, int fd) Elf_Scn *scn; int rc; - rc = RETURN_OK; + rc = 0; /* If entire file is chosen, treat it as a binary file */ if (entire_file) return (handle_binary(name, fd)); @@ -272,7 +267,7 @@ handle_elf(const char *name, int fd) if (gelf_getehdr(elf, &elfhdr) == NULL) { (void) elf_end(elf); warnx("%s: ELF file could not be processed", name); - return (RETURN_SOFTWARE); + return (1); } if (elfhdr.e_shnum == 0 && elfhdr.e_type == ET_CORE) { @@ -352,7 +347,7 @@ find_strings(const char *name, off_t off if ((obuf = (char*)calloc(1, min_len + 1)) == NULL) { (void) fprintf(stderr, "Unable to allocate memory: %s\n", strerror(errno)); - return (RETURN_SOFTWARE); + return (1); } (void) fseeko(stdin, offset, SEEK_SET); @@ -426,7 +421,7 @@ find_strings(const char *name, off_t off } _exit1: free(obuf); - return (RETURN_OK); + return (0); } #define USAGE_MESSAGE "\ Copied: projects/clang390-import/contrib/gcc/config/rs6000/freebsdspe.h (from r308146, head/contrib/gcc/config/rs6000/freebsdspe.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang390-import/contrib/gcc/config/rs6000/freebsdspe.h Mon Oct 31 19:02:42 2016 (r308147, copy of r308146, head/contrib/gcc/config/rs6000/freebsdspe.h) @@ -0,0 +1,77 @@ +/* Definitions of target machine for GNU compiler, + for PowerPC e500 machines running FreeBSD. + Based on linuxspe.h + Copyright (C) 2003, 2004 Free Software Foundation, Inc. + Contributed by Aldy Hernandez (aldy@quesejoda.com). + + This file is part of GCC. + + GCC is free software; you can redistribute it and/or modify it + under the terms of the GNU General Public License as published + by the Free Software Foundation; either version 2, or (at your + option) any later version. + + GCC is distributed in the hope that it will be useful, but WITHOUT + ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public + License for more details. + + You should have received a copy of the GNU General Public License + along with GCC; see the file COPYING. If not, write to the + Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301, USA. */ + +#undef TARGET_VERSION +#define TARGET_VERSION fprintf (stderr, " (PowerPC E500 FreeBSD)"); + +/* Override rs6000.h and sysv4.h definition. */ +#undef TARGET_DEFAULT +#define TARGET_DEFAULT (MASK_POWERPC | MASK_NEW_MNEMONICS | MASK_STRICT_ALIGN) + +#undef TARGET_SPE_ABI +#undef TARGET_SPE +#undef TARGET_E500 +#undef TARGET_ISEL +#undef TARGET_FPRS +#undef TARGET_E500_SINGLE +#undef TARGET_E500_DOUBLE + +#define TARGET_SPE_ABI rs6000_spe_abi +#define TARGET_SPE rs6000_spe +#define TARGET_E500 (rs6000_cpu == PROCESSOR_PPC8540) +#define TARGET_ISEL rs6000_isel +#define TARGET_FPRS (rs6000_float_gprs == 0) +#define TARGET_E500_SINGLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 1) +#define TARGET_E500_DOUBLE (TARGET_HARD_FLOAT && rs6000_float_gprs == 2) + +#undef SUBSUBTARGET_OVERRIDE_OPTIONS +#define SUBSUBTARGET_OVERRIDE_OPTIONS \ + if (rs6000_select[1].string == NULL) \ + rs6000_cpu = PROCESSOR_PPC8540; \ + if (!rs6000_explicit_options.abi) \ + rs6000_spe_abi = 1; \ + if (!rs6000_explicit_options.float_gprs) \ + rs6000_float_gprs = 1; \ + /* See note below. */ \ + /*if (!rs6000_explicit_options.long_double)*/ \ + /* rs6000_long_double_type_size = 128;*/ \ + if (!rs6000_explicit_options.spe) \ + rs6000_spe = 1; \ + if (!rs6000_explicit_options.isel) \ + rs6000_isel = 1; \ + if (target_flags & MASK_64BIT) \ + error ("-m64 not supported in this configuration") + +/* The e500 ABI says that either long doubles are 128 bits, or if + implemented in any other size, the compiler/linker should error out. + We have no emulation libraries for 128 bit long doubles, and I hate + the dozens of failures on the regression suite. So I'm breaking ABI + specifications, until I properly fix the emulation. + + Enable these later. +#undef CPP_LONGDOUBLE_DEFAULT_SPEC +#define CPP_LONGDOUBLE_DEFAULT_SPEC "-D__LONG_DOUBLE_128__=1" +*/ + +#undef ASM_DEFAULT_SPEC +#define ASM_DEFAULT_SPEC "-mppc -mspe -me500" Modified: projects/clang390-import/contrib/libarchive/NEWS ============================================================================== --- projects/clang390-import/contrib/libarchive/NEWS Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/NEWS Mon Oct 31 19:02:42 2016 (r308147) @@ -1,3 +1,6 @@ +Oct 23, 2016: libarchive 3.2.2 released + Security release + Jun 20, 2016: libarchive 3.2.1 released This fixes a handful of security and other critical issues with 3.2.0 Modified: projects/clang390-import/contrib/libarchive/cat/test/main.c ============================================================================== --- projects/clang390-import/contrib/libarchive/cat/test/main.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/cat/test/main.c Mon Oct 31 19:02:42 2016 (r308147) @@ -129,6 +129,13 @@ # include #endif +mode_t umasked(mode_t expected_mode) +{ + mode_t mode = umask(0); + umask(mode); + return expected_mode & ~mode; +} + /* Path to working directory for current test */ const char *testworkdir; #ifdef PROGRAM @@ -1156,6 +1163,35 @@ assertion_file_contains_lines_any_order( return (0); } +/* Verify that a text file does not contains the specified strings */ +int +assertion_file_contains_no_invalid_strings(const char *file, int line, + const char *pathname, const char *strings[]) +{ + char *buff; + int i; + + buff = slurpfile(NULL, "%s", pathname); + if (buff == NULL) { + failure_start(file, line, "Can't read file: %s", pathname); + failure_finish(NULL); + return (0); + } + + for (i = 0; strings[i] != NULL; ++i) { + if (strstr(buff, strings[i]) != NULL) { + failure_start(file, line, "Invalid string in %s: %s", pathname, + strings[i]); + failure_finish(NULL); + free(buff); + return(0); + } + } + + free(buff); + return (0); +} + /* Test that two paths point to the same file. */ /* As a side-effect, asserts that both files exist. */ static int @@ -1293,6 +1329,11 @@ assertion_file_time(const char *file, in switch (type) { case 'a': filet_nsec = st.st_atimespec.tv_nsec; break; case 'b': filet = st.st_birthtime; + /* FreeBSD filesystems that don't support birthtime + * (e.g., UFS1) always return -1 here. */ + if (filet == -1) { + return (1); + } filet_nsec = st.st_birthtimespec.tv_nsec; break; case 'm': filet_nsec = st.st_mtimespec.tv_nsec; break; default: fprintf(stderr, "INTERNAL: Bad type %c for file time", type); @@ -1370,6 +1411,8 @@ assertion_file_mode(const char *file, in assertion_count(file, line); #if defined(_WIN32) && !defined(__CYGWIN__) failure_start(file, line, "assertFileMode not yet implemented for Windows"); + (void)mode; /* UNUSED */ + (void)r; /* UNUSED */ #else { struct stat st; @@ -1424,7 +1467,7 @@ assertion_file_nlinks(const char *file, assertion_count(file, line); r = lstat(pathname, &st); if (r == 0 && (int)st.st_nlink == nlinks) - return (1); + return (1); failure_start(file, line, "File %s has %d links, expected %d", pathname, st.st_nlink, nlinks); failure_finish(NULL); @@ -1660,6 +1703,7 @@ assertion_make_file(const char *file, in if (0 != chmod(path, mode)) { failure_start(file, line, "Could not chmod %s", path); failure_finish(NULL); + close(fd); return (0); } if (contents != NULL) { @@ -1674,6 +1718,7 @@ assertion_make_file(const char *file, in failure_start(file, line, "Could not write to %s", path); failure_finish(NULL); + close(fd); return (0); } } Modified: projects/clang390-import/contrib/libarchive/cat/test/test.h ============================================================================== --- projects/clang390-import/contrib/libarchive/cat/test/test.h Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/cat/test/test.h Mon Oct 31 19:02:42 2016 (r308147) @@ -174,6 +174,9 @@ /* Assert that file contents match a string. */ #define assertFileContents(data, data_size, pathname) \ assertion_file_contents(__FILE__, __LINE__, data, data_size, pathname) +/* Verify that a file does not contain invalid strings */ +#define assertFileContainsNoInvalidStrings(pathname, strings) \ + assertion_file_contains_no_invalid_strings(__FILE__, __LINE__, pathname, strings) #define assertFileMtime(pathname, sec, nsec) \ assertion_file_mtime(__FILE__, __LINE__, pathname, sec, nsec) #define assertFileMtimeRecent(pathname) \ @@ -182,6 +185,8 @@ assertion_file_nlinks(__FILE__, __LINE__, pathname, nlinks) #define assertFileSize(pathname, size) \ assertion_file_size(__FILE__, __LINE__, pathname, size) +#define assertFileMode(pathname, mode) \ + assertion_file_mode(__FILE__, __LINE__, pathname, mode) #define assertTextFileContents(text, pathname) \ assertion_text_file_contents(__FILE__, __LINE__, text, pathname) #define assertFileContainsLinesAnyOrder(pathname, lines) \ @@ -239,6 +244,7 @@ int assertion_file_atime_recent(const ch int assertion_file_birthtime(const char *, int, const char *, long, long); int assertion_file_birthtime_recent(const char *, int, const char *); int assertion_file_contains_lines_any_order(const char *, int, const char *, const char **); +int assertion_file_contains_no_invalid_strings(const char *, int, const char *, const char **); int assertion_file_contents(const char *, int, const void *, int, const char *); int assertion_file_exists(const char *, int, const char *); int assertion_file_mode(const char *, int, const char *, int); @@ -327,6 +333,9 @@ void copy_reference_file(const char *); */ void extract_reference_files(const char **); +/* Subtract umask from mode */ +mode_t umasked(mode_t expected_mode); + /* Path to working directory for current test */ extern const char *testworkdir; Modified: projects/clang390-import/contrib/libarchive/cpio/test/main.c ============================================================================== --- projects/clang390-import/contrib/libarchive/cpio/test/main.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/cpio/test/main.c Mon Oct 31 19:02:42 2016 (r308147) @@ -1164,6 +1164,35 @@ assertion_file_contains_lines_any_order( return (0); } +/* Verify that a text file does not contains the specified strings */ +int +assertion_file_contains_no_invalid_strings(const char *file, int line, + const char *pathname, const char *strings[]) +{ + char *buff; + int i; + + buff = slurpfile(NULL, "%s", pathname); + if (buff == NULL) { + failure_start(file, line, "Can't read file: %s", pathname); + failure_finish(NULL); + return (0); + } + + for (i = 0; strings[i] != NULL; ++i) { + if (strstr(buff, strings[i]) != NULL) { + failure_start(file, line, "Invalid string in %s: %s", pathname, + strings[i]); + failure_finish(NULL); + free(buff); + return(0); + } + } + + free(buff); + return (0); +} + /* Test that two paths point to the same file. */ /* As a side-effect, asserts that both files exist. */ static int @@ -1383,6 +1412,8 @@ assertion_file_mode(const char *file, in assertion_count(file, line); #if defined(_WIN32) && !defined(__CYGWIN__) failure_start(file, line, "assertFileMode not yet implemented for Windows"); + (void)mode; /* UNUSED */ + (void)r; /* UNUSED */ #else { struct stat st; Modified: projects/clang390-import/contrib/libarchive/cpio/test/test.h ============================================================================== --- projects/clang390-import/contrib/libarchive/cpio/test/test.h Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/cpio/test/test.h Mon Oct 31 19:02:42 2016 (r308147) @@ -174,6 +174,9 @@ /* Assert that file contents match a string. */ #define assertFileContents(data, data_size, pathname) \ assertion_file_contents(__FILE__, __LINE__, data, data_size, pathname) +/* Verify that a file does not contain invalid strings */ +#define assertFileContainsNoInvalidStrings(pathname, strings) \ + assertion_file_contains_no_invalid_strings(__FILE__, __LINE__, pathname, strings) #define assertFileMtime(pathname, sec, nsec) \ assertion_file_mtime(__FILE__, __LINE__, pathname, sec, nsec) #define assertFileMtimeRecent(pathname) \ @@ -241,6 +244,7 @@ int assertion_file_atime_recent(const ch int assertion_file_birthtime(const char *, int, const char *, long, long); int assertion_file_birthtime_recent(const char *, int, const char *); int assertion_file_contains_lines_any_order(const char *, int, const char *, const char **); +int assertion_file_contains_no_invalid_strings(const char *, int, const char *, const char **); int assertion_file_contents(const char *, int, const void *, int, const char *); int assertion_file_exists(const char *, int, const char *); int assertion_file_mode(const char *, int, const char *, int); Modified: projects/clang390-import/contrib/libarchive/libarchive/archive.h ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/archive.h Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/archive.h Mon Oct 31 19:02:42 2016 (r308147) @@ -36,7 +36,7 @@ * assert that ARCHIVE_VERSION_NUMBER >= 2012108. */ /* Note: Compiler will complain if this does not match archive_entry.h! */ -#define ARCHIVE_VERSION_NUMBER 3002001 +#define ARCHIVE_VERSION_NUMBER 3002002 #include #include /* for wchar_t */ @@ -155,7 +155,7 @@ __LA_DECL int archive_version_number(vo /* * Textual name/version of the library, useful for version displays. */ -#define ARCHIVE_VERSION_ONLY_STRING "3.2.1" +#define ARCHIVE_VERSION_ONLY_STRING "3.2.2" #define ARCHIVE_VERSION_STRING "libarchive " ARCHIVE_VERSION_ONLY_STRING __LA_DECL const char * archive_version_string(void); Modified: projects/clang390-import/contrib/libarchive/libarchive/archive_entry.h ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/archive_entry.h Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/archive_entry.h Mon Oct 31 19:02:42 2016 (r308147) @@ -29,7 +29,7 @@ #define ARCHIVE_ENTRY_H_INCLUDED /* Note: Compiler will complain if this does not match archive.h! */ -#define ARCHIVE_VERSION_NUMBER 3002001 +#define ARCHIVE_VERSION_NUMBER 3002002 /* * Note: archive_entry.h is for use outside of libarchive; the Modified: projects/clang390-import/contrib/libarchive/libarchive/test/main.c ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/test/main.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/test/main.c Mon Oct 31 19:02:42 2016 (r308147) @@ -1162,6 +1162,35 @@ assertion_file_contains_lines_any_order( return (0); } +/* Verify that a text file does not contains the specified strings */ +int +assertion_file_contains_no_invalid_strings(const char *file, int line, + const char *pathname, const char *strings[]) +{ + char *buff; + int i; + + buff = slurpfile(NULL, "%s", pathname); + if (buff == NULL) { + failure_start(file, line, "Can't read file: %s", pathname); + failure_finish(NULL); + return (0); + } + + for (i = 0; strings[i] != NULL; ++i) { + if (strstr(buff, strings[i]) != NULL) { + failure_start(file, line, "Invalid string in %s: %s", pathname, + strings[i]); + failure_finish(NULL); + free(buff); + return(0); + } + } + + free(buff); + return (0); +} + /* Test that two paths point to the same file. */ /* As a side-effect, asserts that both files exist. */ static int @@ -1381,6 +1410,8 @@ assertion_file_mode(const char *file, in assertion_count(file, line); #if defined(_WIN32) && !defined(__CYGWIN__) failure_start(file, line, "assertFileMode not yet implemented for Windows"); + (void)mode; /* UNUSED */ + (void)r; /* UNUSED */ #else { struct stat st; Modified: projects/clang390-import/contrib/libarchive/libarchive/test/test.h ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/test/test.h Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/test/test.h Mon Oct 31 19:02:42 2016 (r308147) @@ -174,6 +174,9 @@ /* Assert that file contents match a string. */ #define assertFileContents(data, data_size, pathname) \ assertion_file_contents(__FILE__, __LINE__, data, data_size, pathname) +/* Verify that a file does not contain invalid strings */ +#define assertFileContainsNoInvalidStrings(pathname, strings) \ + assertion_file_contains_no_invalid_strings(__FILE__, __LINE__, pathname, strings) #define assertFileMtime(pathname, sec, nsec) \ assertion_file_mtime(__FILE__, __LINE__, pathname, sec, nsec) #define assertFileMtimeRecent(pathname) \ @@ -241,6 +244,7 @@ int assertion_file_atime_recent(const ch int assertion_file_birthtime(const char *, int, const char *, long, long); int assertion_file_birthtime_recent(const char *, int, const char *); int assertion_file_contains_lines_any_order(const char *, int, const char *, const char **); +int assertion_file_contains_no_invalid_strings(const char *, int, const char *, const char **); int assertion_file_contents(const char *, int, const void *, int, const char *); int assertion_file_exists(const char *, int, const char *); int assertion_file_mode(const char *, int, const char *, int); Modified: projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_mtree_crash747.c ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_mtree_crash747.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_mtree_crash747.c Mon Oct 31 19:02:42 2016 (r308147) @@ -33,6 +33,11 @@ DEFINE_TEST(test_read_format_mtree_crash const char *reffile = "test_read_format_mtree_crash747.mtree.bz2"; struct archive *a; + if (archive_bzlib_version() == NULL) { + skipping("This test requires bzlib"); + return; + } + extract_reference_file(reffile); assert((a = archive_read_new()) != NULL); Modified: projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_zip_high_compression.c ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_zip_high_compression.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/test/test_read_format_zip_high_compression.c Mon Oct 31 19:02:42 2016 (r308147) @@ -50,6 +50,11 @@ DEFINE_TEST(test_read_format_zip_high_co size_t s; int64_t o; + if (archive_zlib_version() == NULL) { + skipping("Zip compression test requires zlib"); + return; + } + extract_reference_file(refname); p = slurpfile(&archive_size, refname); @@ -82,6 +87,11 @@ DEFINE_TEST(test_read_format_zip_high_co char *body, *body_read, *buff; int n; + if (archive_zlib_version() == NULL) { + skipping("Zip compression test requires zlib"); + return; + } + assert((body = malloc(body_size)) != NULL); assert((body_read = malloc(body_size)) != NULL); assert((buff = malloc(buff_size)) != NULL); Modified: projects/clang390-import/contrib/libarchive/libarchive/test/test_read_set_format.c ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/test/test_read_set_format.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/test/test_read_set_format.c Mon Oct 31 19:02:42 2016 (r308147) @@ -133,11 +133,12 @@ DEFINE_TEST(test_read_append_filter) assert((a = archive_read_new()) != NULL); assertA(0 == archive_read_set_format(a, ARCHIVE_FORMAT_TAR)); r = archive_read_append_filter(a, ARCHIVE_FILTER_GZIP); - if (r == ARCHIVE_WARN && !canGzip()) { - skipping("gzip reading not fully supported on this platform"); + if (r != ARCHIVE_OK && archive_zlib_version() == NULL && !canGzip()) { + skipping("gzip tests require zlib or working gzip command"); assertEqualInt(ARCHIVE_OK, archive_read_free(a)); return; } + assertEqualIntA(a, ARCHIVE_OK, r); assertEqualInt(ARCHIVE_OK, archive_read_open_memory(a, archive, sizeof(archive))); assertEqualInt(ARCHIVE_OK, archive_read_next_header(a, &ae)); @@ -200,8 +201,11 @@ DEFINE_TEST(test_read_append_filter_wron { struct archive_entry *ae; struct archive *a; +#if !defined(_WIN32) || defined(__CYGWIN__) + FILE * fp; int fd; fpos_t pos; +#endif /* * If we have "bunzip2 -q", try using that. @@ -211,11 +215,13 @@ DEFINE_TEST(test_read_append_filter_wron return; } +#if !defined(_WIN32) || defined(__CYGWIN__) /* bunzip2 will write to stderr, redirect it to a file */ fflush(stderr); fgetpos(stderr, &pos); fd = dup(fileno(stderr)); - freopen("stderr1", "w", stderr); + fp = freopen("stderr1", "w", stderr); +#endif assert((a = archive_read_new()) != NULL); assertA(0 == archive_read_set_format(a, ARCHIVE_FORMAT_TAR)); @@ -227,12 +233,15 @@ DEFINE_TEST(test_read_append_filter_wron assertEqualIntA(a, ARCHIVE_WARN, archive_read_close(a)); assertEqualInt(ARCHIVE_OK, archive_read_free(a)); - /* restore stderr */ - fflush(stderr); - dup2(fd, fileno(stderr)); - close(fd); - clearerr(stderr); - fsetpos(stderr, &pos); - +#if !defined(_WIN32) || defined(__CYGWIN__) + /* restore stderr and verify results */ + if (fp != NULL) { + fflush(stderr); + dup2(fd, fileno(stderr)); + close(fd); + clearerr(stderr); + fsetpos(stderr, &pos); + } assertTextFileContents("bunzip2: (stdin) is not a bzip2 file.\n", "stderr1"); +#endif } Modified: projects/clang390-import/contrib/libarchive/libarchive/test/test_write_format_iso9660.c ============================================================================== --- projects/clang390-import/contrib/libarchive/libarchive/test/test_write_format_iso9660.c Mon Oct 31 18:45:01 2016 (r308146) +++ projects/clang390-import/contrib/libarchive/libarchive/test/test_write_format_iso9660.c Mon Oct 31 19:02:42 2016 (r308147) @@ -117,8 +117,8 @@ DEFINE_TEST(test_write_format_iso9660) */ dirname[0] = '\0'; strcpy(dir, "/dir0"); - for (i = 0; i < 10; i++) { - dir[4] = '0' + i; + for (i = 0; i < 13; i++) { + dir[4] = "0123456789ABCDEF"[i]; if (i == 0) strcat(dirname, dir+1); else @@ -134,6 +134,19 @@ DEFINE_TEST(test_write_format_iso9660) archive_entry_free(ae); } + strcat(dirname, "/file"); + assert((ae = archive_entry_new()) != NULL); + archive_entry_set_atime(ae, 2, 20); + archive_entry_set_birthtime(ae, 3, 30); + archive_entry_set_ctime(ae, 4, 40); + archive_entry_set_mtime(ae, 5, 50); + archive_entry_copy_pathname(ae, dirname); + archive_entry_set_mode(ae, S_IFREG | 0755); + archive_entry_set_size(ae, 8); + assertEqualIntA(a, ARCHIVE_OK, archive_write_header(a, ae)); + archive_entry_free(ae); + assertEqualIntA(a, 8, archive_write_data(a, "12345678", 9)); + /* * "dir0/dir1/file1" has 8 bytes of data. */ @@ -333,6 +346,45 @@ DEFINE_TEST(test_write_format_iso9660) assertEqualInt(2048, archive_entry_size(ae)); /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(2, archive_entry_atime(ae)); + assertEqualInt(3, archive_entry_birthtime(ae)); + assertEqualInt(4, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA", + archive_entry_pathname(ae)); + assert((S_IFDIR | 0555) == archive_entry_mode(ae)); + assertEqualInt(2048, archive_entry_size(ae)); + + /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(2, archive_entry_atime(ae)); + assertEqualInt(3, archive_entry_birthtime(ae)); + assertEqualInt(4, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB", + archive_entry_pathname(ae)); + assert((S_IFDIR | 0555) == archive_entry_mode(ae)); + assertEqualInt(2048, archive_entry_size(ae)); + + /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(2, archive_entry_atime(ae)); + assertEqualInt(3, archive_entry_birthtime(ae)); + assertEqualInt(4, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC", + archive_entry_pathname(ae)); + assert((S_IFDIR | 0555) == archive_entry_mode(ae)); + assertEqualInt(2048, archive_entry_size(ae)); + + /* * Read "hardlnk" */ assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); @@ -386,6 +438,21 @@ DEFINE_TEST(test_write_format_iso9660) assertEqualMem(buff2, "12345678", 8); /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC/file" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(2, archive_entry_atime(ae)); + assertEqualInt(3, archive_entry_birthtime(ae)); + assertEqualInt(4, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC/file", archive_entry_pathname(ae)); + assert((AE_IFREG | 0555) == archive_entry_mode(ae)); + assertEqualInt(1, archive_entry_nlink(ae)); + assertEqualInt(8, archive_entry_size(ae)); + assertEqualIntA(a, 8, archive_read_data(a, buff2, 10)); + assertEqualMem(buff2, "12345678", 8); + + /* * Read "dir0/dir1/file1" */ assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); @@ -580,29 +647,65 @@ DEFINE_TEST(test_write_format_iso9660) assertEqualInt(2048, archive_entry_size(ae)); /* - * Read "hardlnk" + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA" */ assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); assertEqualInt(5, archive_entry_atime(ae)); assertEqualInt(5, archive_entry_ctime(ae)); assertEqualInt(5, archive_entry_mtime(ae)); - assertEqualString("hardlnk", archive_entry_pathname(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA", + archive_entry_pathname(ae)); + assert((S_IFDIR | 0700) == archive_entry_mode(ae)); + assertEqualInt(2048, archive_entry_size(ae)); + + /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(5, archive_entry_atime(ae)); + assertEqualInt(5, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB", + archive_entry_pathname(ae)); + assert((S_IFDIR | 0700) == archive_entry_mode(ae)); + assertEqualInt(2048, archive_entry_size(ae)); + + /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(5, archive_entry_atime(ae)); + assertEqualInt(5, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC", + archive_entry_pathname(ae)); + assert((S_IFDIR | 0700) == archive_entry_mode(ae)); + assertEqualInt(2048, archive_entry_size(ae)); + + /* + * Read "file" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(5, archive_entry_atime(ae)); + assertEqualInt(5, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString("file", archive_entry_pathname(ae)); assert((AE_IFREG | 0400) == archive_entry_mode(ae)); - assertEqualInt(2, archive_entry_nlink(ae)); assertEqualInt(8, archive_entry_size(ae)); assertEqualIntA(a, 8, archive_read_data(a, buff2, 10)); assertEqualMem(buff2, "12345678", 8); /* - * Read "file" + * Read "hardlnk" */ assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); assertEqualInt(5, archive_entry_atime(ae)); assertEqualInt(5, archive_entry_ctime(ae)); assertEqualInt(5, archive_entry_mtime(ae)); - assertEqualString("file", archive_entry_pathname(ae)); - assertEqualString("hardlnk", archive_entry_hardlink(ae)); + assertEqualString("hardlnk", archive_entry_pathname(ae)); + assertEqualString("file", archive_entry_hardlink(ae)); assert((AE_IFREG | 0400) == archive_entry_mode(ae)); + assertEqualInt(2, archive_entry_nlink(ae)); assertEqualInt(0, archive_entry_size(ae)); assertEqualIntA(a, 0, archive_read_data(a, buff2, 10)); @@ -625,6 +728,22 @@ DEFINE_TEST(test_write_format_iso9660) assertEqualMem(buff2, "12345678", 8); /* + * Read "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC/file" + */ + assertEqualIntA(a, 0, archive_read_next_header(a, &ae)); + assertEqualInt(5, archive_entry_atime(ae)); + assertEqualInt(5, archive_entry_ctime(ae)); + assertEqualInt(5, archive_entry_mtime(ae)); + assertEqualString( + "dir0/dir1/dir2/dir3/dir4/dir5/dir6/dir7/dir8/dir9/dirA/dirB/dirC/file", + archive_entry_pathname(ae)); + assert((AE_IFREG | 0400) == archive_entry_mode(ae)); + assertEqualInt(1, archive_entry_nlink(ae)); + assertEqualInt(8, archive_entry_size(ae)); + assertEqualIntA(a, 8, archive_read_data(a, buff2, 10)); + assertEqualMem(buff2, "12345678", 8); + + /* * Read "dir0/dir1/file1" */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Wed Nov 2 19:18:27 2016 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 78D40C2C7C3 for ; Wed, 2 Nov 2016 19:18:27 +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 E90F11359; Wed, 2 Nov 2016 19:18:26 +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 uA2JIQ03055298; Wed, 2 Nov 2016 19:18:26 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id uA2JIOpZ055285; Wed, 2 Nov 2016 19:18:24 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201611021918.uA2JIOpZ055285@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 2 Nov 2016 19:18:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r308227 - in projects/clang390-import: . contrib/hyperv/tools crypto/openssh etc etc/mtree gnu/lib/libgcc lib/libc/locale lib/msun/ld80 libexec/ftpd release/arm64 sbin/ifconfig share/ex... 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, 02 Nov 2016 19:18:27 -0000 Author: dim Date: Wed Nov 2 19:18:24 2016 New Revision: 308227 URL: https://svnweb.freebsd.org/changeset/base/308227 Log: Merge ^/head r303250 through r308226. Added: projects/clang390-import/lib/libc/locale/endian.h - copied unchanged from r308226, head/lib/libc/locale/endian.h projects/clang390-import/sys/dev/hyperv/netvsc/if_hn.c - copied unchanged from r308226, head/sys/dev/hyperv/netvsc/if_hn.c projects/clang390-import/sys/dev/sdhci/fsl_sdhci.c - copied unchanged from r308226, head/sys/dev/sdhci/fsl_sdhci.c projects/clang390-import/tests/sys/kern/coredump_phnum_helper.c - copied unchanged from r308226, head/tests/sys/kern/coredump_phnum_helper.c projects/clang390-import/tests/sys/kern/coredump_phnum_test.sh - copied unchanged from r308226, head/tests/sys/kern/coredump_phnum_test.sh projects/clang390-import/usr.sbin/cpucontrol/amd10h.c - copied unchanged from r308226, head/usr.sbin/cpucontrol/amd10h.c Deleted: projects/clang390-import/sys/arm/freescale/imx/imx_sdhci.c projects/clang390-import/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/clang390-import/sys/powerpc/mpc85xx/fsl_sdhc.c projects/clang390-import/sys/powerpc/mpc85xx/fsl_sdhc.h Modified: projects/clang390-import/Makefile.inc1 projects/clang390-import/contrib/hyperv/tools/hv_kvp_daemon.c projects/clang390-import/crypto/openssh/kex.c projects/clang390-import/etc/Makefile projects/clang390-import/etc/mtree/BSD.root.dist projects/clang390-import/etc/syslog.conf projects/clang390-import/gnu/lib/libgcc/Makefile projects/clang390-import/lib/libc/locale/collate.c projects/clang390-import/lib/libc/locale/rune.c projects/clang390-import/lib/msun/ld80/k_expl.h projects/clang390-import/lib/msun/ld80/s_logl.c projects/clang390-import/libexec/ftpd/blacklist.c projects/clang390-import/libexec/ftpd/blacklist_client.h projects/clang390-import/libexec/ftpd/ftpd.8 projects/clang390-import/libexec/ftpd/ftpd.c projects/clang390-import/release/arm64/make-memstick.sh projects/clang390-import/sbin/ifconfig/ifieee80211.c projects/clang390-import/share/examples/Makefile projects/clang390-import/share/mk/bsd.lib.mk projects/clang390-import/share/mk/bsd.prog.mk projects/clang390-import/share/mk/sys.mk projects/clang390-import/sys/amd64/conf/GENERIC projects/clang390-import/sys/amd64/conf/GENERIC-NODEBUG projects/clang390-import/sys/arm/arm/pmap-v6.c projects/clang390-import/sys/arm/conf/GENERIC projects/clang390-import/sys/arm/freescale/imx/files.imx5 projects/clang390-import/sys/arm/freescale/imx/files.imx6 projects/clang390-import/sys/arm/include/cpu-v6.h projects/clang390-import/sys/arm/include/sysreg.h projects/clang390-import/sys/boot/efi/libefi/efinet.c projects/clang390-import/sys/cam/cam_ccb.h projects/clang390-import/sys/cam/cam_periph.c projects/clang390-import/sys/cam/cam_xpt.c projects/clang390-import/sys/cam/scsi/scsi_da.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sys/zil.h projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zil.c projects/clang390-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zvol.c projects/clang390-import/sys/conf/files.amd64 projects/clang390-import/sys/conf/files.i386 projects/clang390-import/sys/conf/files.powerpc projects/clang390-import/sys/conf/options projects/clang390-import/sys/dev/atkbdc/psm.c projects/clang390-import/sys/dev/bhnd/bhnd_debug.h projects/clang390-import/sys/dev/cpuctl/cpuctl.c projects/clang390-import/sys/dev/e1000/if_em.c projects/clang390-import/sys/dev/hyperv/include/hyperv.h projects/clang390-import/sys/dev/hyperv/include/vmbus.h projects/clang390-import/sys/dev/hyperv/utilities/hv_kvp.c projects/clang390-import/sys/dev/hyperv/utilities/hv_kvp.h projects/clang390-import/sys/dev/hyperv/utilities/hv_utilreg.h projects/clang390-import/sys/dev/hyperv/vmbus/vmbus_chan.c projects/clang390-import/sys/dev/ichiic/ig4_iic.c projects/clang390-import/sys/dev/ichiic/ig4_pci.c projects/clang390-import/sys/dev/ichiic/ig4_reg.h projects/clang390-import/sys/dev/ichiic/ig4_var.h projects/clang390-import/sys/dev/ioat/ioat.c projects/clang390-import/sys/dev/ioat/ioat_internal.h projects/clang390-import/sys/dev/iwm/if_iwm.c projects/clang390-import/sys/dev/mpr/mpr.c projects/clang390-import/sys/dev/mpr/mpr_sas_lsi.c projects/clang390-import/sys/dev/mpr/mprvar.h projects/clang390-import/sys/dev/mps/mps.c projects/clang390-import/sys/dev/mps/mps_sas.c projects/clang390-import/sys/dev/mps/mps_sas_lsi.c projects/clang390-import/sys/dev/mps/mpsvar.h projects/clang390-import/sys/dev/sdhci/sdhci.c projects/clang390-import/sys/dev/smbus/smbus.c projects/clang390-import/sys/dev/usb/input/ums.c projects/clang390-import/sys/fs/nfsserver/nfs_nfsdport.c projects/clang390-import/sys/geom/geom_dev.c projects/clang390-import/sys/geom/geom_disk.c projects/clang390-import/sys/geom/geom_io.c projects/clang390-import/sys/geom/geom_subr.c projects/clang390-import/sys/geom/geom_vfs.c projects/clang390-import/sys/geom/part/g_part.c projects/clang390-import/sys/kern/vfs_bio.c projects/clang390-import/sys/kern/vfs_cluster.c projects/clang390-import/sys/kern/vfs_lookup.c projects/clang390-import/sys/kern/vfs_syscalls.c projects/clang390-import/sys/modules/hyperv/netvsc/Makefile projects/clang390-import/sys/netinet/cc/cc_cdg.c projects/clang390-import/sys/netinet/cc/cc_chd.c projects/clang390-import/sys/netinet/cc/cc_dctcp.c projects/clang390-import/sys/netinet/cc/cc_htcp.c projects/clang390-import/sys/netinet/cc/cc_newreno.c projects/clang390-import/sys/netinet/tcp_input.c projects/clang390-import/sys/netpfil/ipfw/ip_fw_pfil.c projects/clang390-import/sys/powerpc/include/spr.h projects/clang390-import/sys/sys/bio.h projects/clang390-import/sys/sys/buf.h projects/clang390-import/sys/sys/namei.h projects/clang390-import/sys/ufs/ffs/ffs_subr.c projects/clang390-import/sys/vm/vm_fault.c projects/clang390-import/sys/vm/vm_pager.c projects/clang390-import/tests/sys/kern/Makefile projects/clang390-import/usr.bin/calendar/Makefile projects/clang390-import/usr.sbin/autofs/autounmountd.c projects/clang390-import/usr.sbin/cpucontrol/Makefile projects/clang390-import/usr.sbin/cpucontrol/amd.h projects/clang390-import/usr.sbin/cpucontrol/cpucontrol.c projects/clang390-import/usr.sbin/cron/cron/cron.8 projects/clang390-import/usr.sbin/cron/cron/database.c projects/clang390-import/usr.sbin/rtadvd/if.c projects/clang390-import/usr.sbin/syslogd/syslog.conf.5 projects/clang390-import/usr.sbin/syslogd/syslogd.c Directory Properties: projects/clang390-import/ (props changed) projects/clang390-import/crypto/openssh/ (props changed) projects/clang390-import/gnu/lib/ (props changed) projects/clang390-import/sys/cddl/contrib/opensolaris/ (props changed) Modified: projects/clang390-import/Makefile.inc1 ============================================================================== --- projects/clang390-import/Makefile.inc1 Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/Makefile.inc1 Wed Nov 2 19:18:24 2016 (r308227) @@ -543,8 +543,8 @@ HMAKE+= PATH=${TMPPATH} METALOG=${METAL CROSSENV+= CC="${XCC} ${XCFLAGS}" CXX="${XCXX} ${XCXXFLAGS} ${XCFLAGS}" \ CPP="${XCPP} ${XCFLAGS}" \ - AS="${XAS}" AR="${XAR}" LD="${XLD}" NM=${XNM} \ - OBJCOPY="${XOBJCOPY}" \ + AS="${XAS}" AR="${XAR}" LD="${XLD}" LLVM_LINK="${XLLVM_LINK}" \ + NM=${XNM} OBJCOPY="${XOBJCOPY}" \ RANLIB=${XRANLIB} STRINGS=${XSTRINGS} \ SIZE="${XSIZE}" Modified: projects/clang390-import/contrib/hyperv/tools/hv_kvp_daemon.c ============================================================================== --- projects/clang390-import/contrib/hyperv/tools/hv_kvp_daemon.c Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/contrib/hyperv/tools/hv_kvp_daemon.c Wed Nov 2 19:18:24 2016 (r308227) @@ -52,9 +52,10 @@ #include #include #include +#include #include "hv_kvp.h" - +#include "hv_utilreg.h" typedef uint8_t __u8; typedef uint16_t __u16; typedef uint32_t __u32; @@ -684,18 +685,16 @@ kvp_get_ipconfig_info(char *if_name, str */ kvp_process_ipconfig_file(cmd, (char *)buffer->gate_way, (MAX_GATEWAY_SIZE * 2), INET_ADDRSTRLEN, 0); - /* * Retrieve the IPV6 address of default gateway. */ - snprintf(cmd, sizeof(cmd), "netstat -rn inet6 | grep %s | awk '/default/ {print $2 }", if_name); + snprintf(cmd, sizeof(cmd), "netstat -rn inet6 | grep %s | awk '/default/ {print $2 }'", if_name); /* * Execute the command to gather gateway IPV6 info. */ kvp_process_ipconfig_file(cmd, (char *)buffer->gate_way, (MAX_GATEWAY_SIZE * 2), INET6_ADDRSTRLEN, 1); - /* * we just invoke an external script to get the DNS info. * @@ -782,11 +781,11 @@ kvp_process_ip_address(void *addrp, } if ((length - *offset) < addr_length + 1) { - return (HV_KVP_E_FAIL); + return (EINVAL); } if (str == NULL) { strlcpy(buffer, "inet_ntop failed\n", length); - return (HV_KVP_E_FAIL); + return (errno); } if (*offset == 0) { strlcpy(buffer, tmp, length); @@ -832,7 +831,7 @@ kvp_get_ip_info(int family, char *if_nam if (getifaddrs(&ifap)) { strlcpy(buffer, "getifaddrs failed\n", buffer_length); - return (HV_KVP_E_FAIL); + return (errno); } curp = ifap; @@ -924,7 +923,6 @@ kvp_get_ip_info(int family, char *if_nam /* * Collect other ip configuration info. */ - kvp_get_ipconfig_info(if_name, ip_buffer); } @@ -954,7 +952,7 @@ kvp_write_file(FILE *f, const char *s1, ret = fprintf(f, "%s%s%s%s\n", s1, s2, "=", s3); if (ret < 0) { - return (HV_KVP_E_FAIL); + return (EIO); } return (0); @@ -979,7 +977,7 @@ kvp_set_ip_info(char *if_name, struct hv if (file == NULL) { KVP_LOG(LOG_ERR, "FreeBSD Failed to open config file\n"); - return (HV_KVP_E_FAIL); + return (errno); } /* @@ -988,7 +986,7 @@ kvp_set_ip_info(char *if_name, struct hv mac_addr = kvp_if_name_to_mac(if_name); if (mac_addr == NULL) { - error = HV_KVP_E_FAIL; + error = EINVAL; goto kvp_set_ip_info_error; } /* MAC Address */ @@ -1091,28 +1089,30 @@ kvp_op_getipinfo(struct hv_kvp_msg *op_m { struct hv_kvp_ipaddr_value *ip_val; char *if_name; + int error = 0; assert(op_msg != NULL); KVP_LOG(LOG_DEBUG, "In kvp_op_getipinfo.\n"); ip_val = &op_msg->body.kvp_ip_val; - op_msg->hdr.error = HV_KVP_S_OK; + op_msg->hdr.error = HV_S_OK; if_name = kvp_mac_to_if_name((char *)ip_val->adapter_id); if (if_name == NULL) { /* No interface found with the mac address. */ - op_msg->hdr.error = HV_KVP_E_FAIL; + op_msg->hdr.error = HV_E_FAIL; goto kvp_op_getipinfo_done; } - op_msg->hdr.error = kvp_get_ip_info(0, if_name, + error = kvp_get_ip_info(0, if_name, HV_KVP_OP_GET_IP_INFO, ip_val, (MAX_IP_ADDR_SIZE * 2)); - + if (error) + op_msg->hdr.error = HV_E_FAIL; free(if_name); kvp_op_getipinfo_done: - return(op_msg->hdr.error); + return (error); } @@ -1121,25 +1121,27 @@ kvp_op_setipinfo(struct hv_kvp_msg *op_m { struct hv_kvp_ipaddr_value *ip_val; char *if_name; + int error = 0; assert(op_msg != NULL); KVP_LOG(LOG_DEBUG, "In kvp_op_setipinfo.\n"); ip_val = &op_msg->body.kvp_ip_val; - op_msg->hdr.error = HV_KVP_S_OK; + op_msg->hdr.error = HV_S_OK; if_name = (char *)ip_val->adapter_id; if (if_name == NULL) { /* No adapter provided. */ - op_msg->hdr.error = HV_KVP_GUID_NOTFOUND; + op_msg->hdr.error = HV_GUID_NOTFOUND; goto kvp_op_setipinfo_done; } - op_msg->hdr.error = kvp_set_ip_info(if_name, ip_val); - + error = kvp_set_ip_info(if_name, ip_val); + if (error) + op_msg->hdr.error = HV_E_FAIL; kvp_op_setipinfo_done: - return(op_msg->hdr.error); + return (error); } @@ -1154,7 +1156,7 @@ kvp_op_setgetdel(struct hv_kvp_msg *op_m assert(op_hdlr != NULL); op_pool = op_msg->hdr.kvp_hdr.pool; - op_msg->hdr.error = HV_KVP_S_OK; + op_msg->hdr.error = HV_S_OK; switch(op_hdlr->kvp_op_key) { case HV_KVP_OP_SET: @@ -1198,8 +1200,7 @@ kvp_op_setgetdel(struct hv_kvp_msg *op_m } if (error != 0) - op_msg->hdr.error = HV_KVP_S_CONT; - + op_msg->hdr.error = HV_S_CONT; return(error); } @@ -1216,7 +1217,7 @@ kvp_op_enumerate(struct hv_kvp_msg *op_m op = op_msg->hdr.kvp_hdr.operation; op_pool = op_msg->hdr.kvp_hdr.pool; - op_msg->hdr.error = HV_KVP_S_OK; + op_msg->hdr.error = HV_S_OK; /* * If the pool is not HV_KVP_POOL_AUTO, read from the appropriate @@ -1229,7 +1230,7 @@ kvp_op_enumerate(struct hv_kvp_msg *op_m HV_KVP_EXCHANGE_MAX_KEY_SIZE, op_msg->body.kvp_enum_data.data.msg_value.value, HV_KVP_EXCHANGE_MAX_VALUE_SIZE)) { - op_msg->hdr.error = HV_KVP_S_CONT; + op_msg->hdr.error = HV_S_CONT; error = -1; } goto kvp_op_enumerate_done; @@ -1298,12 +1299,14 @@ kvp_op_enumerate(struct hv_kvp_msg *op_m KVP_LOG(LOG_ERR, "Auto pool Index %d not found.\n", op_msg->body.kvp_enum_data.index); #endif - op_msg->hdr.error = HV_KVP_S_CONT; + op_msg->hdr.error = HV_S_CONT; error = -1; break; } kvp_op_enumerate_done: + if (error != 0) + op_msg->hdr.error = HV_S_CONT; return(error); } @@ -1496,10 +1499,13 @@ main(int argc, char *argv[]) */ error = kvp_op_hdlrs[op].kvp_op_exec(hv_msg, (void *)&kvp_op_hdlrs[op]); - if (error != 0 && hv_msg->hdr.error != HV_KVP_S_CONT) - KVP_LOG(LOG_WARNING, - "Operation failed OP = %d, error = 0x%x\n", - op, error); + if (error != 0) { + assert(hv_msg->hdr.error != HV_S_OK); + if (hv_msg->hdr.error != HV_S_CONT) + KVP_LOG(LOG_WARNING, + "Operation failed OP = %d, error = 0x%x\n", + op, error); + } } /* Modified: projects/clang390-import/crypto/openssh/kex.c ============================================================================== --- projects/clang390-import/crypto/openssh/kex.c Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/crypto/openssh/kex.c Wed Nov 2 19:18:24 2016 (r308227) @@ -468,6 +468,7 @@ kex_input_kexinit(int type, u_int32_t se if (kex == NULL) return SSH_ERR_INVALID_ARGUMENT; + ssh_dispatch_set(ssh, SSH2_MSG_KEXINIT, NULL); ptr = sshpkt_ptr(ssh, &dlen); if ((r = sshbuf_put(kex->peer, ptr, dlen)) != 0) return r; Modified: projects/clang390-import/etc/Makefile ============================================================================== --- projects/clang390-import/etc/Makefile Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/etc/Makefile Wed Nov 2 19:18:24 2016 (r308227) @@ -459,7 +459,7 @@ distrib-dirs: ${MTREES:N/*} distrib-clea .endif etc-examples-install: ${META_DEPS} - cd ${.CURDIR}; ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 444 \ + cd ${.CURDIR}; ${INSTALL} ${TAG_ARGS} -o ${BINOWN} -g ${BINGRP} -m 444 \ ${BIN1} ${BIN2} nsmb.conf opieaccess \ ${DESTDIR}${SHAREDIR}/examples/etc Modified: projects/clang390-import/etc/mtree/BSD.root.dist ============================================================================== --- projects/clang390-import/etc/mtree/BSD.root.dist Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/etc/mtree/BSD.root.dist Wed Nov 2 19:18:24 2016 (r308227) @@ -78,6 +78,8 @@ .. ssl .. + syslog.d + .. zfs .. .. Modified: projects/clang390-import/etc/syslog.conf ============================================================================== --- projects/clang390-import/etc/syslog.conf Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/etc/syslog.conf Wed Nov 2 19:18:24 2016 (r308227) @@ -34,3 +34,5 @@ cron.* /var/log/cron !ppp *.* /var/log/ppp.log !* +include /etc/syslog.d +include /usr/local/etc/syslog.d Modified: projects/clang390-import/gnu/lib/libgcc/Makefile ============================================================================== --- projects/clang390-import/gnu/lib/libgcc/Makefile Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/gnu/lib/libgcc/Makefile Wed Nov 2 19:18:24 2016 (r308227) @@ -397,11 +397,11 @@ _libinstall: _lib-eh-install _lib-eh-install: .if ${MK_INSTALLLIB} != "no" - ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${INSTALL} ${TAG_ARGS} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} libgcc_eh.a ${DESTDIR}${LIBDIR} .endif .if ${MK_PROFILE} != "no" - ${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ + ${INSTALL} ${TAG_ARGS} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \ ${_INSTALLFLAGS} libgcc_eh_p.a ${DESTDIR}${LIBDIR} .endif Modified: projects/clang390-import/lib/libc/locale/collate.c ============================================================================== --- projects/clang390-import/lib/libc/locale/collate.c Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/lib/libc/locale/collate.c Wed Nov 2 19:18:24 2016 (r308227) @@ -53,6 +53,7 @@ __FBSDID("$FreeBSD$"); #include #include "un-namespace.h" +#include "endian.h" #include "collate.h" #include "setlocale.h" #include "ldpart.h" @@ -160,7 +161,7 @@ __collate_load_tables_l(const char *enco if ((info->directive_count < 1) || (info->directive_count >= COLL_WEIGHTS_MAX) || - ((chains = info->chain_count) < 0)) { + ((chains = BSWAP(info->chain_count)) < 0)) { (void) munmap(map, sbuf.st_size); errno = EINVAL; return (_LDP_ERROR); @@ -168,9 +169,9 @@ __collate_load_tables_l(const char *enco i = (sizeof (collate_char_t) * (UCHAR_MAX + 1)) + (sizeof (collate_chain_t) * chains) + - (sizeof (collate_large_t) * info->large_count); + (sizeof (collate_large_t) * BSWAP(info->large_count)); for (z = 0; z < info->directive_count; z++) { - i += sizeof (collate_subst_t) * info->subst_count[z]; + i += sizeof (collate_subst_t) * BSWAP(info->subst_count[z]); } if (i != (sbuf.st_size - (TMP - map))) { (void) munmap(map, sbuf.st_size); @@ -183,9 +184,9 @@ __collate_load_tables_l(const char *enco TMP += sizeof (collate_char_t) * (UCHAR_MAX + 1); for (z = 0; z < info->directive_count; z++) { - if (info->subst_count[z] > 0) { + if (BSWAP(info->subst_count[z]) > 0) { table->subst_table[z] = (void *)TMP; - TMP += info->subst_count[z] * sizeof (collate_subst_t); + TMP += BSWAP(info->subst_count[z]) * sizeof (collate_subst_t); } else { table->subst_table[z] = NULL; } @@ -196,7 +197,7 @@ __collate_load_tables_l(const char *enco TMP += chains * sizeof (collate_chain_t); } else table->chain_pri_table = NULL; - if (info->large_count > 0) + if (BSWAP(info->large_count) > 0) table->large_pri_table = (void *)TMP; else table->large_pri_table = NULL; @@ -209,7 +210,7 @@ static const int32_t * substsearch(struct xlocale_collate *table, const wchar_t key, int pass) { const collate_subst_t *p; - int n = table->info->subst_count[pass]; + int n = BSWAP(table->info->subst_count[pass]); if (n == 0) return (NULL); @@ -221,7 +222,8 @@ substsearch(struct xlocale_collate *tabl return (NULL); p = table->subst_table[pass] + (key & ~COLLATE_SUBST_PRIORITY); - assert(p->key == key); + assert(BSWAP(p->key) == key); + return (p->pri); } @@ -229,7 +231,7 @@ static collate_chain_t * chainsearch(struct xlocale_collate *table, const wchar_t *key, int *len) { int low = 0; - int high = table->info->chain_count - 1;; + int high = BSWAP(table->info->chain_count) - 1; int next, compar, l; collate_chain_t *p; collate_chain_t *tab = table->chain_pri_table; @@ -240,7 +242,7 @@ chainsearch(struct xlocale_collate *tabl while (low <= high) { next = (low + high) / 2; p = tab + next; - compar = *key - *p->str; + compar = *key - le16toh(*p->str); if (compar == 0) { l = wcsnlen(p->str, COLLATE_STR_LEN); compar = wcsncmp(key, p->str, l); @@ -261,7 +263,7 @@ static collate_large_t * largesearch(struct xlocale_collate *table, const wchar_t key) { int low = 0; - int high = table->info->large_count - 1; + int high = BSWAP(table->info->large_count) - 1; int next, compar; collate_large_t *p; collate_large_t *tab = table->large_pri_table; @@ -272,7 +274,7 @@ largesearch(struct xlocale_collate *tabl while (low <= high) { next = (low + high) / 2; p = tab + next; - compar = key - p->val; + compar = key - BSWAP(p->val); if (compar == 0) return (p); if (compar > 0) @@ -337,15 +339,15 @@ _collate_lookup(struct xlocale_collate * * Character is a small (8-bit) character. * We just look these up directly for speed. */ - *pri = table->char_pri_table[*t].pri[which]; + *pri = BSWAP(table->char_pri_table[*t].pri[which]); - } else if ((table->info->large_count > 0) && + } else if ((BSWAP(table->info->large_count) > 0) && ((match = largesearch(table, *t)) != NULL)) { /* * Character was found in the extended table. */ - *pri = match->pri.pri[which]; + *pri = BSWAP(match->pri.pri[which]); } else { /* @@ -355,7 +357,7 @@ _collate_lookup(struct xlocale_collate * /* Mask off sign bit to prevent ordering confusion. */ *pri = (*t & COLLATE_MAX_PRIORITY); } else { - *pri = table->info->undef_pri[which]; + *pri = BSWAP(table->info->undef_pri[which]); } /* No substitutions for undefined characters! */ return; @@ -374,9 +376,9 @@ _collate_lookup(struct xlocale_collate * * code ensures this for us. */ if ((sptr = substsearch(table, *pri, which)) != NULL) { - if ((*pri = *sptr) > 0) { + if ((*pri = BSWAP(*sptr)) > 0) { sptr++; - *state = *sptr ? sptr : NULL; + *state = BSWAP(*sptr) ? sptr : NULL; } } @@ -518,7 +520,7 @@ static int xfrm(struct xlocale_collate *table, unsigned char *p, int pri, int pass) { /* we use unsigned to ensure zero fill on right shift */ - uint32_t val = (uint32_t)table->info->pri_count[pass]; + uint32_t val = BSWAP((uint32_t)table->info->pri_count[pass]); int nc = 0; while (val) { @@ -678,7 +680,7 @@ __collate_equiv_value(locale_t locale, c e = -1; if (*str <= UCHAR_MAX) e = table->char_pri_table[*str].pri[0]; - else if (table->info->large_count > 0) { + else if (BSWAP(table->info->large_count) > 0) { collate_large_t *match_large; match_large = largesearch(table, *str); if (match_large) @@ -688,7 +690,7 @@ __collate_equiv_value(locale_t locale, c return (1); return (e > 0 ? e : 0); } - if (table->info->chain_count > 0) { + if (BSWAP(table->info->chain_count) > 0) { wchar_t name[COLLATE_STR_LEN]; collate_chain_t *match_chain; int clen; Copied: projects/clang390-import/lib/libc/locale/endian.h (from r308226, head/lib/libc/locale/endian.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang390-import/lib/libc/locale/endian.h Wed Nov 2 19:18:24 2016 (r308227, copy of r308226, head/lib/libc/locale/endian.h) @@ -0,0 +1,52 @@ +/*- + * Copyright (c) 2016 Ruslan Bukin + * All rights reserved. + * + * Portions of this software were developed by SRI International and the + * University of Cambridge Computer Laboratory under DARPA/AFRL contract + * FA8750-10-C-0237 ("CTSRD"), as part of the DARPA CRASH research programme. + * + * Portions of this software were developed by the University of Cambridge + * Computer Laboratory as part of the CTSRD Project, with support from the + * UK Higher Education Innovation Fund (HEIF). + * + * 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 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 + * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR 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$ + */ + +#include + +/* + * We assume locale files were generated on EL machine + * (e.g. during cross build on amd64 host), but used on EB + * machine (e.g. MIPS64EB), so convert it to host endianness. + * + * TODO: detect host endianness on the build machine and use + * correct macros here. + */ + +#if BYTE_ORDER == BIG_ENDIAN && defined(__mips__) +#define BSWAP(x) le32toh(x) +#else +#define BSWAP(x) x +#endif Modified: projects/clang390-import/lib/libc/locale/rune.c ============================================================================== --- projects/clang390-import/lib/libc/locale/rune.c Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/lib/libc/locale/rune.c Wed Nov 2 19:18:24 2016 (r308227) @@ -52,6 +52,7 @@ __FBSDID("$FreeBSD$"); #include #include "un-namespace.h" +#include "endian.h" #include "runefile.h" _RuneLocale * @@ -107,29 +108,29 @@ _Read_RuneMagi(const char *fname) } runetype_ext_ranges = (_FileRuneEntry *)variable; - variable = runetype_ext_ranges + frl->runetype_ext_nranges; + variable = runetype_ext_ranges + BSWAP(frl->runetype_ext_nranges); if (variable > lastp) { goto invalid; } maplower_ext_ranges = (_FileRuneEntry *)variable; - variable = maplower_ext_ranges + frl->maplower_ext_nranges; + variable = maplower_ext_ranges + BSWAP(frl->maplower_ext_nranges); if (variable > lastp) { goto invalid; } mapupper_ext_ranges = (_FileRuneEntry *)variable; - variable = mapupper_ext_ranges + frl->mapupper_ext_nranges; + variable = mapupper_ext_ranges + BSWAP(frl->mapupper_ext_nranges); if (variable > lastp) { goto invalid; } frr = runetype_ext_ranges; - for (x = 0; x < frl->runetype_ext_nranges; ++x) { + for (x = 0; x < BSWAP(frl->runetype_ext_nranges); ++x) { uint32_t *types; - if (frr[x].map == 0) { - int len = frr[x].max - frr[x].min + 1; + if (BSWAP(frr[x].map) == 0) { + int len = BSWAP(frr[x].max) - BSWAP(frr[x].min) + 1; types = variable; variable = types + len; runetype_ext_len += len; @@ -139,7 +140,7 @@ _Read_RuneMagi(const char *fname) } } - if ((char *)variable + frl->variable_len > (char *)lastp) { + if ((char *)variable + BSWAP(frl->variable_len) > (char *)lastp) { goto invalid; } @@ -147,10 +148,10 @@ _Read_RuneMagi(const char *fname) * Convert from disk format to host format. */ data = malloc(sizeof(_RuneLocale) + - (frl->runetype_ext_nranges + frl->maplower_ext_nranges + - frl->mapupper_ext_nranges) * sizeof(_RuneEntry) + + (BSWAP(frl->runetype_ext_nranges) + BSWAP(frl->maplower_ext_nranges) + + BSWAP(frl->mapupper_ext_nranges)) * sizeof(_RuneEntry) + runetype_ext_len * sizeof(*rr->__types) + - frl->variable_len); + BSWAP(frl->variable_len)); if (data == NULL) { saverr = errno; munmap(fdata, sb.st_size); @@ -164,15 +165,15 @@ _Read_RuneMagi(const char *fname) memcpy(rl->__magic, _RUNE_MAGIC_1, sizeof(rl->__magic)); memcpy(rl->__encoding, frl->encoding, sizeof(rl->__encoding)); - rl->__variable_len = frl->variable_len; - rl->__runetype_ext.__nranges = frl->runetype_ext_nranges; - rl->__maplower_ext.__nranges = frl->maplower_ext_nranges; - rl->__mapupper_ext.__nranges = frl->mapupper_ext_nranges; + rl->__variable_len = BSWAP(frl->variable_len); + rl->__runetype_ext.__nranges = BSWAP(frl->runetype_ext_nranges); + rl->__maplower_ext.__nranges = BSWAP(frl->maplower_ext_nranges); + rl->__mapupper_ext.__nranges = BSWAP(frl->mapupper_ext_nranges); for (x = 0; x < _CACHED_RUNES; ++x) { - rl->__runetype[x] = frl->runetype[x]; - rl->__maplower[x] = frl->maplower[x]; - rl->__mapupper[x] = frl->mapupper[x]; + rl->__runetype[x] = BSWAP(frl->runetype[x]); + rl->__maplower[x] = BSWAP(frl->maplower[x]); + rl->__mapupper[x] = BSWAP(frl->mapupper[x]); } rl->__runetype_ext.__ranges = (_RuneEntry *)rl->__variable; @@ -187,15 +188,15 @@ _Read_RuneMagi(const char *fname) rl->__variable = rl->__mapupper_ext.__ranges + rl->__mapupper_ext.__nranges; - variable = mapupper_ext_ranges + frl->mapupper_ext_nranges; + variable = mapupper_ext_ranges + BSWAP(frl->mapupper_ext_nranges); frr = runetype_ext_ranges; rr = rl->__runetype_ext.__ranges; for (x = 0; x < rl->__runetype_ext.__nranges; ++x) { uint32_t *types; - rr[x].__min = frr[x].min; - rr[x].__max = frr[x].max; - rr[x].__map = frr[x].map; + rr[x].__min = BSWAP(frr[x].min); + rr[x].__max = BSWAP(frr[x].max); + rr[x].__map = BSWAP(frr[x].map); if (rr[x].__map == 0) { int len = rr[x].__max - rr[x].__min + 1; types = variable; @@ -211,17 +212,17 @@ _Read_RuneMagi(const char *fname) frr = maplower_ext_ranges; rr = rl->__maplower_ext.__ranges; for (x = 0; x < rl->__maplower_ext.__nranges; ++x) { - rr[x].__min = frr[x].min; - rr[x].__max = frr[x].max; - rr[x].__map = frr[x].map; + rr[x].__min = BSWAP(frr[x].min); + rr[x].__max = BSWAP(frr[x].max); + rr[x].__map = BSWAP(frr[x].map); } frr = mapupper_ext_ranges; rr = rl->__mapupper_ext.__ranges; for (x = 0; x < rl->__mapupper_ext.__nranges; ++x) { - rr[x].__min = frr[x].min; - rr[x].__max = frr[x].max; - rr[x].__map = frr[x].map; + rr[x].__min = BSWAP(frr[x].min); + rr[x].__max = BSWAP(frr[x].max); + rr[x].__map = BSWAP(frr[x].map); } memcpy(rl->__variable, variable, rl->__variable_len); Modified: projects/clang390-import/lib/msun/ld80/k_expl.h ============================================================================== --- projects/clang390-import/lib/msun/ld80/k_expl.h Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/lib/msun/ld80/k_expl.h Wed Nov 2 19:18:24 2016 (r308227) @@ -75,140 +75,140 @@ static const struct { double hi; double lo; } tbl[INTERVALS] = { - 0x1p+0, 0x0p+0, + { 0x1p+0, 0x0p+0 }, /* * XXX hi is rounded down, and the formatting is not quite normal. * But I rather like both. The 0x1.*p format is good for 4N+1 * mantissa bits. Rounding down makes the lo terms positive, * so that the columnar formatting can be simpler. */ - 0x1.0163da9fb3335p+0, 0x1.b61299ab8cdb7p-54, - 0x1.02c9a3e778060p+0, 0x1.dcdef95949ef4p-53, - 0x1.04315e86e7f84p+0, 0x1.7ae71f3441b49p-53, - 0x1.059b0d3158574p+0, 0x1.d73e2a475b465p-55, - 0x1.0706b29ddf6ddp+0, 0x1.8db880753b0f6p-53, - 0x1.0874518759bc8p+0, 0x1.186be4bb284ffp-57, - 0x1.09e3ecac6f383p+0, 0x1.1487818316136p-54, - 0x1.0b5586cf9890fp+0, 0x1.8a62e4adc610bp-54, - 0x1.0cc922b7247f7p+0, 0x1.01edc16e24f71p-54, - 0x1.0e3ec32d3d1a2p+0, 0x1.03a1727c57b53p-59, - 0x1.0fb66affed31ap+0, 0x1.e464123bb1428p-53, - 0x1.11301d0125b50p+0, 0x1.49d77e35db263p-53, - 0x1.12abdc06c31cbp+0, 0x1.f72575a649ad2p-53, - 0x1.1429aaea92ddfp+0, 0x1.66820328764b1p-53, - 0x1.15a98c8a58e51p+0, 0x1.2406ab9eeab0ap-55, - 0x1.172b83c7d517ap+0, 0x1.b9bef918a1d63p-53, - 0x1.18af9388c8de9p+0, 0x1.777ee1734784ap-53, - 0x1.1a35beb6fcb75p+0, 0x1.e5b4c7b4968e4p-55, - 0x1.1bbe084045cd3p+0, 0x1.3563ce56884fcp-53, - 0x1.1d4873168b9aap+0, 0x1.e016e00a2643cp-54, - 0x1.1ed5022fcd91cp+0, 0x1.71033fec2243ap-53, - 0x1.2063b88628cd6p+0, 0x1.dc775814a8495p-55, - 0x1.21f49917ddc96p+0, 0x1.2a97e9494a5eep-55, - 0x1.2387a6e756238p+0, 0x1.9b07eb6c70573p-54, - 0x1.251ce4fb2a63fp+0, 0x1.ac155bef4f4a4p-55, - 0x1.26b4565e27cddp+0, 0x1.2bd339940e9d9p-55, - 0x1.284dfe1f56380p+0, 0x1.2d9e2b9e07941p-53, - 0x1.29e9df51fdee1p+0, 0x1.612e8afad1255p-55, - 0x1.2b87fd0dad98fp+0, 0x1.fbbd48ca71f95p-53, - 0x1.2d285a6e4030bp+0, 0x1.0024754db41d5p-54, - 0x1.2ecafa93e2f56p+0, 0x1.1ca0f45d52383p-56, - 0x1.306fe0a31b715p+0, 0x1.6f46ad23182e4p-55, - 0x1.32170fc4cd831p+0, 0x1.a9ce78e18047cp-55, - 0x1.33c08b26416ffp+0, 0x1.32721843659a6p-54, - 0x1.356c55f929ff0p+0, 0x1.928c468ec6e76p-53, - 0x1.371a7373aa9cap+0, 0x1.4e28aa05e8a8fp-53, - 0x1.38cae6d05d865p+0, 0x1.0b53961b37da2p-53, - 0x1.3a7db34e59ff6p+0, 0x1.d43792533c144p-53, - 0x1.3c32dc313a8e4p+0, 0x1.08003e4516b1ep-53, - 0x1.3dea64c123422p+0, 0x1.ada0911f09ebcp-55, - 0x1.3fa4504ac801bp+0, 0x1.417ee03548306p-53, - 0x1.4160a21f72e29p+0, 0x1.f0864b71e7b6cp-53, - 0x1.431f5d950a896p+0, 0x1.b8e088728219ap-53, - 0x1.44e086061892dp+0, 0x1.89b7a04ef80d0p-59, - 0x1.46a41ed1d0057p+0, 0x1.c944bd1648a76p-54, - 0x1.486a2b5c13cd0p+0, 0x1.3c1a3b69062f0p-56, - 0x1.4a32af0d7d3dep+0, 0x1.9cb62f3d1be56p-54, - 0x1.4bfdad5362a27p+0, 0x1.d4397afec42e2p-56, - 0x1.4dcb299fddd0dp+0, 0x1.8ecdbbc6a7833p-54, - 0x1.4f9b2769d2ca6p+0, 0x1.5a67b16d3540ep-53, - 0x1.516daa2cf6641p+0, 0x1.8225ea5909b04p-53, - 0x1.5342b569d4f81p+0, 0x1.be1507893b0d5p-53, - 0x1.551a4ca5d920ep+0, 0x1.8a5d8c4048699p-53, - 0x1.56f4736b527dap+0, 0x1.9bb2c011d93adp-54, - 0x1.58d12d497c7fdp+0, 0x1.295e15b9a1de8p-55, - 0x1.5ab07dd485429p+0, 0x1.6324c054647adp-54, - 0x1.5c9268a5946b7p+0, 0x1.c4b1b816986a2p-60, - 0x1.5e76f15ad2148p+0, 0x1.ba6f93080e65ep-54, - 0x1.605e1b976dc08p+0, 0x1.60edeb25490dcp-53, - 0x1.6247eb03a5584p+0, 0x1.63e1f40dfa5b5p-53, - 0x1.6434634ccc31fp+0, 0x1.8edf0e2989db3p-53, - 0x1.6623882552224p+0, 0x1.224fb3c5371e6p-53, - 0x1.68155d44ca973p+0, 0x1.038ae44f73e65p-57, - 0x1.6a09e667f3bccp+0, 0x1.21165f626cdd5p-53, - 0x1.6c012750bdabep+0, 0x1.daed533001e9ep-53, - 0x1.6dfb23c651a2ep+0, 0x1.e441c597c3775p-53, - 0x1.6ff7df9519483p+0, 0x1.9f0fc369e7c42p-53, - 0x1.71f75e8ec5f73p+0, 0x1.ba46e1e5de15ap-53, - 0x1.73f9a48a58173p+0, 0x1.7ab9349cd1562p-53, - 0x1.75feb564267c8p+0, 0x1.7edd354674916p-53, - 0x1.780694fde5d3fp+0, 0x1.866b80a02162dp-54, - 0x1.7a11473eb0186p+0, 0x1.afaa2047ed9b4p-53, - 0x1.7c1ed0130c132p+0, 0x1.f124cd1164dd6p-54, - 0x1.7e2f336cf4e62p+0, 0x1.05d02ba15797ep-56, - 0x1.80427543e1a11p+0, 0x1.6c1bccec9346bp-53, - 0x1.82589994cce12p+0, 0x1.159f115f56694p-53, - 0x1.8471a4623c7acp+0, 0x1.9ca5ed72f8c81p-53, - 0x1.868d99b4492ecp+0, 0x1.01c83b21584a3p-53, - 0x1.88ac7d98a6699p+0, 0x1.994c2f37cb53ap-54, - 0x1.8ace5422aa0dbp+0, 0x1.6e9f156864b27p-54, - 0x1.8cf3216b5448bp+0, 0x1.de55439a2c38bp-53, - 0x1.8f1ae99157736p+0, 0x1.5cc13a2e3976cp-55, - 0x1.9145b0b91ffc5p+0, 0x1.114c368d3ed6ep-53, - 0x1.93737b0cdc5e4p+0, 0x1.e8a0387e4a814p-53, - 0x1.95a44cbc8520ep+0, 0x1.d36906d2b41f9p-53, - 0x1.97d829fde4e4fp+0, 0x1.173d241f23d18p-53, - 0x1.9a0f170ca07b9p+0, 0x1.7462137188ce7p-53, - 0x1.9c49182a3f090p+0, 0x1.c7c46b071f2bep-56, - 0x1.9e86319e32323p+0, 0x1.824ca78e64c6ep-56, - 0x1.a0c667b5de564p+0, 0x1.6535b51719567p-53, - 0x1.a309bec4a2d33p+0, 0x1.6305c7ddc36abp-54, - 0x1.a5503b23e255cp+0, 0x1.1684892395f0fp-53, - 0x1.a799e1330b358p+0, 0x1.bcb7ecac563c7p-54, - 0x1.a9e6b5579fdbfp+0, 0x1.0fac90ef7fd31p-54, - 0x1.ac36bbfd3f379p+0, 0x1.81b72cd4624ccp-53, - 0x1.ae89f995ad3adp+0, 0x1.7a1cd345dcc81p-54, - 0x1.b0e07298db665p+0, 0x1.2108559bf8deep-53, - 0x1.b33a2b84f15fap+0, 0x1.ed7fa1cf7b290p-53, - 0x1.b59728de55939p+0, 0x1.1c7102222c90ep-53, - 0x1.b7f76f2fb5e46p+0, 0x1.d54f610356a79p-53, - 0x1.ba5b030a10649p+0, 0x1.0819678d5eb69p-53, - 0x1.bcc1e904bc1d2p+0, 0x1.23dd07a2d9e84p-55, - 0x1.bf2c25bd71e08p+0, 0x1.0811ae04a31c7p-53, - 0x1.c199bdd85529cp+0, 0x1.11065895048ddp-55, - 0x1.c40ab5fffd07ap+0, 0x1.b4537e083c60ap-54, - 0x1.c67f12e57d14bp+0, 0x1.2884dff483cadp-54, - 0x1.c8f6d9406e7b5p+0, 0x1.1acbc48805c44p-56, - 0x1.cb720dcef9069p+0, 0x1.503cbd1e949dbp-56, - 0x1.cdf0b555dc3f9p+0, 0x1.889f12b1f58a3p-53, - 0x1.d072d4a07897bp+0, 0x1.1a1e45e4342b2p-53, - 0x1.d2f87080d89f1p+0, 0x1.15bc247313d44p-53, - 0x1.d5818dcfba487p+0, 0x1.2ed02d75b3707p-55, - 0x1.d80e316c98397p+0, 0x1.7709f3a09100cp-53, - 0x1.da9e603db3285p+0, 0x1.c2300696db532p-54, - 0x1.dd321f301b460p+0, 0x1.2da5778f018c3p-54, - 0x1.dfc97337b9b5ep+0, 0x1.72d195873da52p-53, - 0x1.e264614f5a128p+0, 0x1.424ec3f42f5b5p-53, - 0x1.e502ee78b3ff6p+0, 0x1.39e8980a9cc8fp-55, - 0x1.e7a51fbc74c83p+0, 0x1.2d522ca0c8de2p-54, - 0x1.ea4afa2a490d9p+0, 0x1.0b1ee7431ebb6p-53, - 0x1.ecf482d8e67f0p+0, 0x1.1b60625f7293ap-53, - 0x1.efa1bee615a27p+0, 0x1.dc7f486a4b6b0p-54, - 0x1.f252b376bba97p+0, 0x1.3a1a5bf0d8e43p-54, - 0x1.f50765b6e4540p+0, 0x1.9d3e12dd8a18bp-54, - 0x1.f7bfdad9cbe13p+0, 0x1.1227697fce57bp-53, - 0x1.fa7c1819e90d8p+0, 0x1.74853f3a5931ep-55, - 0x1.fd3c22b8f71f1p+0, 0x1.2eb74966579e7p-57 + { 0x1.0163da9fb3335p+0, 0x1.b61299ab8cdb7p-54 }, + { 0x1.02c9a3e778060p+0, 0x1.dcdef95949ef4p-53 }, + { 0x1.04315e86e7f84p+0, 0x1.7ae71f3441b49p-53 }, + { 0x1.059b0d3158574p+0, 0x1.d73e2a475b465p-55 }, + { 0x1.0706b29ddf6ddp+0, 0x1.8db880753b0f6p-53 }, + { 0x1.0874518759bc8p+0, 0x1.186be4bb284ffp-57 }, + { 0x1.09e3ecac6f383p+0, 0x1.1487818316136p-54 }, + { 0x1.0b5586cf9890fp+0, 0x1.8a62e4adc610bp-54 }, + { 0x1.0cc922b7247f7p+0, 0x1.01edc16e24f71p-54 }, + { 0x1.0e3ec32d3d1a2p+0, 0x1.03a1727c57b53p-59 }, + { 0x1.0fb66affed31ap+0, 0x1.e464123bb1428p-53 }, + { 0x1.11301d0125b50p+0, 0x1.49d77e35db263p-53 }, + { 0x1.12abdc06c31cbp+0, 0x1.f72575a649ad2p-53 }, + { 0x1.1429aaea92ddfp+0, 0x1.66820328764b1p-53 }, + { 0x1.15a98c8a58e51p+0, 0x1.2406ab9eeab0ap-55 }, + { 0x1.172b83c7d517ap+0, 0x1.b9bef918a1d63p-53 }, + { 0x1.18af9388c8de9p+0, 0x1.777ee1734784ap-53 }, + { 0x1.1a35beb6fcb75p+0, 0x1.e5b4c7b4968e4p-55 }, + { 0x1.1bbe084045cd3p+0, 0x1.3563ce56884fcp-53 }, + { 0x1.1d4873168b9aap+0, 0x1.e016e00a2643cp-54 }, + { 0x1.1ed5022fcd91cp+0, 0x1.71033fec2243ap-53 }, + { 0x1.2063b88628cd6p+0, 0x1.dc775814a8495p-55 }, + { 0x1.21f49917ddc96p+0, 0x1.2a97e9494a5eep-55 }, + { 0x1.2387a6e756238p+0, 0x1.9b07eb6c70573p-54 }, + { 0x1.251ce4fb2a63fp+0, 0x1.ac155bef4f4a4p-55 }, + { 0x1.26b4565e27cddp+0, 0x1.2bd339940e9d9p-55 }, + { 0x1.284dfe1f56380p+0, 0x1.2d9e2b9e07941p-53 }, + { 0x1.29e9df51fdee1p+0, 0x1.612e8afad1255p-55 }, + { 0x1.2b87fd0dad98fp+0, 0x1.fbbd48ca71f95p-53 }, + { 0x1.2d285a6e4030bp+0, 0x1.0024754db41d5p-54 }, + { 0x1.2ecafa93e2f56p+0, 0x1.1ca0f45d52383p-56 }, + { 0x1.306fe0a31b715p+0, 0x1.6f46ad23182e4p-55 }, + { 0x1.32170fc4cd831p+0, 0x1.a9ce78e18047cp-55 }, + { 0x1.33c08b26416ffp+0, 0x1.32721843659a6p-54 }, + { 0x1.356c55f929ff0p+0, 0x1.928c468ec6e76p-53 }, + { 0x1.371a7373aa9cap+0, 0x1.4e28aa05e8a8fp-53 }, + { 0x1.38cae6d05d865p+0, 0x1.0b53961b37da2p-53 }, + { 0x1.3a7db34e59ff6p+0, 0x1.d43792533c144p-53 }, + { 0x1.3c32dc313a8e4p+0, 0x1.08003e4516b1ep-53 }, + { 0x1.3dea64c123422p+0, 0x1.ada0911f09ebcp-55 }, + { 0x1.3fa4504ac801bp+0, 0x1.417ee03548306p-53 }, + { 0x1.4160a21f72e29p+0, 0x1.f0864b71e7b6cp-53 }, + { 0x1.431f5d950a896p+0, 0x1.b8e088728219ap-53 }, + { 0x1.44e086061892dp+0, 0x1.89b7a04ef80d0p-59 }, + { 0x1.46a41ed1d0057p+0, 0x1.c944bd1648a76p-54 }, + { 0x1.486a2b5c13cd0p+0, 0x1.3c1a3b69062f0p-56 }, + { 0x1.4a32af0d7d3dep+0, 0x1.9cb62f3d1be56p-54 }, + { 0x1.4bfdad5362a27p+0, 0x1.d4397afec42e2p-56 }, + { 0x1.4dcb299fddd0dp+0, 0x1.8ecdbbc6a7833p-54 }, + { 0x1.4f9b2769d2ca6p+0, 0x1.5a67b16d3540ep-53 }, + { 0x1.516daa2cf6641p+0, 0x1.8225ea5909b04p-53 }, + { 0x1.5342b569d4f81p+0, 0x1.be1507893b0d5p-53 }, + { 0x1.551a4ca5d920ep+0, 0x1.8a5d8c4048699p-53 }, + { 0x1.56f4736b527dap+0, 0x1.9bb2c011d93adp-54 }, + { 0x1.58d12d497c7fdp+0, 0x1.295e15b9a1de8p-55 }, + { 0x1.5ab07dd485429p+0, 0x1.6324c054647adp-54 }, + { 0x1.5c9268a5946b7p+0, 0x1.c4b1b816986a2p-60 }, + { 0x1.5e76f15ad2148p+0, 0x1.ba6f93080e65ep-54 }, + { 0x1.605e1b976dc08p+0, 0x1.60edeb25490dcp-53 }, + { 0x1.6247eb03a5584p+0, 0x1.63e1f40dfa5b5p-53 }, + { 0x1.6434634ccc31fp+0, 0x1.8edf0e2989db3p-53 }, + { 0x1.6623882552224p+0, 0x1.224fb3c5371e6p-53 }, + { 0x1.68155d44ca973p+0, 0x1.038ae44f73e65p-57 }, + { 0x1.6a09e667f3bccp+0, 0x1.21165f626cdd5p-53 }, + { 0x1.6c012750bdabep+0, 0x1.daed533001e9ep-53 }, + { 0x1.6dfb23c651a2ep+0, 0x1.e441c597c3775p-53 }, + { 0x1.6ff7df9519483p+0, 0x1.9f0fc369e7c42p-53 }, + { 0x1.71f75e8ec5f73p+0, 0x1.ba46e1e5de15ap-53 }, + { 0x1.73f9a48a58173p+0, 0x1.7ab9349cd1562p-53 }, + { 0x1.75feb564267c8p+0, 0x1.7edd354674916p-53 }, + { 0x1.780694fde5d3fp+0, 0x1.866b80a02162dp-54 }, + { 0x1.7a11473eb0186p+0, 0x1.afaa2047ed9b4p-53 }, + { 0x1.7c1ed0130c132p+0, 0x1.f124cd1164dd6p-54 }, + { 0x1.7e2f336cf4e62p+0, 0x1.05d02ba15797ep-56 }, + { 0x1.80427543e1a11p+0, 0x1.6c1bccec9346bp-53 }, + { 0x1.82589994cce12p+0, 0x1.159f115f56694p-53 }, + { 0x1.8471a4623c7acp+0, 0x1.9ca5ed72f8c81p-53 }, + { 0x1.868d99b4492ecp+0, 0x1.01c83b21584a3p-53 }, + { 0x1.88ac7d98a6699p+0, 0x1.994c2f37cb53ap-54 }, + { 0x1.8ace5422aa0dbp+0, 0x1.6e9f156864b27p-54 }, + { 0x1.8cf3216b5448bp+0, 0x1.de55439a2c38bp-53 }, + { 0x1.8f1ae99157736p+0, 0x1.5cc13a2e3976cp-55 }, + { 0x1.9145b0b91ffc5p+0, 0x1.114c368d3ed6ep-53 }, + { 0x1.93737b0cdc5e4p+0, 0x1.e8a0387e4a814p-53 }, + { 0x1.95a44cbc8520ep+0, 0x1.d36906d2b41f9p-53 }, + { 0x1.97d829fde4e4fp+0, 0x1.173d241f23d18p-53 }, + { 0x1.9a0f170ca07b9p+0, 0x1.7462137188ce7p-53 }, + { 0x1.9c49182a3f090p+0, 0x1.c7c46b071f2bep-56 }, + { 0x1.9e86319e32323p+0, 0x1.824ca78e64c6ep-56 }, + { 0x1.a0c667b5de564p+0, 0x1.6535b51719567p-53 }, + { 0x1.a309bec4a2d33p+0, 0x1.6305c7ddc36abp-54 }, + { 0x1.a5503b23e255cp+0, 0x1.1684892395f0fp-53 }, + { 0x1.a799e1330b358p+0, 0x1.bcb7ecac563c7p-54 }, + { 0x1.a9e6b5579fdbfp+0, 0x1.0fac90ef7fd31p-54 }, + { 0x1.ac36bbfd3f379p+0, 0x1.81b72cd4624ccp-53 }, + { 0x1.ae89f995ad3adp+0, 0x1.7a1cd345dcc81p-54 }, + { 0x1.b0e07298db665p+0, 0x1.2108559bf8deep-53 }, + { 0x1.b33a2b84f15fap+0, 0x1.ed7fa1cf7b290p-53 }, + { 0x1.b59728de55939p+0, 0x1.1c7102222c90ep-53 }, + { 0x1.b7f76f2fb5e46p+0, 0x1.d54f610356a79p-53 }, + { 0x1.ba5b030a10649p+0, 0x1.0819678d5eb69p-53 }, + { 0x1.bcc1e904bc1d2p+0, 0x1.23dd07a2d9e84p-55 }, + { 0x1.bf2c25bd71e08p+0, 0x1.0811ae04a31c7p-53 }, + { 0x1.c199bdd85529cp+0, 0x1.11065895048ddp-55 }, + { 0x1.c40ab5fffd07ap+0, 0x1.b4537e083c60ap-54 }, + { 0x1.c67f12e57d14bp+0, 0x1.2884dff483cadp-54 }, + { 0x1.c8f6d9406e7b5p+0, 0x1.1acbc48805c44p-56 }, + { 0x1.cb720dcef9069p+0, 0x1.503cbd1e949dbp-56 }, + { 0x1.cdf0b555dc3f9p+0, 0x1.889f12b1f58a3p-53 }, + { 0x1.d072d4a07897bp+0, 0x1.1a1e45e4342b2p-53 }, + { 0x1.d2f87080d89f1p+0, 0x1.15bc247313d44p-53 }, + { 0x1.d5818dcfba487p+0, 0x1.2ed02d75b3707p-55 }, + { 0x1.d80e316c98397p+0, 0x1.7709f3a09100cp-53 }, + { 0x1.da9e603db3285p+0, 0x1.c2300696db532p-54 }, + { 0x1.dd321f301b460p+0, 0x1.2da5778f018c3p-54 }, + { 0x1.dfc97337b9b5ep+0, 0x1.72d195873da52p-53 }, + { 0x1.e264614f5a128p+0, 0x1.424ec3f42f5b5p-53 }, + { 0x1.e502ee78b3ff6p+0, 0x1.39e8980a9cc8fp-55 }, + { 0x1.e7a51fbc74c83p+0, 0x1.2d522ca0c8de2p-54 }, + { 0x1.ea4afa2a490d9p+0, 0x1.0b1ee7431ebb6p-53 }, + { 0x1.ecf482d8e67f0p+0, 0x1.1b60625f7293ap-53 }, + { 0x1.efa1bee615a27p+0, 0x1.dc7f486a4b6b0p-54 }, + { 0x1.f252b376bba97p+0, 0x1.3a1a5bf0d8e43p-54 }, + { 0x1.f50765b6e4540p+0, 0x1.9d3e12dd8a18bp-54 }, + { 0x1.f7bfdad9cbe13p+0, 0x1.1227697fce57bp-53 }, + { 0x1.fa7c1819e90d8p+0, 0x1.74853f3a5931ep-55 }, + { 0x1.fd3c22b8f71f1p+0, 0x1.2eb74966579e7p-57 } }; /* Modified: projects/clang390-import/lib/msun/ld80/s_logl.c ============================================================================== --- projects/clang390-import/lib/msun/ld80/s_logl.c Wed Nov 2 18:11:06 2016 (r308226) +++ projects/clang390-import/lib/msun/ld80/s_logl.c Wed Nov 2 19:18:24 2016 (r308227) @@ -152,135 +152,135 @@ static const struct { * mainly to minimize the size of the table. Using all 24 bits * in a float for it automatically satisfies the above constraints. */ - 0x800000.0p-23, 0, 0, - 0xfe0000.0p-24, 0x8080ac.0p-30, -0x14ee431dae6675.0p-84, - 0xfc0000.0p-24, 0x8102b3.0p-29, -0x1db29ee2d83718.0p-84, - 0xfa0000.0p-24, 0xc24929.0p-29, 0x1191957d173698.0p-83, - 0xf80000.0p-24, 0x820aec.0p-28, 0x13ce8888e02e79.0p-82, - 0xf60000.0p-24, 0xa33577.0p-28, -0x17a4382ce6eb7c.0p-82, - 0xf48000.0p-24, 0xbc42cb.0p-28, -0x172a21161a1076.0p-83, - 0xf30000.0p-24, 0xd57797.0p-28, -0x1e09de07cb9589.0p-82, - 0xf10000.0p-24, 0xf7518e.0p-28, 0x1ae1eec1b036c5.0p-91, - 0xef0000.0p-24, 0x8cb9df.0p-27, -0x1d7355325d560e.0p-81, - 0xed8000.0p-24, 0x999ec0.0p-27, -0x1f9f02d256d503.0p-82, - 0xec0000.0p-24, 0xa6988b.0p-27, -0x16fc0a9d12c17a.0p-83, - 0xea0000.0p-24, 0xb80698.0p-27, 0x15d581c1e8da9a.0p-81, - 0xe80000.0p-24, 0xc99af3.0p-27, -0x1535b3ba8f150b.0p-83, - 0xe70000.0p-24, 0xd273b2.0p-27, 0x163786f5251af0.0p-85, - 0xe50000.0p-24, 0xe442c0.0p-27, 0x1bc4b2368e32d5.0p-84, - 0xe38000.0p-24, 0xf1b83f.0p-27, 0x1c6090f684e676.0p-81, - 0xe20000.0p-24, 0xff448a.0p-27, -0x1890aa69ac9f42.0p-82, - 0xe08000.0p-24, 0x8673f6.0p-26, 0x1b9985194b6b00.0p-80, - 0xdf0000.0p-24, 0x8d515c.0p-26, -0x1dc08d61c6ef1e.0p-83, - 0xdd8000.0p-24, 0x943a9e.0p-26, -0x1f72a2dac729b4.0p-82, - 0xdc0000.0p-24, 0x9b2fe6.0p-26, -0x1fd4dfd3a0afb9.0p-80, - 0xda8000.0p-24, 0xa2315d.0p-26, -0x11b26121629c47.0p-82, - 0xd90000.0p-24, 0xa93f2f.0p-26, 0x1286d633e8e569.0p-81, - 0xd78000.0p-24, 0xb05988.0p-26, 0x16128eba936770.0p-84, - 0xd60000.0p-24, 0xb78094.0p-26, 0x16ead577390d32.0p-80, - 0xd50000.0p-24, 0xbc4c6c.0p-26, 0x151131ccf7c7b7.0p-81, - 0xd38000.0p-24, 0xc3890a.0p-26, -0x115e2cd714bd06.0p-80, - 0xd20000.0p-24, 0xcad2d7.0p-26, -0x1847f406ebd3b0.0p-82, - 0xd10000.0p-24, 0xcfb620.0p-26, 0x1c2259904d6866.0p-81, - 0xcf8000.0p-24, 0xd71653.0p-26, 0x1ece57a8d5ae55.0p-80, - 0xce0000.0p-24, 0xde843a.0p-26, -0x1f109d4bc45954.0p-81, - 0xcd0000.0p-24, 0xe37fde.0p-26, 0x1bc03dc271a74d.0p-81, - 0xcb8000.0p-24, 0xeb050c.0p-26, -0x1bf2badc0df842.0p-85, - 0xca0000.0p-24, 0xf29878.0p-26, -0x18efededd89fbe.0p-87, - 0xc90000.0p-24, 0xf7ad6f.0p-26, 0x1373ff977baa69.0p-81, - 0xc80000.0p-24, 0xfcc8e3.0p-26, 0x196766f2fb3283.0p-80, - 0xc68000.0p-24, 0x823f30.0p-25, 0x19bd076f7c434e.0p-79, - 0xc58000.0p-24, 0x84d52c.0p-25, -0x1a327257af0f46.0p-79, - 0xc40000.0p-24, 0x88bc74.0p-25, 0x113f23def19c5a.0p-81, - 0xc30000.0p-24, 0x8b5ae6.0p-25, 0x1759f6e6b37de9.0p-79, - 0xc20000.0p-24, 0x8dfccb.0p-25, 0x1ad35ca6ed5148.0p-81, - 0xc10000.0p-24, 0x90a22b.0p-25, 0x1a1d71a87deba4.0p-79, - 0xbf8000.0p-24, 0x94a0d8.0p-25, -0x139e5210c2b731.0p-80, - 0xbe8000.0p-24, 0x974f16.0p-25, -0x18f6ebcff3ed73.0p-81, - 0xbd8000.0p-24, 0x9a00f1.0p-25, -0x1aa268be39aab7.0p-79, - 0xbc8000.0p-24, 0x9cb672.0p-25, -0x14c8815839c566.0p-79, - 0xbb0000.0p-24, 0xa0cda1.0p-25, 0x1eaf46390dbb24.0p-81, - 0xba0000.0p-24, 0xa38c6e.0p-25, 0x138e20d831f698.0p-81, - 0xb90000.0p-24, 0xa64f05.0p-25, -0x1e8d3c41123616.0p-82, - 0xb80000.0p-24, 0xa91570.0p-25, 0x1ce28f5f3840b2.0p-80, - 0xb70000.0p-24, 0xabdfbb.0p-25, -0x186e5c0a424234.0p-79, - 0xb60000.0p-24, 0xaeadef.0p-25, -0x14d41a0b2a08a4.0p-83, - 0xb50000.0p-24, 0xb18018.0p-25, 0x16755892770634.0p-79, - 0xb40000.0p-24, 0xb45642.0p-25, -0x16395ebe59b152.0p-82, - 0xb30000.0p-24, 0xb73077.0p-25, 0x1abc65c8595f09.0p-80, - 0xb20000.0p-24, 0xba0ec4.0p-25, -0x1273089d3dad89.0p-79, *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***