From owner-svn-src-projects@freebsd.org Sun Jan 10 21:29: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 C243EA6AD1E for ; Sun, 10 Jan 2016 21:29:27 +0000 (UTC) (envelope-from nwhitehorn@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 5BFBE1E1B; Sun, 10 Jan 2016 21:29:27 +0000 (UTC) (envelope-from nwhitehorn@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0ALTQXS066832; Sun, 10 Jan 2016 21:29:26 GMT (envelope-from nwhitehorn@FreeBSD.org) Received: (from nwhitehorn@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0ALTO2O066805; Sun, 10 Jan 2016 21:29:24 GMT (envelope-from nwhitehorn@FreeBSD.org) Message-Id: <201601102129.u0ALTO2O066805@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: nwhitehorn set sender to nwhitehorn@FreeBSD.org using -f From: Nathan Whitehorn Date: Sun, 10 Jan 2016 21:29:24 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293644 - in projects/powernv: amd64/amd64 amd64/include amd64/linux amd64/linux32 arm/allwinner arm/allwinner/a20 arm/altera/socfpga arm/amlogic/aml8726 arm/annapurna/alpine arm/arm ar... 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.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 10 Jan 2016 21:29:28 -0000 Author: nwhitehorn Date: Sun Jan 10 21:29:22 2016 New Revision: 293644 URL: https://svnweb.freebsd.org/changeset/base/293644 Log: Bring branch up to date. Added: projects/powernv/arm/amlogic/aml8726/aml8726_if_dwc.c - copied unchanged from r293643, head/sys/arm/amlogic/aml8726/aml8726_if_dwc.c projects/powernv/arm/arm/machdep_intr.c - copied unchanged from r293643, head/sys/arm/arm/machdep_intr.c projects/powernv/arm/arm/ofw_machdep.c - copied unchanged from r293643, head/sys/arm/arm/ofw_machdep.c projects/powernv/arm/freescale/imx/imx6_hdmi.c - copied unchanged from r293643, head/sys/arm/freescale/imx/imx6_hdmi.c projects/powernv/arm/freescale/imx/imx6_hdmireg.h - copied unchanged from r293643, head/sys/arm/freescale/imx/imx6_hdmireg.h projects/powernv/arm/freescale/imx/imx6_ipu.c - copied unchanged from r293643, head/sys/arm/freescale/imx/imx6_ipu.c projects/powernv/arm/freescale/imx/imx_iomuxreg.h - copied unchanged from r293643, head/sys/arm/freescale/imx/imx_iomuxreg.h projects/powernv/arm64/arm64/ofw_machdep.c - copied unchanged from r293643, head/sys/arm64/arm64/ofw_machdep.c projects/powernv/boot/common/Makefile.depend - copied unchanged from r293643, head/sys/boot/common/Makefile.depend projects/powernv/boot/efi/boot1/Makefile.depend - copied unchanged from r293643, head/sys/boot/efi/boot1/Makefile.depend projects/powernv/boot/efi/fdt/Makefile.depend - copied unchanged from r293643, head/sys/boot/efi/fdt/Makefile.depend projects/powernv/boot/efi/loader/Makefile.depend - copied unchanged from r293643, head/sys/boot/efi/loader/Makefile.depend projects/powernv/boot/fdt/Makefile.depend - copied unchanged from r293643, head/sys/boot/fdt/Makefile.depend projects/powernv/boot/ficl32/Makefile.depend - copied unchanged from r293643, head/sys/boot/ficl32/Makefile.depend projects/powernv/boot/forth/Makefile.depend - copied unchanged from r293643, head/sys/boot/forth/Makefile.depend projects/powernv/boot/i386/btx/btx/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/btx/btx/Makefile.depend projects/powernv/boot/i386/btx/btxldr/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/btx/btxldr/Makefile.depend projects/powernv/boot/i386/btx/lib/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/btx/lib/Makefile.depend projects/powernv/boot/i386/cdboot/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/cdboot/Makefile.depend projects/powernv/boot/i386/gptboot/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/gptboot/Makefile.depend projects/powernv/boot/i386/gptzfsboot/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/gptzfsboot/Makefile.depend projects/powernv/boot/i386/kgzldr/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/kgzldr/Makefile.depend projects/powernv/boot/i386/libfirewire/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/libfirewire/Makefile.depend projects/powernv/boot/i386/libi386/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/libi386/Makefile.depend projects/powernv/boot/i386/mbr/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/mbr/Makefile.depend projects/powernv/boot/i386/pmbr/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/pmbr/Makefile.depend projects/powernv/boot/i386/pxeldr/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/pxeldr/Makefile.depend projects/powernv/boot/i386/zfsboot/Makefile.depend - copied unchanged from r293643, head/sys/boot/i386/zfsboot/Makefile.depend projects/powernv/boot/libstand32/Makefile.depend - copied unchanged from r293643, head/sys/boot/libstand32/Makefile.depend projects/powernv/boot/userboot/ficl/Makefile.depend - copied unchanged from r293643, head/sys/boot/userboot/ficl/Makefile.depend projects/powernv/boot/userboot/libstand/Makefile.depend - copied unchanged from r293643, head/sys/boot/userboot/libstand/Makefile.depend projects/powernv/boot/userboot/test/Makefile.depend - copied unchanged from r293643, head/sys/boot/userboot/test/Makefile.depend projects/powernv/boot/userboot/userboot/Makefile.depend - copied unchanged from r293643, head/sys/boot/userboot/userboot/Makefile.depend projects/powernv/boot/userboot/zfs/Makefile.depend - copied unchanged from r293643, head/sys/boot/userboot/zfs/Makefile.depend projects/powernv/boot/zfs/Makefile.depend - copied unchanged from r293643, head/sys/boot/zfs/Makefile.depend projects/powernv/compat/linuxkpi/common/include/linux/rcupdate.h - copied unchanged from r293643, head/sys/compat/linuxkpi/common/include/linux/rcupdate.h projects/powernv/compat/linuxkpi/common/include/linux/srcu.h - copied unchanged from r293643, head/sys/compat/linuxkpi/common/include/linux/srcu.h projects/powernv/contrib/dev/ath/ath_hal/ar9300/ar953x.ini - copied unchanged from r293643, head/sys/contrib/dev/ath/ath_hal/ar9300/ar953x.ini projects/powernv/contrib/dev/rtwn/ - copied from r293643, head/sys/contrib/dev/rtwn/ projects/powernv/crypto/sha2/sha384.h - copied unchanged from r293643, head/sys/crypto/sha2/sha384.h projects/powernv/crypto/sha2/sha512.h - copied unchanged from r293643, head/sys/crypto/sha2/sha512.h projects/powernv/crypto/sha2/sha512c.c - copied unchanged from r293643, head/sys/crypto/sha2/sha512c.c projects/powernv/dev/ahci/ahci_generic.c - copied unchanged from r293643, head/sys/dev/ahci/ahci_generic.c projects/powernv/dev/bxe/bxe_dump.h - copied unchanged from r293643, head/sys/dev/bxe/bxe_dump.h projects/powernv/dev/bxe/bxe_ioctl.h - copied unchanged from r293643, head/sys/dev/bxe/bxe_ioctl.h projects/powernv/dev/cxgbe/cxgbei/ - copied from r293643, head/sys/dev/cxgbe/cxgbei/ projects/powernv/dev/ixgbe/ixgbe_osdep.c - copied unchanged from r293643, head/sys/dev/ixgbe/ixgbe_osdep.c projects/powernv/dev/mdio/ - copied from r293643, head/sys/dev/mdio/ projects/powernv/dev/mlx5/eswitch_vacl.h - copied unchanged from r293643, head/sys/dev/mlx5/eswitch_vacl.h projects/powernv/dev/mlx5/mlx5_core/mlx5_eswitch_vacl.c - copied unchanged from r293643, head/sys/dev/mlx5/mlx5_core/mlx5_eswitch_vacl.c projects/powernv/dev/ofw/ofw_subr.c - copied unchanged from r293643, head/sys/dev/ofw/ofw_subr.c projects/powernv/dev/ofw/ofw_subr.h - copied unchanged from r293643, head/sys/dev/ofw/ofw_subr.h projects/powernv/dev/rtwn/ - copied from r293643, head/sys/dev/rtwn/ projects/powernv/dev/syscons/plasma/ - copied from r293643, head/sys/dev/syscons/plasma/ projects/powernv/dev/usb/net/if_ure.c - copied unchanged from r293643, head/sys/dev/usb/net/if_ure.c projects/powernv/dev/usb/net/if_urereg.h - copied unchanged from r293643, head/sys/dev/usb/net/if_urereg.h projects/powernv/geom/eli/g_eli_hmac.c - copied unchanged from r293643, head/sys/geom/eli/g_eli_hmac.c projects/powernv/geom/sched/gs_delay.c - copied unchanged from r293643, head/sys/geom/sched/gs_delay.c projects/powernv/kern/pic_if.m - copied unchanged from r293643, head/sys/kern/pic_if.m projects/powernv/kern/subr_intr.c - copied unchanged from r293643, head/sys/kern/subr_intr.c projects/powernv/mips/conf/MT7620 - copied unchanged from r293643, head/sys/mips/conf/MT7620 projects/powernv/mips/conf/MT7620.hints - copied unchanged from r293643, head/sys/mips/conf/MT7620.hints projects/powernv/mips/conf/RT5350 - copied unchanged from r293643, head/sys/mips/conf/RT5350 projects/powernv/mips/conf/RT5350.hints - copied unchanged from r293643, head/sys/mips/conf/RT5350.hints projects/powernv/mips/mips/ofw_machdep.c - copied unchanged from r293643, head/sys/mips/mips/ofw_machdep.c projects/powernv/mips/rt305x/rt305x_ehci.c - copied unchanged from r293643, head/sys/mips/rt305x/rt305x_ehci.c projects/powernv/mips/rt305x/rt305x_ohci.c - copied unchanged from r293643, head/sys/mips/rt305x/rt305x_ohci.c projects/powernv/mips/rt305x/rt305x_pci.c - copied unchanged from r293643, head/sys/mips/rt305x/rt305x_pci.c projects/powernv/mips/rt305x/rt305x_pcireg.h - copied unchanged from r293643, head/sys/mips/rt305x/rt305x_pcireg.h projects/powernv/mips/rt305x/rt305x_spi.c - copied unchanged from r293643, head/sys/mips/rt305x/rt305x_spi.c projects/powernv/modules/cxgbe/cxgbei/ - copied from r293643, head/sys/modules/cxgbe/cxgbei/ projects/powernv/modules/geom/geom_sched/gsched_delay/ - copied from r293643, head/sys/modules/geom/geom_sched/gsched_delay/ projects/powernv/modules/mdio/ - copied from r293643, head/sys/modules/mdio/ projects/powernv/modules/rtwn/ - copied from r293643, head/sys/modules/rtwn/ projects/powernv/modules/rtwnfw/ - copied from r293643, head/sys/modules/rtwnfw/ projects/powernv/modules/syscons/plasma/ - copied from r293643, head/sys/modules/syscons/plasma/ projects/powernv/modules/tcp/ - copied from r293643, head/sys/modules/tcp/ projects/powernv/modules/usb/ure/ - copied from r293643, head/sys/modules/usb/ure/ projects/powernv/netinet/in_fib.c - copied unchanged from r293643, head/sys/netinet/in_fib.c projects/powernv/netinet/in_fib.h - copied unchanged from r293643, head/sys/netinet/in_fib.h projects/powernv/netinet/tcp_fastopen.c - copied unchanged from r293643, head/sys/netinet/tcp_fastopen.c projects/powernv/netinet/tcp_fastopen.h - copied unchanged from r293643, head/sys/netinet/tcp_fastopen.h projects/powernv/netinet/tcp_stacks/ - copied from r293643, head/sys/netinet/tcp_stacks/ projects/powernv/netinet6/in6_fib.c - copied unchanged from r293643, head/sys/netinet6/in6_fib.c projects/powernv/netinet6/in6_fib.h - copied unchanged from r293643, head/sys/netinet6/in6_fib.h projects/powernv/opencrypto/xform_aes_icm.c - copied unchanged from r293643, head/sys/opencrypto/xform_aes_icm.c projects/powernv/opencrypto/xform_aes_xts.c - copied unchanged from r293643, head/sys/opencrypto/xform_aes_xts.c projects/powernv/opencrypto/xform_auth.h - copied unchanged from r293643, head/sys/opencrypto/xform_auth.h projects/powernv/opencrypto/xform_blf.c - copied unchanged from r293643, head/sys/opencrypto/xform_blf.c projects/powernv/opencrypto/xform_cast5.c - copied unchanged from r293643, head/sys/opencrypto/xform_cast5.c projects/powernv/opencrypto/xform_cml.c - copied unchanged from r293643, head/sys/opencrypto/xform_cml.c projects/powernv/opencrypto/xform_comp.h - copied unchanged from r293643, head/sys/opencrypto/xform_comp.h projects/powernv/opencrypto/xform_deflate.c - copied unchanged from r293643, head/sys/opencrypto/xform_deflate.c projects/powernv/opencrypto/xform_des1.c - copied unchanged from r293643, head/sys/opencrypto/xform_des1.c projects/powernv/opencrypto/xform_des3.c - copied unchanged from r293643, head/sys/opencrypto/xform_des3.c projects/powernv/opencrypto/xform_enc.h - copied unchanged from r293643, head/sys/opencrypto/xform_enc.h projects/powernv/opencrypto/xform_gmac.c - copied unchanged from r293643, head/sys/opencrypto/xform_gmac.c projects/powernv/opencrypto/xform_md5.c - copied unchanged from r293643, head/sys/opencrypto/xform_md5.c projects/powernv/opencrypto/xform_null.c - copied unchanged from r293643, head/sys/opencrypto/xform_null.c projects/powernv/opencrypto/xform_rijndael.c - copied unchanged from r293643, head/sys/opencrypto/xform_rijndael.c projects/powernv/opencrypto/xform_rmd160.c - copied unchanged from r293643, head/sys/opencrypto/xform_rmd160.c projects/powernv/opencrypto/xform_sha1.c - copied unchanged from r293643, head/sys/opencrypto/xform_sha1.c projects/powernv/opencrypto/xform_sha2.c - copied unchanged from r293643, head/sys/opencrypto/xform_sha2.c projects/powernv/opencrypto/xform_skipjack.c - copied unchanged from r293643, head/sys/opencrypto/xform_skipjack.c projects/powernv/opencrypto/xform_userland.h - copied unchanged from r293643, head/sys/opencrypto/xform_userland.h projects/powernv/powerpc/mpc85xx/qoriq_gpio.c - copied unchanged from r293643, head/sys/powerpc/mpc85xx/qoriq_gpio.c projects/powernv/riscv/ - copied from r293643, head/sys/riscv/ projects/powernv/x86/include/cputypes.h - copied unchanged from r293643, head/sys/x86/include/cputypes.h projects/powernv/x86/include/metadata.h - copied unchanged from r293643, head/sys/x86/include/metadata.h projects/powernv/x86/include/x86_smp.h - copied unchanged from r293643, head/sys/x86/include/x86_smp.h projects/powernv/x86/include/x86_var.h - copied unchanged from r293643, head/sys/x86/include/x86_var.h Replaced: projects/powernv/amd64/include/metadata.h - copied unchanged from r293643, head/sys/amd64/include/metadata.h Deleted: projects/powernv/arm/arm/intrng.c projects/powernv/arm/arm/pic_if.m projects/powernv/arm/include/katelib.h projects/powernv/crypto/sha2/sha2.c projects/powernv/crypto/sha2/sha2.h projects/powernv/dev/etherswitch/mdio.c projects/powernv/dev/etherswitch/mdio.h projects/powernv/dev/etherswitch/mdio_if.m projects/powernv/dev/ixgbe/LICENSE projects/powernv/dev/ixgbe/README projects/powernv/ofed/drivers/net/mlx4/en_ethtool.c projects/powernv/ofed/drivers/net/mlx4/en_selftest.c projects/powernv/ofed/include/rdma/Kbuild Modified: projects/powernv/amd64/amd64/elf_machdep.c projects/powernv/amd64/amd64/initcpu.c projects/powernv/amd64/amd64/machdep.c projects/powernv/amd64/amd64/mp_machdep.c projects/powernv/amd64/amd64/pmap.c projects/powernv/amd64/amd64/trap.c projects/powernv/amd64/include/cpufunc.h projects/powernv/amd64/include/cputypes.h projects/powernv/amd64/include/md_var.h projects/powernv/amd64/include/smp.h projects/powernv/amd64/linux/linux_sysvec.c projects/powernv/amd64/linux32/linux32_sysvec.c projects/powernv/arm/allwinner/a10_mmc.c projects/powernv/arm/allwinner/a20/a20_mp.c projects/powernv/arm/altera/socfpga/socfpga_mp.c projects/powernv/arm/amlogic/aml8726/aml8726_mmc.c projects/powernv/arm/amlogic/aml8726/aml8726_mp.c projects/powernv/arm/amlogic/aml8726/aml8726_sdxc-m8.c projects/powernv/arm/amlogic/aml8726/files.aml8726 projects/powernv/arm/annapurna/alpine/alpine_machdep_mp.c projects/powernv/arm/arm/db_interface.c projects/powernv/arm/arm/elf_machdep.c projects/powernv/arm/arm/exception.S projects/powernv/arm/arm/genassym.c projects/powernv/arm/arm/generic_timer.c projects/powernv/arm/arm/gic.c projects/powernv/arm/arm/intr.c projects/powernv/arm/arm/locore-v4.S projects/powernv/arm/arm/locore-v6.S projects/powernv/arm/arm/machdep.c projects/powernv/arm/arm/mp_machdep.c projects/powernv/arm/arm/nexus.c projects/powernv/arm/arm/physmem.c projects/powernv/arm/arm/pmap-v6-new.c projects/powernv/arm/arm/trap-v6.c projects/powernv/arm/arm/trap.c projects/powernv/arm/arm/undefined.c projects/powernv/arm/at91/at91_mci.c projects/powernv/arm/at91/std.bwct projects/powernv/arm/at91/std.eb9200 projects/powernv/arm/at91/std.ethernut5 projects/powernv/arm/at91/std.hl200 projects/powernv/arm/at91/std.hl201 projects/powernv/arm/at91/std.kb920x projects/powernv/arm/at91/std.qila9g20 projects/powernv/arm/at91/std.sam9260ek projects/powernv/arm/at91/std.sam9g20ek projects/powernv/arm/at91/std.sam9x25ek projects/powernv/arm/at91/std.sn9g45 projects/powernv/arm/at91/std.tsc4370 projects/powernv/arm/broadcom/bcm2835/bcm2835_fbd.c projects/powernv/arm/broadcom/bcm2835/bcm2835_sdhci.c projects/powernv/arm/cavium/cns11xx/std.econa projects/powernv/arm/conf/ATMEL projects/powernv/arm/conf/CNS11XXNAS projects/powernv/arm/conf/CRB projects/powernv/arm/conf/GUMSTIX projects/powernv/arm/conf/IMX6 projects/powernv/arm/conf/NOTES projects/powernv/arm/conf/NSLU projects/powernv/arm/conf/SAM9260EK projects/powernv/arm/conf/SAM9G20EK projects/powernv/arm/freescale/imx/files.imx6 projects/powernv/arm/freescale/imx/imx6_ccm.c projects/powernv/arm/freescale/imx/imx6_ccmreg.h projects/powernv/arm/freescale/imx/imx6_mp.c projects/powernv/arm/freescale/imx/imx_ccmvar.h projects/powernv/arm/freescale/imx/imx_gpio.c projects/powernv/arm/freescale/imx/imx_sdhci.c projects/powernv/arm/include/cpufunc.h projects/powernv/arm/include/intr.h projects/powernv/arm/include/md_var.h projects/powernv/arm/include/ofw_machdep.h projects/powernv/arm/include/pmap-v6.h projects/powernv/arm/include/pte-v6.h projects/powernv/arm/include/resource.h projects/powernv/arm/include/smp.h projects/powernv/arm/include/trap.h projects/powernv/arm/include/vdso.h projects/powernv/arm/include/vm.h projects/powernv/arm/include/vmparam.h projects/powernv/arm/lpc/lpc_mmc.c projects/powernv/arm/lpc/std.lpc projects/powernv/arm/mv/discovery/std.db78xxx projects/powernv/arm/mv/kirkwood/std.kirkwood projects/powernv/arm/mv/orion/std.db88f5xxx projects/powernv/arm/mv/orion/std.ts7800 projects/powernv/arm/qemu/virt_mp.c projects/powernv/arm/rockchip/rk30xx_mp.c projects/powernv/arm/samsung/exynos/exynos5_mp.c projects/powernv/arm/ti/aintc.c projects/powernv/arm/ti/omap4/omap4_mp.c projects/powernv/arm/ti/ti_sdhci.c projects/powernv/arm/xilinx/zy7_mp.c projects/powernv/arm/xscale/i80321/ep80219_machdep.c projects/powernv/arm/xscale/i80321/iq31244_machdep.c projects/powernv/arm/xscale/i8134x/crb_machdep.c projects/powernv/arm/xscale/ixp425/avila_machdep.c projects/powernv/arm/xscale/ixp425/std.avila projects/powernv/arm/xscale/pxa/pxa_machdep.c projects/powernv/arm64/arm64/elf_machdep.c projects/powernv/arm64/arm64/exception.S projects/powernv/arm64/arm64/genassym.c projects/powernv/arm64/arm64/gic.c projects/powernv/arm64/arm64/gic.h projects/powernv/arm64/arm64/gic_fdt.c projects/powernv/arm64/arm64/gic_v3_its.c projects/powernv/arm64/arm64/gic_v3_var.h projects/powernv/arm64/arm64/identcpu.c projects/powernv/arm64/arm64/intr_machdep.c projects/powernv/arm64/arm64/machdep.c projects/powernv/arm64/arm64/mp_machdep.c projects/powernv/arm64/arm64/pic_if.m projects/powernv/arm64/arm64/support.S projects/powernv/arm64/arm64/trap.c projects/powernv/arm64/cavium/thunder_pcie.c projects/powernv/arm64/cavium/thunder_pcie_common.c projects/powernv/arm64/cavium/thunder_pcie_pem.c projects/powernv/arm64/conf/GENERIC projects/powernv/arm64/include/armreg.h projects/powernv/arm64/include/atomic.h projects/powernv/arm64/include/cpu.h projects/powernv/arm64/include/intr.h projects/powernv/arm64/include/md_var.h projects/powernv/arm64/include/setjmp.h projects/powernv/arm64/include/vdso.h projects/powernv/arm64/include/vmparam.h projects/powernv/boot/common/part.c projects/powernv/boot/common/ufsread.c projects/powernv/boot/efi/boot1/Makefile projects/powernv/boot/efi/boot1/boot1.c projects/powernv/boot/efi/boot1/fat-amd64.tmpl.bz2.uu projects/powernv/boot/efi/boot1/fat-arm.tmpl.bz2.uu projects/powernv/boot/efi/boot1/fat-arm64.tmpl.bz2.uu projects/powernv/boot/efi/boot1/fat-i386.tmpl.bz2.uu projects/powernv/boot/efi/boot1/generate-fat.sh projects/powernv/boot/efi/include/amd64/efibind.h projects/powernv/boot/efi/include/arm64/efibind.h projects/powernv/boot/efi/include/efierr.h projects/powernv/boot/efi/include/i386/efibind.h projects/powernv/boot/efi/libefi/Makefile projects/powernv/boot/efi/libefi/efi_console.c projects/powernv/boot/efi/loader/Makefile projects/powernv/boot/efi/loader/arch/amd64/elf64_freebsd.c projects/powernv/boot/efi/loader/arch/amd64/framebuffer.c projects/powernv/boot/efi/loader/arch/arm/exec.c projects/powernv/boot/efi/loader/arch/arm64/exec.c projects/powernv/boot/efi/loader/bootinfo.c projects/powernv/boot/efi/loader/copy.c projects/powernv/boot/efi/loader/devicename.c projects/powernv/boot/efi/loader/loader_efi.h projects/powernv/boot/efi/loader/main.c projects/powernv/boot/fdt/dts/arm/odroidc1.dts projects/powernv/boot/ficl/amd64/sysdep.c projects/powernv/boot/forth/beastie.4th projects/powernv/boot/forth/beastie.4th.8 projects/powernv/boot/forth/loader.conf projects/powernv/boot/forth/loader.conf.5 projects/powernv/boot/forth/menu-commands.4th projects/powernv/boot/forth/menu.rc projects/powernv/boot/forth/support.4th projects/powernv/boot/i386/boot2/Makefile.depend projects/powernv/boot/i386/libi386/biosmem.c projects/powernv/boot/i386/libi386/libi386.h projects/powernv/boot/i386/libi386/pxe.c projects/powernv/boot/i386/loader/Makefile.depend projects/powernv/boot/i386/loader/main.c projects/powernv/boot/i386/zfsboot/zfsboot.c projects/powernv/boot/i386/zfsloader/Makefile.depend projects/powernv/boot/libstand32/Makefile projects/powernv/boot/ofw/libofw/ppc64_elf_freebsd.c projects/powernv/boot/pc98/boot2/boot2.c projects/powernv/boot/pc98/libpc98/biosdisk.c projects/powernv/boot/powerpc/Makefile.inc projects/powernv/boot/powerpc/boot1.chrp/Makefile projects/powernv/boot/powerpc/boot1.chrp/boot1.c projects/powernv/boot/powerpc/kboot/ppc64_elf_freebsd.c projects/powernv/boot/powerpc/ps3/ppc64_elf_freebsd.c projects/powernv/boot/uboot/common/main.c projects/powernv/boot/uboot/lib/copy.c projects/powernv/boot/userboot/libstand/Makefile projects/powernv/boot/userboot/userboot/main.c projects/powernv/boot/zfs/libzfs.h projects/powernv/boot/zfs/zfs.c projects/powernv/boot/zfs/zfsimpl.c projects/powernv/bsm/audit.h projects/powernv/bsm/audit_domain.h projects/powernv/bsm/audit_errno.h projects/powernv/bsm/audit_fcntl.h projects/powernv/bsm/audit_internal.h projects/powernv/bsm/audit_kevents.h projects/powernv/bsm/audit_record.h projects/powernv/bsm/audit_socket_type.h projects/powernv/cam/ata/ata_da.c projects/powernv/cam/cam_ccb.h projects/powernv/cam/cam_xpt.c projects/powernv/cam/cam_xpt.h projects/powernv/cam/ctl/ctl.c projects/powernv/cam/ctl/ctl_backend_block.c projects/powernv/cam/scsi/scsi_ch.c projects/powernv/cam/scsi/scsi_da.c projects/powernv/cam/scsi/scsi_enc.c projects/powernv/cam/scsi/scsi_pass.c projects/powernv/cam/scsi/scsi_pass.h projects/powernv/cam/scsi/scsi_pt.c projects/powernv/cam/scsi/scsi_sa.c projects/powernv/cam/scsi/scsi_sg.c projects/powernv/cddl/boot/zfs/lz4.c projects/powernv/cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c projects/powernv/cddl/contrib/opensolaris/uts/common/dtrace/fasttrap.c projects/powernv/cddl/contrib/opensolaris/uts/common/fs/zfs/sha256.c projects/powernv/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/powernv/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c projects/powernv/cddl/contrib/opensolaris/uts/common/sys/dtrace.h projects/powernv/cddl/contrib/opensolaris/uts/intel/dtrace/fasttrap_isa.c projects/powernv/cddl/contrib/opensolaris/uts/powerpc/dtrace/fasttrap_isa.c projects/powernv/cddl/dev/dtrace/dtrace_cddl.h projects/powernv/cddl/dev/dtrace/dtrace_ioctl.c projects/powernv/cddl/dev/fbt/arm/fbt_isa.c projects/powernv/cddl/dev/profile/profile.c projects/powernv/cddl/dev/systrace/systrace.c projects/powernv/compat/ia32/ia32_sysvec.c projects/powernv/compat/linux/linux_dtrace.h projects/powernv/compat/linux/linux_futex.c projects/powernv/compat/linux/linux_timer.c projects/powernv/compat/linuxkpi/common/include/linux/cdev.h projects/powernv/compat/linuxkpi/common/include/linux/compat.h projects/powernv/compat/linuxkpi/common/include/linux/compiler.h projects/powernv/compat/linuxkpi/common/include/linux/device.h projects/powernv/compat/linuxkpi/common/include/linux/etherdevice.h projects/powernv/compat/linuxkpi/common/include/linux/file.h projects/powernv/compat/linuxkpi/common/include/linux/gfp.h projects/powernv/compat/linuxkpi/common/include/linux/interrupt.h projects/powernv/compat/linuxkpi/common/include/linux/kobject.h projects/powernv/compat/linuxkpi/common/include/linux/kthread.h projects/powernv/compat/linuxkpi/common/include/linux/miscdevice.h projects/powernv/compat/linuxkpi/common/include/linux/netdevice.h projects/powernv/compat/linuxkpi/common/include/linux/workqueue.h projects/powernv/compat/linuxkpi/common/src/linux_compat.c projects/powernv/compat/linuxkpi/common/src/linux_pci.c projects/powernv/compat/svr4/svr4_sysvec.c projects/powernv/conf/NOTES projects/powernv/conf/files projects/powernv/conf/files.arm projects/powernv/conf/files.arm64 projects/powernv/conf/files.mips projects/powernv/conf/files.powerpc projects/powernv/conf/kern.pre.mk projects/powernv/conf/kmod.mk projects/powernv/conf/newvers.sh projects/powernv/conf/options projects/powernv/conf/options.arm projects/powernv/conf/options.mips projects/powernv/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c projects/powernv/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd_inc.h projects/powernv/contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c projects/powernv/contrib/dev/ath/ath_hal/ar9300/ar9300_spectral.c projects/powernv/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/powernv/contrib/ipfilter/netinet/ip_nat.c projects/powernv/contrib/rdma/krping/krping.c projects/powernv/crypto/sha1.h projects/powernv/crypto/sha2/sha256.h projects/powernv/dev/ahci/ahci.c projects/powernv/dev/ahci/ahci.h projects/powernv/dev/aic/aic_pccard.c projects/powernv/dev/aic7xxx/aicasm/Makefile projects/powernv/dev/an/if_an_pccard.c projects/powernv/dev/arcmsr/arcmsr.c projects/powernv/dev/arcmsr/arcmsr.h projects/powernv/dev/asmc/asmc.c projects/powernv/dev/ata/ata-card.c projects/powernv/dev/ath/ah_osdep.c projects/powernv/dev/ath/ah_osdep.h projects/powernv/dev/ath/ath_hal/ah.c projects/powernv/dev/ath/ath_hal/ah_internal.h projects/powernv/dev/atkbdc/psm.c projects/powernv/dev/bwi/if_bwi.c projects/powernv/dev/bwn/if_bwn.c projects/powernv/dev/bxe/bxe.c projects/powernv/dev/bxe/bxe.h projects/powernv/dev/bxe/bxe_stats.c projects/powernv/dev/bxe/bxe_stats.h projects/powernv/dev/bxe/ecore_init.h projects/powernv/dev/cmx/cmx_pccard.c projects/powernv/dev/cs/if_cs_pccard.c projects/powernv/dev/cxgb/ulp/iw_cxgb/iw_cxgb_cm.c projects/powernv/dev/cxgb/ulp/tom/cxgb_cpl_io.c projects/powernv/dev/cxgb/ulp/tom/cxgb_l2t.c projects/powernv/dev/cxgb/ulp/tom/cxgb_listen.c projects/powernv/dev/cxgbe/adapter.h projects/powernv/dev/cxgbe/common/t4_hw.c projects/powernv/dev/cxgbe/iw_cxgbe/cm.c projects/powernv/dev/cxgbe/iw_cxgbe/provider.c projects/powernv/dev/cxgbe/offload.h projects/powernv/dev/cxgbe/t4_main.c projects/powernv/dev/cxgbe/t4_netmap.c projects/powernv/dev/cxgbe/t4_sge.c projects/powernv/dev/cxgbe/tom/t4_connect.c projects/powernv/dev/cxgbe/tom/t4_cpl_io.c projects/powernv/dev/cxgbe/tom/t4_ddp.c projects/powernv/dev/cxgbe/tom/t4_listen.c projects/powernv/dev/cxgbe/tom/t4_tom.c projects/powernv/dev/cxgbe/tom/t4_tom.h projects/powernv/dev/cxgbe/tom/t4_tom_l2t.c projects/powernv/dev/drm2/i915/i915_gem.c projects/powernv/dev/drm2/i915/intel_iic.c projects/powernv/dev/drm2/ttm/ttm_bo.c projects/powernv/dev/drm2/ttm/ttm_page_alloc.c projects/powernv/dev/drm2/ttm/ttm_tt.c projects/powernv/dev/e1000/if_em.c projects/powernv/dev/e1000/if_em.h projects/powernv/dev/e1000/if_igb.c projects/powernv/dev/e1000/if_igb.h projects/powernv/dev/ed/if_ed_isa.c projects/powernv/dev/ed/if_ed_pccard.c projects/powernv/dev/ed/if_ed_pci.c projects/powernv/dev/ep/if_ep_pccard.c projects/powernv/dev/etherswitch/arswitch/arswitch.c projects/powernv/dev/etherswitch/arswitch/arswitch_7240.c projects/powernv/dev/etherswitch/arswitch/arswitch_8216.c projects/powernv/dev/etherswitch/arswitch/arswitch_8226.c projects/powernv/dev/etherswitch/arswitch/arswitch_8316.c projects/powernv/dev/etherswitch/arswitch/arswitch_8327.c projects/powernv/dev/etherswitch/arswitch/arswitch_9340.c projects/powernv/dev/etherswitch/arswitch/arswitch_phy.c projects/powernv/dev/etherswitch/arswitch/arswitch_reg.c projects/powernv/dev/etherswitch/e6000sw/e6000sw.c projects/powernv/dev/etherswitch/ip17x/ip17x.c projects/powernv/dev/etherswitch/ukswitch/ukswitch.c projects/powernv/dev/ex/if_ex_pccard.c projects/powernv/dev/fdc/fdc_pccard.c projects/powernv/dev/fdt/simplebus.c projects/powernv/dev/fe/if_fe_pccard.c projects/powernv/dev/hwpmc/hwpmc_core.c projects/powernv/dev/hwpmc/hwpmc_intel.c projects/powernv/dev/hwpmc/hwpmc_logging.c projects/powernv/dev/hwpmc/pmc_events.h projects/powernv/dev/hyperv/include/hyperv.h projects/powernv/dev/hyperv/utilities/hv_kvp.c projects/powernv/dev/hyperv/vmbus/hv_channel_mgmt.c projects/powernv/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c projects/powernv/dev/hyperv/vmbus/hv_vmbus_priv.h projects/powernv/dev/ic/ns16550.h projects/powernv/dev/if_ndis/if_ndis.c projects/powernv/dev/if_ndis/if_ndis_pci.c projects/powernv/dev/ioat/ioat.c projects/powernv/dev/ioat/ioat.h projects/powernv/dev/ioat/ioat_hw.h projects/powernv/dev/ioat/ioat_internal.h projects/powernv/dev/ioat/ioat_test.c projects/powernv/dev/ioat/ioat_test.h projects/powernv/dev/isci/scil/scic_sds_phy.h projects/powernv/dev/iscsi/iscsi.c projects/powernv/dev/ismt/ismt.c projects/powernv/dev/isp/isp.c projects/powernv/dev/isp/isp_freebsd.c projects/powernv/dev/isp/isp_freebsd.h projects/powernv/dev/isp/isp_library.c projects/powernv/dev/isp/isp_library.h projects/powernv/dev/isp/isp_pci.c projects/powernv/dev/isp/isp_sbus.c projects/powernv/dev/isp/isp_target.c projects/powernv/dev/isp/ispmbox.h projects/powernv/dev/isp/ispvar.h projects/powernv/dev/iwi/if_iwi.c projects/powernv/dev/iwm/if_iwm.c projects/powernv/dev/iwm/if_iwm_mac_ctxt.c projects/powernv/dev/iwm/if_iwmvar.h projects/powernv/dev/iwn/if_iwn.c projects/powernv/dev/ixgbe/if_ix.c projects/powernv/dev/ixgbe/if_ixv.c projects/powernv/dev/ixgbe/ix_txrx.c projects/powernv/dev/ixgbe/ixgbe.h projects/powernv/dev/ixgbe/ixgbe_82598.c projects/powernv/dev/ixgbe/ixgbe_82599.c projects/powernv/dev/ixgbe/ixgbe_api.c projects/powernv/dev/ixgbe/ixgbe_api.h projects/powernv/dev/ixgbe/ixgbe_common.c projects/powernv/dev/ixgbe/ixgbe_dcb.c projects/powernv/dev/ixgbe/ixgbe_osdep.h projects/powernv/dev/ixgbe/ixgbe_phy.c projects/powernv/dev/ixgbe/ixgbe_phy.h projects/powernv/dev/ixgbe/ixgbe_type.h projects/powernv/dev/ixgbe/ixgbe_vf.c projects/powernv/dev/ixgbe/ixgbe_x540.c projects/powernv/dev/ixgbe/ixgbe_x550.c projects/powernv/dev/ixgbe/ixgbe_x550.h projects/powernv/dev/ixl/if_ixl.c projects/powernv/dev/malo/if_malo.c projects/powernv/dev/md/md.c projects/powernv/dev/mge/if_mge.c projects/powernv/dev/mii/rgephy.c projects/powernv/dev/mii/rgephyreg.h projects/powernv/dev/mlx5/device.h projects/powernv/dev/mlx5/driver.h projects/powernv/dev/mlx5/mlx5_core/mlx5_eq.c projects/powernv/dev/mlx5/mlx5_core/mlx5_vport.c projects/powernv/dev/mlx5/mlx5_en/en.h projects/powernv/dev/mlx5/mlx5_en/mlx5_en_ethtool.c projects/powernv/dev/mlx5/mlx5_en/mlx5_en_main.c projects/powernv/dev/mlx5/mlx5_en/mlx5_en_rx.c projects/powernv/dev/mlx5/mlx5_en/mlx5_en_tx.c projects/powernv/dev/mlx5/mlx5_en/mlx5_en_txrx.c projects/powernv/dev/mlx5/vport.h projects/powernv/dev/mmc/bridge.h projects/powernv/dev/mmc/host/dwmmc.c projects/powernv/dev/mmc/mmc.c projects/powernv/dev/mpr/mpr_sas_lsi.c projects/powernv/dev/mps/mps_sas_lsi.c projects/powernv/dev/nand/nand_cdev.c projects/powernv/dev/nand/nand_geom.c projects/powernv/dev/ncv/ncr53c500_pccard.c projects/powernv/dev/netmap/if_em_netmap.h projects/powernv/dev/netmap/netmap.c projects/powernv/dev/nsp/nsp_pccard.c projects/powernv/dev/ntb/if_ntb/if_ntb.c projects/powernv/dev/nvd/nvd.c projects/powernv/dev/nvme/nvme.c projects/powernv/dev/nvme/nvme.h projects/powernv/dev/nvme/nvme_ctrlr.c projects/powernv/dev/nvme/nvme_ns.c projects/powernv/dev/nvme/nvme_private.h projects/powernv/dev/nvme/nvme_qpair.c projects/powernv/dev/nvme/nvme_sysctl.c projects/powernv/dev/ofw/ofw_bus_subr.c projects/powernv/dev/ofw/ofw_bus_subr.h projects/powernv/dev/ofw/ofw_iicbus.c projects/powernv/dev/ofw/openfirm.h projects/powernv/dev/otus/if_otus.c projects/powernv/dev/patm/genrtab/Makefile projects/powernv/dev/pccard/pccardvar.h projects/powernv/dev/pci/pci.c projects/powernv/dev/pci/pci_host_generic.c projects/powernv/dev/pci/pci_if.m projects/powernv/dev/pci/pci_private.h projects/powernv/dev/pci/pcivar.h projects/powernv/dev/puc/pucdata.c projects/powernv/dev/ral/rt2560.c projects/powernv/dev/ral/rt2661.c projects/powernv/dev/ral/rt2860.c projects/powernv/dev/random/build.sh projects/powernv/dev/random/fortuna.c projects/powernv/dev/random/hash.c projects/powernv/dev/random/other_algorithm.c projects/powernv/dev/random/randomdev.c projects/powernv/dev/random/unit_test.c projects/powernv/dev/random/yarrow.c projects/powernv/dev/rt/if_rt.c projects/powernv/dev/rt/if_rtreg.h projects/powernv/dev/rt/if_rtvar.h projects/powernv/dev/sdhci/sdhci_fdt.c projects/powernv/dev/sdhci/sdhci_pci.c projects/powernv/dev/sec/sec.c projects/powernv/dev/sfxge/common/ef10_tlv_layout.h projects/powernv/dev/sfxge/common/efsys.h projects/powernv/dev/sfxge/common/efx.h projects/powernv/dev/sfxge/common/efx_check.h projects/powernv/dev/sfxge/common/efx_crc32.c projects/powernv/dev/sfxge/common/efx_filter.c projects/powernv/dev/sfxge/common/efx_impl.h projects/powernv/dev/sfxge/common/efx_mcdi.c projects/powernv/dev/sfxge/common/efx_mcdi.h projects/powernv/dev/sfxge/common/efx_nic.c projects/powernv/dev/sfxge/common/efx_nvram.c projects/powernv/dev/sfxge/common/efx_regs_ef10.h projects/powernv/dev/sfxge/common/efx_regs_mcdi.h projects/powernv/dev/sfxge/common/efx_tx.c projects/powernv/dev/sfxge/common/efx_types.h projects/powernv/dev/sfxge/common/hunt_ev.c projects/powernv/dev/sfxge/common/hunt_impl.h projects/powernv/dev/sfxge/common/hunt_mcdi.c projects/powernv/dev/sfxge/common/hunt_nic.c projects/powernv/dev/sfxge/common/hunt_nvram.c projects/powernv/dev/sfxge/common/hunt_rx.c projects/powernv/dev/sfxge/common/hunt_tx.c projects/powernv/dev/sfxge/common/hunt_vpd.c projects/powernv/dev/sfxge/common/siena_impl.h projects/powernv/dev/sfxge/common/siena_mcdi.c projects/powernv/dev/sfxge/common/siena_nic.c projects/powernv/dev/sfxge/common/siena_nvram.c projects/powernv/dev/sfxge/sfxge.c projects/powernv/dev/sfxge/sfxge.h projects/powernv/dev/sfxge/sfxge_mcdi.c projects/powernv/dev/sfxge/sfxge_tx.c projects/powernv/dev/sfxge/sfxge_tx.h projects/powernv/dev/sn/if_sn_pccard.c projects/powernv/dev/snc/if_snc_pccard.c projects/powernv/dev/sound/usb/uaudio.c projects/powernv/dev/stg/tmc18c30_pccard.c projects/powernv/dev/ti/if_ti.c projects/powernv/dev/tsec/if_tsec.c projects/powernv/dev/uart/uart_bus_pccard.c projects/powernv/dev/uart/uart_dev_imx.h projects/powernv/dev/usb/controller/dwc_otg.c projects/powernv/dev/usb/controller/xhci.h projects/powernv/dev/usb/controller/xhci_pci.c projects/powernv/dev/usb/input/atp.c projects/powernv/dev/usb/input/uep.c projects/powernv/dev/usb/input/uhid.c projects/powernv/dev/usb/input/ukbd.c projects/powernv/dev/usb/input/ums.c projects/powernv/dev/usb/input/wsp.c projects/powernv/dev/usb/misc/udbp.c projects/powernv/dev/usb/misc/ufm.c projects/powernv/dev/usb/misc/ugold.c projects/powernv/dev/usb/misc/uled.c projects/powernv/dev/usb/net/if_aue.c projects/powernv/dev/usb/net/if_axe.c projects/powernv/dev/usb/net/if_axge.c projects/powernv/dev/usb/net/if_cdce.c projects/powernv/dev/usb/net/if_cue.c projects/powernv/dev/usb/net/if_ipheth.c projects/powernv/dev/usb/net/if_kue.c projects/powernv/dev/usb/net/if_mos.c projects/powernv/dev/usb/net/if_rue.c projects/powernv/dev/usb/net/if_smsc.c projects/powernv/dev/usb/net/if_udav.c projects/powernv/dev/usb/net/if_urndis.c projects/powernv/dev/usb/net/if_usie.c projects/powernv/dev/usb/net/uhso.c projects/powernv/dev/usb/serial/u3g.c projects/powernv/dev/usb/serial/uark.c projects/powernv/dev/usb/serial/ubsa.c projects/powernv/dev/usb/serial/uchcom.c projects/powernv/dev/usb/serial/ucycom.c projects/powernv/dev/usb/serial/ufoma.c projects/powernv/dev/usb/serial/uftdi.c projects/powernv/dev/usb/serial/ugensa.c projects/powernv/dev/usb/serial/uipaq.c projects/powernv/dev/usb/serial/ulpt.c projects/powernv/dev/usb/serial/umcs.c projects/powernv/dev/usb/serial/umct.c projects/powernv/dev/usb/serial/umodem.c projects/powernv/dev/usb/serial/umoscom.c projects/powernv/dev/usb/serial/uplcom.c projects/powernv/dev/usb/serial/uslcom.c projects/powernv/dev/usb/serial/uvisor.c projects/powernv/dev/usb/serial/uvscom.c projects/powernv/dev/usb/storage/umass.c projects/powernv/dev/usb/storage/urio.c projects/powernv/dev/usb/usb_hub.c projects/powernv/dev/usb/usb_lookup.c projects/powernv/dev/usb/usbdevs projects/powernv/dev/usb/usbdi.h projects/powernv/dev/usb/wlan/if_rsu.c projects/powernv/dev/usb/wlan/if_rum.c projects/powernv/dev/usb/wlan/if_run.c projects/powernv/dev/usb/wlan/if_uath.c projects/powernv/dev/usb/wlan/if_upgt.c projects/powernv/dev/usb/wlan/if_ural.c projects/powernv/dev/usb/wlan/if_urtw.c projects/powernv/dev/usb/wlan/if_urtwn.c projects/powernv/dev/usb/wlan/if_urtwnreg.h projects/powernv/dev/usb/wlan/if_urtwnvar.h projects/powernv/dev/usb/wlan/if_zyd.c projects/powernv/dev/vt/hw/ofwfb/ofwfb.c projects/powernv/dev/wi/if_wi_pccard.c projects/powernv/dev/wpi/if_wpi.c projects/powernv/dev/wpi/if_wpi_debug.h projects/powernv/dev/wtap/if_wtap_module.c projects/powernv/dev/wtap/if_wtapvar.h projects/powernv/dev/wtap/plugins/visibility.c projects/powernv/dev/xe/if_xe_pccard.c projects/powernv/fs/cuse/cuse.c projects/powernv/fs/cuse/cuse_ioctl.h projects/powernv/fs/devfs/devfs_vnops.c projects/powernv/fs/ext2fs/ext2_bmap.c projects/powernv/fs/ext2fs/ext2fs.h projects/powernv/fs/fuse/fuse_vnops.c projects/powernv/fs/nfs/nfs.h projects/powernv/fs/nfs/nfs_commonport.c projects/powernv/fs/nfs/nfs_commonsubs.c projects/powernv/fs/nfs/nfs_var.h projects/powernv/fs/nfs/nfsport.h projects/powernv/fs/nfs/nfsrvstate.h projects/powernv/fs/nfsclient/nfs_clbio.c projects/powernv/fs/nfsclient/nfs_clnode.c projects/powernv/fs/nfsclient/nfs_clport.c projects/powernv/fs/nfsserver/nfs_nfsdport.c projects/powernv/fs/nullfs/null_vnops.c projects/powernv/fs/smbfs/smbfs_io.c projects/powernv/fs/tmpfs/tmpfs_subr.c projects/powernv/geom/bde/g_bde.c projects/powernv/geom/bde/g_bde_crypt.c projects/powernv/geom/bde/g_bde_lock.c projects/powernv/geom/bde/g_bde_work.c projects/powernv/geom/eli/g_eli.c projects/powernv/geom/eli/g_eli.h projects/powernv/geom/eli/g_eli_crypto.c projects/powernv/geom/eli/g_eli_key_cache.c projects/powernv/geom/eli/pkcs5v2.c projects/powernv/geom/geom_disk.c projects/powernv/geom/geom_io.c projects/powernv/geom/geom_map.c projects/powernv/geom/multipath/g_multipath.c projects/powernv/geom/part/g_part.c projects/powernv/geom/part/g_part.h projects/powernv/geom/part/g_part_gpt.c projects/powernv/i386/i386/elf_machdep.c projects/powernv/i386/i386/initcpu.c projects/powernv/i386/i386/machdep.c projects/powernv/i386/i386/mp_machdep.c projects/powernv/i386/i386/pmap.c projects/powernv/i386/i386/sys_machdep.c projects/powernv/i386/ibcs2/ibcs2_sysvec.c projects/powernv/i386/include/cputypes.h projects/powernv/i386/include/md_var.h projects/powernv/i386/include/metadata.h projects/powernv/i386/include/pmap.h projects/powernv/i386/include/smp.h projects/powernv/i386/linux/linux_sysvec.c projects/powernv/kern/imgact_aout.c projects/powernv/kern/imgact_elf.c projects/powernv/kern/init_main.c projects/powernv/kern/kern_condvar.c projects/powernv/kern/kern_conf.c projects/powernv/kern/kern_environment.c projects/powernv/kern/kern_exec.c projects/powernv/kern/kern_exit.c projects/powernv/kern/kern_fork.c projects/powernv/kern/kern_jail.c projects/powernv/kern/kern_ktr.c projects/powernv/kern/kern_linker.c projects/powernv/kern/kern_malloc.c projects/powernv/kern/kern_mbuf.c projects/powernv/kern/kern_proc.c projects/powernv/kern/kern_racct.c projects/powernv/kern/kern_rctl.c projects/powernv/kern/kern_resource.c projects/powernv/kern/kern_sig.c projects/powernv/kern/kern_thr.c projects/powernv/kern/kern_thread.c projects/powernv/kern/kern_time.c projects/powernv/kern/kern_timeout.c projects/powernv/kern/link_elf.c projects/powernv/kern/subr_bus_dma.c projects/powernv/kern/subr_capability.c projects/powernv/kern/subr_syscall.c projects/powernv/kern/subr_uio.c projects/powernv/kern/sys_process.c projects/powernv/kern/tty.c projects/powernv/kern/uipc_mbuf.c projects/powernv/kern/uipc_shm.c projects/powernv/kern/uipc_sockbuf.c projects/powernv/kern/uipc_syscalls.c projects/powernv/kern/uipc_usrreq.c projects/powernv/kern/vfs_bio.c projects/powernv/kern/vfs_cache.c projects/powernv/kern/vfs_default.c projects/powernv/kern/vfs_subr.c projects/powernv/kern/vnode_if.src projects/powernv/kgssapi/gss_impl.c projects/powernv/mips/atheros/apb.c projects/powernv/mips/atheros/if_arge.c projects/powernv/mips/atheros/qca953x_chip.c projects/powernv/mips/beri/beri_machdep.c projects/powernv/mips/cavium/cvmx_config.h projects/powernv/mips/conf/RT305X projects/powernv/mips/include/cpufunc.h projects/powernv/mips/include/cpuinfo.h projects/powernv/mips/include/cpuregs.h projects/powernv/mips/include/ofw_machdep.h projects/powernv/mips/include/pmap.h projects/powernv/mips/include/pte.h projects/powernv/mips/mips/cpu.c projects/powernv/mips/mips/elf_machdep.c projects/powernv/mips/mips/freebsd32_machdep.c projects/powernv/mips/mips/pm_machdep.c projects/powernv/mips/mips/pmap.c projects/powernv/mips/mips/uma_machdep.c projects/powernv/mips/rt305x/files.rt305x projects/powernv/mips/rt305x/obio.c projects/powernv/mips/rt305x/rt305x_dotg.c projects/powernv/mips/rt305x/rt305x_machdep.c projects/powernv/mips/rt305x/rt305x_sysctl.c projects/powernv/mips/rt305x/rt305xreg.h projects/powernv/mips/rt305x/uart_bus_rt305x.c projects/powernv/mips/rt305x/uart_cpu_rt305x.c projects/powernv/modules/Makefile projects/powernv/modules/ahci/Makefile projects/powernv/modules/ath/Makefile projects/powernv/modules/cam/Makefile projects/powernv/modules/crypto/Makefile projects/powernv/modules/cxgbe/Makefile projects/powernv/modules/geom/geom_bde/Makefile projects/powernv/modules/geom/geom_eli/Makefile projects/powernv/modules/geom/geom_sched/Makefile projects/powernv/modules/ix/Makefile projects/powernv/modules/ixv/Makefile projects/powernv/modules/mlx5/Makefile projects/powernv/modules/mlx5en/Makefile projects/powernv/modules/mlxen/Makefile projects/powernv/modules/syscons/Makefile projects/powernv/modules/uart/Makefile projects/powernv/modules/usb/Makefile projects/powernv/modules/usb/rsufw/Makefile.inc projects/powernv/modules/usb/urtwnfw/Makefile.inc projects/powernv/modules/zfs/Makefile projects/powernv/net/bpf.c projects/powernv/net/flowtable.c projects/powernv/net/if.c projects/powernv/net/if_arcsubr.c projects/powernv/net/if_ethersubr.c projects/powernv/net/if_fddisubr.c projects/powernv/net/if_fwsubr.c projects/powernv/net/if_gif.c projects/powernv/net/if_gre.c projects/powernv/net/if_iso88025subr.c projects/powernv/net/if_llatbl.c projects/powernv/net/if_llatbl.h projects/powernv/net/if_loop.c projects/powernv/net/if_stf.c projects/powernv/net/if_var.h projects/powernv/net/route.c projects/powernv/net/route.h projects/powernv/net/rtsock.c projects/powernv/net/sff8436.h projects/powernv/net80211/ieee80211_freebsd.c projects/powernv/net80211/ieee80211_freebsd.h projects/powernv/net80211/ieee80211_phy.h projects/powernv/net80211/ieee80211_scan_sw.c projects/powernv/net80211/ieee80211_var.h projects/powernv/netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c projects/powernv/netgraph/bluetooth/drivers/ubt/ng_ubt.c projects/powernv/netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c projects/powernv/netgraph/bluetooth/socket/ng_btsocket_l2cap.c projects/powernv/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/powernv/netgraph/netflow/netflow.c projects/powernv/netgraph/netflow/netflow_v9.c projects/powernv/netgraph/netflow/ng_netflow.c projects/powernv/netinet/cc/cc_cubic.c projects/powernv/netinet/cc/cc_newreno.c projects/powernv/netinet/if_ether.c projects/powernv/netinet/if_ether.h projects/powernv/netinet/igmp.c projects/powernv/netinet/in.c projects/powernv/netinet/in_gif.c projects/powernv/netinet/in_kdtrace.c projects/powernv/netinet/in_kdtrace.h projects/powernv/netinet/in_mcast.c projects/powernv/netinet/in_pcb.c projects/powernv/netinet/in_rmx.c projects/powernv/netinet/ip_encap.c projects/powernv/netinet/ip_icmp.c projects/powernv/netinet/ip_input.c projects/powernv/netinet/ip_mroute.c projects/powernv/netinet/ip_options.c projects/powernv/netinet/ip_output.c projects/powernv/netinet/ip_var.h projects/powernv/netinet/raw_ip.c projects/powernv/netinet/sctp_cc_functions.c projects/powernv/netinet/sctp_indata.c projects/powernv/netinet/sctp_input.c projects/powernv/netinet/sctp_os_bsd.h projects/powernv/netinet/sctp_output.c projects/powernv/netinet/sctp_pcb.c projects/powernv/netinet/sctp_pcb.h projects/powernv/netinet/sctp_structs.h projects/powernv/netinet/sctp_timer.c projects/powernv/netinet/sctp_usrreq.c projects/powernv/netinet/sctputil.c projects/powernv/netinet/sctputil.h projects/powernv/netinet/tcp.h projects/powernv/netinet/tcp_hostcache.c projects/powernv/netinet/tcp_hostcache.h projects/powernv/netinet/tcp_input.c projects/powernv/netinet/tcp_output.c projects/powernv/netinet/tcp_reass.c projects/powernv/netinet/tcp_sack.c projects/powernv/netinet/tcp_subr.c projects/powernv/netinet/tcp_syncache.c projects/powernv/netinet/tcp_syncache.h projects/powernv/netinet/tcp_timer.c projects/powernv/netinet/tcp_usrreq.c projects/powernv/netinet/tcp_var.h projects/powernv/netinet/toecore.c projects/powernv/netinet/udp_usrreq.c projects/powernv/netinet6/frag6.c projects/powernv/netinet6/icmp6.c projects/powernv/netinet6/in6.c projects/powernv/netinet6/in6.h projects/powernv/netinet6/in6_gif.c projects/powernv/netinet6/in6_mcast.c projects/powernv/netinet6/in6_pcb.c projects/powernv/netinet6/in6_rmx.c projects/powernv/netinet6/in6_src.c projects/powernv/netinet6/ip6_output.c projects/powernv/netinet6/ip6_var.h projects/powernv/netinet6/mld6.c projects/powernv/netinet6/nd6.c projects/powernv/netinet6/nd6.h projects/powernv/netinet6/nd6_nbr.c projects/powernv/netinet6/nd6_rtr.c projects/powernv/netinet6/raw_ip6.c projects/powernv/netinet6/scope6.c projects/powernv/netinet6/scope6_var.h projects/powernv/netinet6/sctp6_usrreq.c projects/powernv/netinet6/udp6_usrreq.c projects/powernv/netpfil/ipfw/ip_dn_io.c projects/powernv/netpfil/ipfw/ip_dummynet.c projects/powernv/netpfil/ipfw/ip_fw2.c projects/powernv/netpfil/ipfw/ip_fw_table.c projects/powernv/netpfil/ipfw/ip_fw_table_algo.c projects/powernv/netpfil/pf/pf.c projects/powernv/netpfil/pf/pf_if.c projects/powernv/nfs/nfssvc.h projects/powernv/ofed/drivers/infiniband/hw/mthca/mthca_reset.c projects/powernv/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/powernv/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c projects/powernv/ofed/drivers/net/mlx4/en_main.c projects/powernv/ofed/drivers/net/mlx4/en_netdev.c projects/powernv/ofed/drivers/net/mlx4/en_port.c projects/powernv/ofed/drivers/net/mlx4/en_rx.c projects/powernv/ofed/drivers/net/mlx4/en_tx.c projects/powernv/ofed/drivers/net/mlx4/main.c projects/powernv/ofed/drivers/net/mlx4/mlx4.h projects/powernv/ofed/drivers/net/mlx4/mlx4_en.h projects/powernv/ofed/drivers/net/mlx4/mlx4_stats.h projects/powernv/ofed/drivers/net/mlx4/port.c projects/powernv/ofed/include/linux/mlx4/cq.h projects/powernv/ofed/include/linux/mlx4/device.h projects/powernv/ofed/include/linux/mlx4/doorbell.h projects/powernv/ofed/include/linux/mlx4/qp.h projects/powernv/opencrypto/skipjack.h projects/powernv/opencrypto/xform.c projects/powernv/opencrypto/xform.h projects/powernv/pc98/include/bus.h projects/powernv/powerpc/aim/aim_machdep.c projects/powernv/powerpc/aim/locore32.S projects/powernv/powerpc/aim/locore64.S projects/powernv/powerpc/aim/mp_cpudep.c projects/powernv/powerpc/aim/trap_subr64.S projects/powernv/powerpc/booke/booke_machdep.c projects/powernv/powerpc/booke/locore.S projects/powernv/powerpc/booke/machdep_e500.c projects/powernv/powerpc/booke/pmap.c projects/powernv/powerpc/booke/trap_subr.S projects/powernv/powerpc/conf/GENERIC64 projects/powernv/powerpc/include/asm.h projects/powernv/powerpc/include/cpu.h projects/powernv/powerpc/include/intr_machdep.h projects/powernv/powerpc/include/ofw_machdep.h projects/powernv/powerpc/include/param.h projects/powernv/powerpc/include/pcb.h projects/powernv/powerpc/include/platform.h projects/powernv/powerpc/include/pmap.h projects/powernv/powerpc/include/setjmp.h projects/powernv/powerpc/include/spr.h projects/powernv/powerpc/include/trap.h projects/powernv/powerpc/mpc85xx/fsl_sdhc.c projects/powernv/powerpc/mpc85xx/lbc.c projects/powernv/powerpc/mpc85xx/mpc85xx.c projects/powernv/powerpc/mpc85xx/mpc85xx.h projects/powernv/powerpc/mpc85xx/pci_mpc85xx.c projects/powernv/powerpc/mpc85xx/platform_mpc85xx.c projects/powernv/powerpc/ofw/ofw_machdep.c projects/powernv/powerpc/ofw/rtas.c projects/powernv/powerpc/powermac/grackle.c projects/powernv/powerpc/powerpc/copyinout.c projects/powernv/powerpc/powerpc/cpu.c projects/powernv/powerpc/powerpc/elf32_machdep.c projects/powernv/powerpc/powerpc/elf64_machdep.c projects/powernv/powerpc/powerpc/intr_machdep.c projects/powernv/powerpc/powerpc/machdep.c projects/powernv/powerpc/powerpc/mp_machdep.c projects/powernv/powerpc/powerpc/platform.c projects/powernv/powerpc/powerpc/platform_if.m projects/powernv/powerpc/powerpc/pmap_dispatch.c projects/powernv/powerpc/powerpc/setjmp.S projects/powernv/powerpc/powerpc/sigcode64.S projects/powernv/powerpc/powerpc/trap.c projects/powernv/powerpc/pseries/phyp_llan.c projects/powernv/security/audit/bsm_domain.c projects/powernv/security/audit/bsm_errno.c projects/powernv/security/audit/bsm_fcntl.c projects/powernv/security/audit/bsm_socket_type.c projects/powernv/security/audit/bsm_token.c projects/powernv/security/mac/mac_framework.c projects/powernv/security/mac/mac_internal.h projects/powernv/sparc64/include/ktr.h projects/powernv/sparc64/include/ofw_machdep.h projects/powernv/sparc64/sparc64/elf_machdep.c projects/powernv/sparc64/sparc64/exception.S projects/powernv/sparc64/sparc64/machdep.c projects/powernv/sparc64/sparc64/mp_exception.S projects/powernv/sparc64/sparc64/pmap.c projects/powernv/sparc64/sparc64/swtch.S projects/powernv/sys/bio.h projects/powernv/sys/buf.h projects/powernv/sys/conf.h projects/powernv/sys/copyright.h projects/powernv/sys/efi.h projects/powernv/sys/elf_common.h projects/powernv/sys/fcntl.h projects/powernv/sys/gpt.h projects/powernv/sys/libkern.h projects/powernv/sys/linker.h projects/powernv/sys/mbuf.h projects/powernv/sys/module.h projects/powernv/sys/nv.h projects/powernv/sys/param.h projects/powernv/sys/pmc.h projects/powernv/sys/proc.h projects/powernv/sys/ptrace.h projects/powernv/sys/sf_buf.h projects/powernv/sys/sockbuf.h projects/powernv/sys/socket.h projects/powernv/sys/sysent.h projects/powernv/sys/uio.h projects/powernv/sys/vnode.h projects/powernv/ufs/ffs/ffs_softdep.c projects/powernv/ufs/ffs/ffs_vfsops.c projects/powernv/ufs/ufs/ufs_vnops.c projects/powernv/vm/default_pager.c projects/powernv/vm/device_pager.c projects/powernv/vm/phys_pager.c projects/powernv/vm/sg_pager.c projects/powernv/vm/swap_pager.c projects/powernv/vm/uma.h projects/powernv/vm/uma_core.c projects/powernv/vm/uma_int.h projects/powernv/vm/vm_domain.c projects/powernv/vm/vm_fault.c projects/powernv/vm/vm_glue.c projects/powernv/vm/vm_kern.c projects/powernv/vm/vm_object.c projects/powernv/vm/vm_object.h projects/powernv/vm/vm_page.c projects/powernv/vm/vm_page.h projects/powernv/vm/vm_pageout.c projects/powernv/vm/vm_pageout.h projects/powernv/vm/vm_pager.c projects/powernv/vm/vm_pager.h projects/powernv/vm/vm_phys.c projects/powernv/vm/vm_phys.h projects/powernv/vm/vm_reserv.c projects/powernv/vm/vm_reserv.h projects/powernv/vm/vnode_pager.c projects/powernv/vm/vnode_pager.h projects/powernv/x86/acpica/madt.c projects/powernv/x86/include/specialreg.h projects/powernv/x86/x86/busdma_bounce.c projects/powernv/x86/x86/identcpu.c projects/powernv/x86/x86/local_apic.c projects/powernv/x86/x86/mp_x86.c projects/powernv/x86/xen/pv.c projects/powernv/x86/xen/xen_apic.c projects/powernv/xen/xenbus/xenbusb.c Directory Properties: projects/powernv/ (props changed) projects/powernv/boot/ (props changed) projects/powernv/boot/powerpc/boot1.chrp/ (props changed) projects/powernv/boot/powerpc/kboot/ (props changed) projects/powernv/cddl/contrib/opensolaris/ (props changed) projects/powernv/conf/ (props changed) projects/powernv/contrib/ipfilter/ (props changed) projects/powernv/dev/hyperv/ (props changed) Modified: projects/powernv/amd64/amd64/elf_machdep.c ============================================================================== --- projects/powernv/amd64/amd64/elf_machdep.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/amd64/elf_machdep.c Sun Jan 10 21:29:22 2016 (r293644) @@ -80,6 +80,7 @@ struct sysentvec elf64_freebsd_sysvec = .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = NULL, .sv_thread_detach = NULL, + .sv_trap = NULL, }; INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); Modified: projects/powernv/amd64/amd64/initcpu.c ============================================================================== --- projects/powernv/amd64/amd64/initcpu.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/amd64/initcpu.c Sun Jan 10 21:29:22 2016 (r293644) @@ -55,37 +55,6 @@ SYSCTL_INT(_hw, OID_AUTO, instruction_ss */ static int hw_clflush_disable = -1; -int cpu; /* Are we 386, 386sx, 486, etc? */ -u_int cpu_feature; /* Feature flags */ -u_int cpu_feature2; /* Feature flags */ -u_int amd_feature; /* AMD feature flags */ -u_int amd_feature2; /* AMD feature flags */ -u_int amd_pminfo; /* AMD advanced power management info */ -u_int via_feature_rng; /* VIA RNG features */ -u_int via_feature_xcrypt; /* VIA ACE features */ -u_int cpu_high; /* Highest arg to CPUID */ -u_int cpu_exthigh; /* Highest arg to extended CPUID */ -u_int cpu_id; /* Stepping ID */ -u_int cpu_procinfo; /* HyperThreading Info / Brand Index / CLFUSH */ -u_int cpu_procinfo2; /* Multicore info */ -char cpu_vendor[20]; /* CPU Origin code */ -u_int cpu_vendor_id; /* CPU vendor ID */ -u_int cpu_fxsr; /* SSE enabled */ -u_int cpu_mxcsr_mask; /* Valid bits in mxcsr */ -u_int cpu_clflush_line_size = 32; -u_int cpu_stdext_feature; -u_int cpu_stdext_feature2; -u_int cpu_max_ext_state_size; -u_int cpu_mon_mwait_flags; /* MONITOR/MWAIT flags (CPUID.05H.ECX) */ -u_int cpu_mon_min_size; /* MONITOR minimum range size, bytes */ -u_int cpu_mon_max_size; /* MONITOR minimum range size, bytes */ -u_int cpu_maxphyaddr; /* Max phys addr width in bits */ - -SYSCTL_UINT(_hw, OID_AUTO, via_feature_rng, CTLFLAG_RD, - &via_feature_rng, 0, "VIA RNG feature available in CPU"); -SYSCTL_UINT(_hw, OID_AUTO, via_feature_xcrypt, CTLFLAG_RD, - &via_feature_xcrypt, 0, "VIA xcrypt feature available in CPU"); - static void init_amd(void) { Modified: projects/powernv/amd64/amd64/machdep.c ============================================================================== --- projects/powernv/amd64/amd64/machdep.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/amd64/machdep.c Sun Jan 10 21:29:22 2016 (r293644) @@ -188,6 +188,12 @@ extern char kernphys[]; struct msgbuf *msgbufp; +/* + * Physical address of the EFI System Table. Stashed from the metadata hints + * passed into the kernel and used by the EFI code to call runtime services. + */ +vm_paddr_t efi_systbl; + /* Intel ICH registers */ #define ICH_PMBASE 0x400 #define ICH_SMI_EN ICH_PMBASE + 0x30 @@ -798,12 +804,7 @@ struct soft_segment_descriptor gdt_segs[ }; void -setidt(idx, func, typ, dpl, ist) - int idx; - inthand_t *func; - int typ; - int dpl; - int ist; +setidt(int idx, inthand_t *func, int typ, int dpl, int ist) { struct gate_descriptor *ip; @@ -1483,6 +1484,7 @@ static caddr_t native_parse_preload_data(u_int64_t modulep) { caddr_t kmdp; + char *envp; #ifdef DDB vm_offset_t ksym_start; vm_offset_t ksym_end; @@ -1494,12 +1496,16 @@ native_parse_preload_data(u_int64_t modu if (kmdp == NULL) kmdp = preload_search_by_type("elf64 kernel"); boothowto = MD_FETCH(kmdp, MODINFOMD_HOWTO, int); - kern_envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *) + KERNBASE; + envp = MD_FETCH(kmdp, MODINFOMD_ENVP, char *); + if (envp != NULL) + envp += KERNBASE; + init_static_kenv(envp, 0); #ifdef DDB ksym_start = MD_FETCH(kmdp, MODINFOMD_SSYM, uintptr_t); ksym_end = MD_FETCH(kmdp, MODINFOMD_ESYM, uintptr_t); db_fetch_ksymtab(ksym_start, ksym_end); #endif + efi_systbl = MD_FETCH(kmdp, MODINFOMD_FW_HANDLE, vm_paddr_t); return (kmdp); } @@ -1620,6 +1626,8 @@ hammer_time(u_int64_t modulep, u_int64_t /* * Use vt(4) by default for UEFI boot (during the sc(4)/vt(4) * transition). + * Once bootblocks have updated, we can test directly for + * efi_systbl != NULL here... */ if (preload_search_info(kmdp, MODINFO_METADATA | MODINFOMD_EFI_MAP) != NULL) Modified: projects/powernv/amd64/amd64/mp_machdep.c ============================================================================== --- projects/powernv/amd64/amd64/mp_machdep.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/amd64/mp_machdep.c Sun Jan 10 21:29:22 2016 (r293644) @@ -87,11 +87,6 @@ extern struct pcpu __pcpu[]; char *doublefault_stack; char *nmi_stack; -/* Variables needed for SMP tlb shootdown. */ -static vm_offset_t smp_tlb_addr1, smp_tlb_addr2; -static pmap_t smp_tlb_pmap; -volatile int smp_tlb_wait; - extern inthand_t IDTVEC(fast_syscall), IDTVEC(fast_syscall32); /* @@ -410,121 +405,6 @@ start_ap(int apic_id) return 0; /* return FAILURE */ } -/* - * Flush the TLB on other CPU's - */ - -static void -smp_targeted_tlb_shootdown(cpuset_t mask, u_int vector, pmap_t pmap, - vm_offset_t addr1, vm_offset_t addr2) -{ - int cpu, ncpu, othercpus; - - othercpus = mp_ncpus - 1; /* does not shootdown self */ - - /* - * Check for other cpus. Return if none. - */ - if (CPU_ISFULLSET(&mask)) { - if (othercpus < 1) - return; - } else { - CPU_CLR(PCPU_GET(cpuid), &mask); - if (CPU_EMPTY(&mask)) - return; - } - - if (!(read_rflags() & PSL_I)) - panic("%s: interrupts disabled", __func__); - mtx_lock_spin(&smp_ipi_mtx); - smp_tlb_addr1 = addr1; - smp_tlb_addr2 = addr2; - smp_tlb_pmap = pmap; - smp_tlb_wait = 0; - if (CPU_ISFULLSET(&mask)) { - ncpu = othercpus; - ipi_all_but_self(vector); - } else { - ncpu = 0; - while ((cpu = CPU_FFS(&mask)) != 0) { - cpu--; - CPU_CLR(cpu, &mask); - CTR3(KTR_SMP, "%s: cpu: %d ipi: %x", __func__, - cpu, vector); - ipi_send_cpu(cpu, vector); - ncpu++; - } - } - while (smp_tlb_wait < ncpu) - ia32_pause(); - mtx_unlock_spin(&smp_ipi_mtx); -} - -void -smp_masked_invltlb(cpuset_t mask, pmap_t pmap) -{ - - if (smp_started) { - smp_targeted_tlb_shootdown(mask, IPI_INVLTLB, pmap, 0, 0); -#ifdef COUNT_XINVLTLB_HITS - ipi_global++; -#endif - } -} - -void -smp_masked_invlpg(cpuset_t mask, vm_offset_t addr) -{ - - if (smp_started) { - smp_targeted_tlb_shootdown(mask, IPI_INVLPG, NULL, addr, 0); -#ifdef COUNT_XINVLTLB_HITS - ipi_page++; -#endif - } -} - -void -smp_masked_invlpg_range(cpuset_t mask, vm_offset_t addr1, vm_offset_t addr2) -{ - - if (smp_started) { - smp_targeted_tlb_shootdown(mask, IPI_INVLRNG, NULL, - addr1, addr2); -#ifdef COUNT_XINVLTLB_HITS - ipi_range++; - ipi_range_size += (addr2 - addr1) / PAGE_SIZE; -#endif - } -} - -void -smp_cache_flush(void) -{ - - if (smp_started) { - smp_targeted_tlb_shootdown(all_cpus, IPI_INVLCACHE, NULL, - 0, 0); - } -} - -/* - * Handlers for TLB related IPIs - */ -void -invltlb_handler(void) -{ -#ifdef COUNT_XINVLTLB_HITS - xhits_gbl[PCPU_GET(cpuid)]++; -#endif /* COUNT_XINVLTLB_HITS */ -#ifdef COUNT_IPIS - (*ipi_invltlb_counts[PCPU_GET(cpuid)])++; -#endif /* COUNT_IPIS */ - - invltlb(); - atomic_add_int(&smp_tlb_wait, 1); -} - void invltlb_invpcid_handler(void) { @@ -556,7 +436,7 @@ invltlb_pcid_handler(void) #endif /* COUNT_IPIS */ if (smp_tlb_pmap == kernel_pmap) { - invltlb_globpcid(); + invltlb_glob(); } else { /* * The current pmap might not be equal to @@ -572,38 +452,3 @@ invltlb_pcid_handler(void) } atomic_add_int(&smp_tlb_wait, 1); } - -void -invlpg_handler(void) -{ -#ifdef COUNT_XINVLTLB_HITS - xhits_pg[PCPU_GET(cpuid)]++; -#endif /* COUNT_XINVLTLB_HITS */ -#ifdef COUNT_IPIS - (*ipi_invlpg_counts[PCPU_GET(cpuid)])++; -#endif /* COUNT_IPIS */ - - invlpg(smp_tlb_addr1); - atomic_add_int(&smp_tlb_wait, 1); -} - -void -invlrng_handler(void) -{ - vm_offset_t addr; - -#ifdef COUNT_XINVLTLB_HITS - xhits_rng[PCPU_GET(cpuid)]++; -#endif /* COUNT_XINVLTLB_HITS */ -#ifdef COUNT_IPIS - (*ipi_invlrng_counts[PCPU_GET(cpuid)])++; -#endif /* COUNT_IPIS */ - - addr = smp_tlb_addr1; - do { - invlpg(addr); - addr += PAGE_SIZE; - } while (addr < smp_tlb_addr2); - - atomic_add_int(&smp_tlb_wait, 1); -} Modified: projects/powernv/amd64/amd64/pmap.c ============================================================================== --- projects/powernv/amd64/amd64/pmap.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/amd64/pmap.c Sun Jan 10 21:29:22 2016 (r293644) @@ -1321,7 +1321,7 @@ pmap_update_pde_invalidate(pmap_t pmap, * Promotion: flush every 4KB page mapping from the TLB, * including any global (PG_G) mappings. */ - invltlb_globpcid(); + invltlb_glob(); } } #ifdef SMP @@ -1421,6 +1421,9 @@ pmap_invalidate_page(pmap_t pmap, vm_off sched_unpin(); } +/* 4k PTEs -- Chosen to exceed the total size of Broadwell L2 TLB */ +#define PMAP_INVLPG_THRESHOLD (4 * 1024 * PAGE_SIZE) + void pmap_invalidate_range(pmap_t pmap, vm_offset_t sva, vm_offset_t eva) { @@ -1428,6 +1431,11 @@ pmap_invalidate_range(pmap_t pmap, vm_of vm_offset_t addr; u_int cpuid, i; + if (eva - sva >= PMAP_INVLPG_THRESHOLD) { + pmap_invalidate_all(pmap); + return; + } + if (pmap_type_guest(pmap)) { pmap_invalidate_ept(pmap); return; @@ -1482,7 +1490,7 @@ pmap_invalidate_all(pmap_t pmap) bzero(&d, sizeof(d)); invpcid(&d, INVPCID_CTXGLOB); } else { - invltlb_globpcid(); + invltlb_glob(); } mask = &all_cpus; } else { @@ -1653,7 +1661,7 @@ pmap_invalidate_all(pmap_t pmap) bzero(&d, sizeof(d)); invpcid(&d, INVPCID_CTXGLOB); } else { - invltlb_globpcid(); + invltlb_glob(); } } else if (pmap == PCPU_GET(curpmap)) { if (pmap_pcid_enabled) { Modified: projects/powernv/amd64/amd64/trap.c ============================================================================== --- projects/powernv/amd64/amd64/trap.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/amd64/trap.c Sun Jan 10 21:29:22 2016 (r293644) @@ -322,6 +322,13 @@ trap(struct trapframe *frame) break; case T_PAGEFLT: /* page fault */ + /* + * Emulator can take care about this trap? + */ + if (*p->p_sysent->sv_trap != NULL && + (*p->p_sysent->sv_trap)(td) == 0) + goto userout; + addr = frame->tf_addr; i = trap_pfault(frame, TRUE); if (i == -1) Modified: projects/powernv/amd64/include/cpufunc.h ============================================================================== --- projects/powernv/amd64/include/cpufunc.h Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/include/cpufunc.h Sun Jan 10 21:29:22 2016 (r293644) @@ -505,7 +505,7 @@ invltlb(void) * Operations that Invalidate TLBs and Paging-Structure Caches. */ static __inline void -invltlb_globpcid(void) +invltlb_glob(void) { uint64_t cr4; Modified: projects/powernv/amd64/include/cputypes.h ============================================================================== --- projects/powernv/amd64/include/cputypes.h Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/include/cputypes.h Sun Jan 10 21:29:22 2016 (r293644) @@ -30,6 +30,8 @@ #ifndef _MACHINE_CPUTYPES_H_ #define _MACHINE_CPUTYPES_H_ +#include + /* * Classes of processor. */ @@ -43,17 +45,4 @@ #define CPU_CLAWHAMMER 1 /* AMD Clawhammer */ #define CPU_SLEDGEHAMMER 2 /* AMD Sledgehammer */ -/* - * Vendors of processor. - */ -#define CPU_VENDOR_AMD 0x1022 /* AMD */ -#define CPU_VENDOR_IDT 0x111d /* Centaur/IDT/VIA */ -#define CPU_VENDOR_INTEL 0x8086 /* Intel */ -#define CPU_VENDOR_CENTAUR CPU_VENDOR_IDT - -#ifndef LOCORE -extern int cpu; -extern int cpu_class; -#endif - #endif /* !_MACHINE_CPUTYPES_H_ */ Modified: projects/powernv/amd64/include/md_var.h ============================================================================== --- projects/powernv/amd64/include/md_var.h Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/include/md_var.h Sun Jan 10 21:29:22 2016 (r293644) @@ -32,69 +32,17 @@ #ifndef _MACHINE_MD_VAR_H_ #define _MACHINE_MD_VAR_H_ -/* - * Miscellaneous machine-dependent declarations. - */ - -extern long Maxmem; -extern u_int basemem; -extern int busdma_swi_pending; -extern u_int cpu_exthigh; -extern u_int cpu_feature; -extern u_int cpu_feature2; -extern u_int amd_feature; -extern u_int amd_feature2; -extern u_int amd_pminfo; -extern u_int via_feature_rng; -extern u_int via_feature_xcrypt; -extern u_int cpu_clflush_line_size; -extern u_int cpu_stdext_feature; -extern u_int cpu_stdext_feature2; -extern u_int cpu_fxsr; -extern u_int cpu_high; -extern u_int cpu_id; -extern u_int cpu_max_ext_state_size; -extern u_int cpu_mxcsr_mask; -extern u_int cpu_procinfo; -extern u_int cpu_procinfo2; -extern char cpu_vendor[]; -extern u_int cpu_vendor_id; -extern u_int cpu_mon_mwait_flags; -extern u_int cpu_mon_min_size; -extern u_int cpu_mon_max_size; -extern u_int cpu_maxphyaddr; -extern char ctx_switch_xsave[]; -extern u_int hv_high; -extern char hv_vendor[]; -extern char kstack[]; -extern char sigcode[]; -extern int szsigcode; -extern uint64_t *vm_page_dump; -extern int vm_page_dump_size; -extern int workaround_erratum383; -extern int _udatasel; -extern int _ucodesel; -extern int _ucode32sel; -extern int _ufssel; -extern int _ugssel; -extern int use_xsave; -extern uint64_t xsave_mask; +#include +extern uint64_t *vm_page_dump; + +/* XXX */ typedef void alias_for_inthand_t(u_int cs, u_int ef, u_int esp, u_int ss); -struct pcb; + struct savefpu; -struct thread; -struct reg; -struct fpreg; -struct dbreg; -struct dumperinfo; -void *alloc_fpusave(int flags); +void amd64_db_resume_dbreg(void); void amd64_syscall(struct thread *td, int traced); -void busdma_swi(void); -bool cpu_mwait_usable(void); -void cpu_probe_amdc1e(void); -void cpu_setregs(void); void doreti_iret(void) __asm(__STRING(doreti_iret)); void doreti_iret_fault(void) __asm(__STRING(doreti_iret_fault)); void ld_ds(void) __asm(__STRING(ld_ds)); @@ -109,26 +57,10 @@ void fs_load_fault(void) __asm(__STRING( void gs_load_fault(void) __asm(__STRING(gs_load_fault)); void fsbase_load_fault(void) __asm(__STRING(fsbase_load_fault)); void gsbase_load_fault(void) __asm(__STRING(gsbase_load_fault)); -void dump_add_page(vm_paddr_t); -void dump_drop_page(vm_paddr_t); -void identify_cpu(void); -void initializecpu(void); -void initializecpucache(void); -bool intel_fix_cpuid(void); -void fillw(int /*u_short*/ pat, void *base, size_t cnt); void fpstate_drop(struct thread *td); -int is_physical_memory(vm_paddr_t addr); -int isa_nmi(int cd); -void panicifcpuunsupported(void); -void pagecopy(void *from, void *to); void pagezero(void *addr); -void printcpuinfo(void); void setidt(int idx, alias_for_inthand_t *func, int typ, int dpl, int ist); -int user_dbreg_trap(void); -int minidumpsys(struct dumperinfo *); struct savefpu *get_pcb_user_save_td(struct thread *td); struct savefpu *get_pcb_user_save_pcb(struct pcb *pcb); -struct pcb *get_pcb_td(struct thread *td); -void amd64_db_resume_dbreg(void); #endif /* !_MACHINE_MD_VAR_H_ */ Copied: projects/powernv/amd64/include/metadata.h (from r293643, head/sys/amd64/include/metadata.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/powernv/amd64/include/metadata.h Sun Jan 10 21:29:22 2016 (r293644, copy of r293643, head/sys/amd64/include/metadata.h) @@ -0,0 +1,6 @@ +/*- + * This file is in the public domain. + */ +/* $FreeBSD$ */ + +#include Modified: projects/powernv/amd64/include/smp.h ============================================================================== --- projects/powernv/amd64/include/smp.h Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/include/smp.h Sun Jan 10 21:29:22 2016 (r293644) @@ -19,105 +19,25 @@ #ifndef LOCORE -#include -#include -#include -#include -#include +#include + +extern int pmap_pcid_enabled; +extern int invpcid_works; /* global symbols in mpboot.S */ extern char mptramp_start[]; extern char mptramp_end[]; extern u_int32_t mptramp_pagetables; -/* global data in mp_machdep.c */ -extern int mp_naps; -extern int boot_cpu_id; -extern struct pcb stoppcbs[]; -extern int cpu_apic_ids[]; -extern void *dpcpu; -extern char *bootSTK; -extern int bootAP; -extern void *bootstacks[]; -extern volatile u_int cpu_ipi_pending[]; -extern volatile int aps_ready; -extern struct mtx ap_boot_mtx; -extern int cpu_logical; -extern int cpu_cores; -extern int pmap_pcid_enabled; -extern int invpcid_works; -extern u_int xhits_gbl[]; -extern u_int xhits_pg[]; -extern u_int xhits_rng[]; -extern u_int ipi_global; -extern u_int ipi_page; -extern u_int ipi_range; -extern u_int ipi_range_size; - -extern volatile int smp_tlb_wait; - -struct cpu_info { - int cpu_present:1; - int cpu_bsp:1; - int cpu_disabled:1; - int cpu_hyperthread:1; -}; -extern struct cpu_info cpu_info[]; - -#ifdef COUNT_IPIS -extern u_long *ipi_invltlb_counts[MAXCPU]; -extern u_long *ipi_invlrng_counts[MAXCPU]; -extern u_long *ipi_invlpg_counts[MAXCPU]; -extern u_long *ipi_invlcache_counts[MAXCPU]; -extern u_long *ipi_rendezvous_counts[MAXCPU]; -#endif - /* IPI handlers */ inthand_t - IDTVEC(invltlb), /* TLB shootdowns - global */ IDTVEC(invltlb_pcid), /* TLB shootdowns - global, pcid */ IDTVEC(invltlb_invpcid),/* TLB shootdowns - global, invpcid */ - IDTVEC(invlpg), /* TLB shootdowns - 1 page */ - IDTVEC(invlrng), /* TLB shootdowns - page range */ - IDTVEC(invlcache), /* Write back and invalidate cache */ - IDTVEC(ipi_intr_bitmap_handler), /* Bitmap based IPIs */ - IDTVEC(cpustop), /* CPU stops & waits to be restarted */ - IDTVEC(cpususpend), /* CPU suspends & waits to be resumed */ - IDTVEC(justreturn), /* interrupt CPU with minimum overhead */ - IDTVEC(rendezvous); /* handle CPU rendezvous */ - -struct pmap; - -/* functions in mp_machdep.c */ -void assign_cpu_ids(void); -void cpu_add(u_int apic_id, char boot_cpu); -void cpustop_handler(void); -void cpususpend_handler(void); -void init_secondary_tail(void); -void invltlb_handler(void); + IDTVEC(justreturn); /* interrupt CPU with minimum overhead */ + void invltlb_pcid_handler(void); void invltlb_invpcid_handler(void); -void invlpg_handler(void); -void invlrng_handler(void); -void invlcache_handler(void); -void init_secondary(void); -void ipi_startup(int apic_id, int vector); -void ipi_all_but_self(u_int ipi); -void ipi_bitmap_handler(struct trapframe frame); -void ipi_cpu(int cpu, u_int ipi); -int ipi_nmi_handler(void); -void ipi_selected(cpuset_t cpus, u_int ipi); -u_int mp_bootaddress(u_int); -void set_interrupt_apic_ids(void); -void smp_cache_flush(void); -void smp_masked_invlpg(cpuset_t mask, vm_offset_t addr); -void smp_masked_invlpg_range(cpuset_t mask, vm_offset_t startva, - vm_offset_t endva); -void smp_masked_invltlb(cpuset_t mask, struct pmap *pmap); int native_start_all_aps(void); -void mem_range_AP_init(void); -void topo_probe(void); -void ipi_send_cpu(int cpu, u_int ipi); #endif /* !LOCORE */ #endif /* SMP */ Modified: projects/powernv/amd64/linux/linux_sysvec.c ============================================================================== --- projects/powernv/amd64/linux/linux_sysvec.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/linux/linux_sysvec.c Sun Jan 10 21:29:22 2016 (r293644) @@ -129,6 +129,7 @@ static void linux_set_syscall_retval(str static int linux_fetch_syscall_args(struct thread *td, struct syscall_args *sa); static void linux_exec_setregs(struct thread *td, struct image_params *imgp, u_long stack); +static int linux_vsyscall(struct thread *td); /* * Linux syscalls return negative errno's, we do positive and map them @@ -746,6 +747,53 @@ exec_linux_imgact_try(struct image_param return(error); } +#define LINUX_VSYSCALL_START (-10UL << 20) +#define LINUX_VSYSCALL_SZ 1024 + +const unsigned long linux_vsyscall_vector[] = { + LINUX_SYS_gettimeofday, + LINUX_SYS_linux_time, + /* getcpu not implemented */ +}; + +static int +linux_vsyscall(struct thread *td) +{ + struct trapframe *frame; + uint64_t retqaddr; + int code, traced; + int error; + + frame = td->td_frame; + + /* Check %rip for vsyscall area */ + if (__predict_true(frame->tf_rip < LINUX_VSYSCALL_START)) + return (EINVAL); + if ((frame->tf_rip & (LINUX_VSYSCALL_SZ - 1)) != 0) + return (EINVAL); + code = (frame->tf_rip - LINUX_VSYSCALL_START) / LINUX_VSYSCALL_SZ; + if (code >= nitems(linux_vsyscall_vector)) + return (EINVAL); + + /* + * vsyscall called as callq *(%rax), so we must + * use return address from %rsp and also fixup %rsp + */ + error = copyin((void *)frame->tf_rsp, &retqaddr, sizeof(retqaddr)); + if (error) + return (error); + + frame->tf_rip = retqaddr; + frame->tf_rax = linux_vsyscall_vector[code]; + frame->tf_rsp += 8; + + traced = (frame->tf_flags & PSL_T); + + amd64_syscall(td, traced); + + return (0); +} + struct sysentvec elf_linux_sysvec = { .sv_size = LINUX_SYS_MAXSYSCALL, .sv_table = linux_sysent, @@ -778,7 +826,8 @@ struct sysentvec elf_linux_sysvec = { .sv_shared_page_base = SHAREDPAGE, .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = linux_schedtail, - .sv_thread_detach = linux_thread_detach + .sv_thread_detach = linux_thread_detach, + .sv_trap = linux_vsyscall, }; static void Modified: projects/powernv/amd64/linux32/linux32_sysvec.c ============================================================================== --- projects/powernv/amd64/linux32/linux32_sysvec.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/amd64/linux32/linux32_sysvec.c Sun Jan 10 21:29:22 2016 (r293644) @@ -1040,6 +1040,7 @@ struct sysentvec elf_linux_sysvec = { .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = linux_schedtail, .sv_thread_detach = linux_thread_detach, + .sv_trap = NULL, }; static void Modified: projects/powernv/arm/allwinner/a10_mmc.c ============================================================================== --- projects/powernv/arm/allwinner/a10_mmc.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/allwinner/a10_mmc.c Sun Jan 10 21:29:22 2016 (r293644) @@ -883,3 +883,4 @@ static driver_t a10_mmc_driver = { }; DRIVER_MODULE(a10_mmc, simplebus, a10_mmc_driver, a10_mmc_devclass, 0, 0); +DRIVER_MODULE(mmc, a10_mmc, mmc_driver, mmc_devclass, NULL, NULL); Modified: projects/powernv/arm/allwinner/a20/a20_mp.c ============================================================================== --- projects/powernv/arm/allwinner/a20/a20_mp.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/allwinner/a20/a20_mp.c Sun Jan 10 21:29:22 2016 (r293644) @@ -61,7 +61,7 @@ void platform_mp_init_secondary(void) { - arm_pic_init_secondary(); + intr_pic_init_secondary(); } void Modified: projects/powernv/arm/altera/socfpga/socfpga_mp.c ============================================================================== --- projects/powernv/arm/altera/socfpga/socfpga_mp.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/altera/socfpga/socfpga_mp.c Sun Jan 10 21:29:22 2016 (r293644) @@ -87,7 +87,7 @@ void platform_mp_init_secondary(void) { - arm_pic_init_secondary(); + intr_pic_init_secondary(); } void Copied: projects/powernv/arm/amlogic/aml8726/aml8726_if_dwc.c (from r293643, head/sys/arm/amlogic/aml8726/aml8726_if_dwc.c) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/powernv/arm/amlogic/aml8726/aml8726_if_dwc.c Sun Jan 10 21:29:22 2016 (r293644, copy of r293643, head/sys/arm/amlogic/aml8726/aml8726_if_dwc.c) @@ -0,0 +1,98 @@ +/*- + * Copyright (c) 2015 Ganbold Tsagaankhuu + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE 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. + */ + +#include +__FBSDID("$FreeBSD$"); + +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include "if_dwc_if.h" + +static int +aml8726_if_dwc_probe(device_t dev) +{ + + if (!ofw_bus_status_okay(dev)) + return (ENXIO); + if (!ofw_bus_is_compatible(dev, "amlogic,meson6-dwmac")) + return (ENXIO); + device_set_desc(dev, "Amlogic Meson Gigabit Ethernet Controller"); + + return (BUS_PROBE_DEFAULT); +} + +static int +aml8726_if_dwc_init(device_t dev) +{ + + return (0); +} + +static int +aml8726_if_dwc_mac_type(device_t dev) +{ + + return (DWC_GMAC_ALT_DESC); +} + +static int +aml8726_if_dwc_mii_clk(device_t dev) +{ + + return (GMAC_MII_CLK_100_150M_DIV62); +} + +static device_method_t aml8726_dwc_methods[] = { + DEVMETHOD(device_probe, aml8726_if_dwc_probe), + + DEVMETHOD(if_dwc_init, aml8726_if_dwc_init), + DEVMETHOD(if_dwc_mac_type, aml8726_if_dwc_mac_type), + DEVMETHOD(if_dwc_mii_clk, aml8726_if_dwc_mii_clk), + + DEVMETHOD_END +}; + +static devclass_t aml8726_dwc_devclass; + +extern driver_t dwc_driver; + +DEFINE_CLASS_1(dwc, aml8726_dwc_driver, aml8726_dwc_methods, + sizeof(struct dwc_softc), dwc_driver); +DRIVER_MODULE(aml8726_dwc, simplebus, aml8726_dwc_driver, + aml8726_dwc_devclass, 0, 0); + +MODULE_DEPEND(aml8726_dwc, dwc, 1, 1, 1); Modified: projects/powernv/arm/amlogic/aml8726/aml8726_mmc.c ============================================================================== --- projects/powernv/arm/amlogic/aml8726/aml8726_mmc.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/amlogic/aml8726/aml8726_mmc.c Sun Jan 10 21:29:22 2016 (r293644) @@ -1098,3 +1098,4 @@ static devclass_t aml8726_mmc_devclass; DRIVER_MODULE(aml8726_mmc, simplebus, aml8726_mmc_driver, aml8726_mmc_devclass, 0, 0); MODULE_DEPEND(aml8726_mmc, aml8726_gpio, 1, 1, 1); +DRIVER_MODULE(mmc, aml8726_mmc, mmc_driver, mmc_devclass, NULL, NULL); Modified: projects/powernv/arm/amlogic/aml8726/aml8726_mp.c ============================================================================== --- projects/powernv/arm/amlogic/aml8726/aml8726_mp.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/amlogic/aml8726/aml8726_mp.c Sun Jan 10 21:29:22 2016 (r293644) @@ -351,7 +351,7 @@ platform_mp_init_secondary(void) * each AP. */ - arm_pic_init_secondary(); + intr_pic_init_secondary(); } Modified: projects/powernv/arm/amlogic/aml8726/aml8726_sdxc-m8.c ============================================================================== --- projects/powernv/arm/amlogic/aml8726/aml8726_sdxc-m8.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/amlogic/aml8726/aml8726_sdxc-m8.c Sun Jan 10 21:29:22 2016 (r293644) @@ -1377,3 +1377,4 @@ static devclass_t aml8726_sdxc_devclass; DRIVER_MODULE(aml8726_sdxc, simplebus, aml8726_sdxc_driver, aml8726_sdxc_devclass, 0, 0); MODULE_DEPEND(aml8726_sdxc, aml8726_gpio, 1, 1, 1); +DRIVER_MODULE(mmc, aml8726_sdxc, mmc_driver, mmc_devclass, NULL, NULL); Modified: projects/powernv/arm/amlogic/aml8726/files.aml8726 ============================================================================== --- projects/powernv/arm/amlogic/aml8726/files.aml8726 Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/amlogic/aml8726/files.aml8726 Sun Jan 10 21:29:22 2016 (r293644) @@ -28,3 +28,4 @@ arm/amlogic/aml8726/aml8726_pinctrl.c o arm/amlogic/aml8726/uart_dev_aml8726.c optional uart arm/amlogic/aml8726/aml8726_usb_phy-m3.c optional dwcotg usb gpio arm/amlogic/aml8726/aml8726_usb_phy-m6.c optional dwcotg usb gpio +arm/amlogic/aml8726/aml8726_if_dwc.c optional dwc Modified: projects/powernv/arm/annapurna/alpine/alpine_machdep_mp.c ============================================================================== --- projects/powernv/arm/annapurna/alpine/alpine_machdep_mp.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/annapurna/alpine/alpine_machdep_mp.c Sun Jan 10 21:29:22 2016 (r293644) @@ -122,7 +122,7 @@ void platform_mp_init_secondary(void) { - arm_pic_init_secondary(); + intr_pic_init_secondary(); } void Modified: projects/powernv/arm/arm/db_interface.c ============================================================================== --- projects/powernv/arm/arm/db_interface.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/arm/db_interface.c Sun Jan 10 21:29:22 2016 (r293644) @@ -152,6 +152,10 @@ int db_frame(struct db_variable *vp, db_ void db_show_mdpcpu(struct pcpu *pc) { + +#if __ARM_ARCH >= 6 + db_printf("curpmap = %p\n", pc->pc_curpmap); +#endif } int db_validate_address(vm_offset_t addr) Modified: projects/powernv/arm/arm/elf_machdep.c ============================================================================== --- projects/powernv/arm/arm/elf_machdep.c Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/arm/elf_machdep.c Sun Jan 10 21:29:22 2016 (r293644) @@ -43,6 +43,7 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include #include @@ -73,13 +74,21 @@ struct sysentvec elf32_freebsd_sysvec = .sv_setregs = exec_setregs, .sv_fixlimit = NULL, .sv_maxssiz = NULL, - .sv_flags = SV_ABI_FREEBSD | SV_ILP32, + .sv_flags = +#if __ARM_ARCH >= 6 + SV_SHP | SV_TIMEKEEP | +#endif + SV_ABI_FREEBSD | SV_ILP32, .sv_set_syscall_retval = cpu_set_syscall_retval, .sv_fetch_syscall_args = cpu_fetch_syscall_args, .sv_syscallnames = syscallnames, + .sv_shared_page_base = SHAREDPAGE, + .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = NULL, .sv_thread_detach = NULL, + .sv_trap = NULL, }; +INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec); static Elf32_Brandinfo freebsd_brand_info = { .brand = ELFOSABI_FREEBSD, Modified: projects/powernv/arm/arm/exception.S ============================================================================== --- projects/powernv/arm/arm/exception.S Sun Jan 10 20:10:34 2016 (r293643) +++ projects/powernv/arm/arm/exception.S Sun Jan 10 21:29:22 2016 (r293644) @@ -52,13 +52,15 @@ #include #include #include +#include + __FBSDID("$FreeBSD$"); #ifdef KDTRACE_HOOKS .bss .align 4 - .global _C_LABEL(dtrace_invop_calltrap_addr) -_C_LABEL(dtrace_invop_calltrap_addr): + .global _C_LABEL(dtrace_invop_jump_addr) +_C_LABEL(dtrace_invop_jump_addr): .word 0 .word 0 #endif @@ -361,9 +363,39 @@ END(data_abort_entry) */ ASENTRY_NP(undefined_entry) PUSHFRAMEINSVC /* mode stack, build trapframe there. */ + mov r4, r0 /* R0 contains SPSR */ adr lr, exception_exit /* Return from handler via standard */ - mov r0, sp /* exception exit routine. Pass the */ - b undefinedinstruction /* trapframe to the handler. */ + mov r0, sp /* exception exit routine. pass frame */ + + ldr r2, [sp, #(TF_PC)] /* load pc */ +#if __ARM_ARCH >= 7 + tst r4, #(PSR_T) /* test if PSR_T */ + subne r2, r2, #(THUMB_INSN_SIZE) + subeq r2, r2, #(INSN_SIZE) +#else + sub r2, r2, #(INSN_SIZE) /* fix pc */ +#endif + str r2, [sp, #TF_PC] /* store pc */ + +#ifdef KDTRACE_HOOKS + /* Check if dtrace is enabled */ + ldr r1, =_C_LABEL(dtrace_invop_jump_addr) + ldr r3, [r1] + cmp r3, #0 + beq undefinedinstruction + + and r4, r4, #(PSR_MODE) /* Mask out unneeded bits */ + cmp r4, #(PSR_USR32_MODE) /* Check if we came from usermode */ + beq undefinedinstruction + + ldr r4, [r2] /* load instrution */ + ldr r1, =FBT_BREAKPOINT /* load fbt inv op */ + cmp r1, r4 + bne undefinedinstruction + + bx r3 /* call invop_jump_addr */ +#endif + b undefinedinstruction /* call stadnard handler */ END(undefined_entry) /* @@ -378,7 +410,7 @@ ASENTRY_NP(irq_entry) PUSHFRAMEINSVC /* mode stack, build trapframe there. */ *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon Jan 11 19:29:14 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 0ECD6A6CE26 for ; Mon, 11 Jan 2016 19:29:14 +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 D66B91836; Mon, 11 Jan 2016 19:29:13 +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 u0BJTCnL067127; Mon, 11 Jan 2016 19:29:12 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0BJTCYa067126; Mon, 11 Jan 2016 19:29:12 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601111929.u0BJTCYa067126@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 11 Jan 2016 19:29:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293685 - projects/clang380-import/contrib/llvm/include/llvm/Support 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.20 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, 11 Jan 2016 19:29:14 -0000 Author: dim Date: Mon Jan 11 19:29:12 2016 New Revision: 293685 URL: https://svnweb.freebsd.org/changeset/base/293685 Log: After upstream llvm trunk r252903 and clang trunk r252904, -mcpu=xscale was not recognized anymore for arm targets. Fix this by adding the correct sub-arch to the xscale definition in ARMTargetParser.def. This fix (from Andrew Turner) has also been submitted upstream. Modified: projects/clang380-import/contrib/llvm/include/llvm/Support/ARMTargetParser.def Modified: projects/clang380-import/contrib/llvm/include/llvm/Support/ARMTargetParser.def ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/Support/ARMTargetParser.def Mon Jan 11 19:26:18 2016 (r293684) +++ projects/clang380-import/contrib/llvm/include/llvm/Support/ARMTargetParser.def Mon Jan 11 19:29:12 2016 (r293685) @@ -96,7 +96,7 @@ ARM_ARCH("iwmmxt", AK_IWMMXT, "iwmmxt", FK_NONE, AEK_NONE) ARM_ARCH("iwmmxt2", AK_IWMMXT2, "iwmmxt2", "", ARMBuildAttrs::CPUArch::v5TE, FK_NONE, AEK_NONE) -ARM_ARCH("xscale", AK_XSCALE, "xscale", "", ARMBuildAttrs::CPUArch::v5TE, +ARM_ARCH("xscale", AK_XSCALE, "xscale", "v5e", ARMBuildAttrs::CPUArch::v5TE, FK_NONE, AEK_NONE) ARM_ARCH("armv7s", AK_ARMV7S, "7-S", "v7s", ARMBuildAttrs::CPUArch::v7, FK_NEON_VFPV4, AEK_DSP) From owner-svn-src-projects@freebsd.org Mon Jan 11 19:36:48 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 6CEFBA6B17D for ; Mon, 11 Jan 2016 19:36:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 254751FD5; Mon, 11 Jan 2016 19:36:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0BJalTt070287; Mon, 11 Jan 2016 19:36:47 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0BJaicT070260; Mon, 11 Jan 2016 19:36:44 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601111936.u0BJaicT070260@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Mon, 11 Jan 2016 19:36:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293687 - in projects/clang380-import: . bin/sh bin/sh/tests/builtins contrib/hyperv/tools gnu/lib/libgcc include lib/csu/arm lib/libc/sys lib/libstand release share/man/man4 share/man/... 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.20 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, 11 Jan 2016 19:36:48 -0000 Author: dim Date: Mon Jan 11 19:36:44 2016 New Revision: 293687 URL: https://svnweb.freebsd.org/changeset/base/293687 Log: Merge ^/head r293430 through r293685. Added: projects/clang380-import/bin/sh/tests/builtins/local5.0 - copied unchanged from r293685, head/bin/sh/tests/builtins/local5.0 projects/clang380-import/tools/build/options/WITHOUT_LLVM_LIBUNWIND - copied unchanged from r293685, head/tools/build/options/WITHOUT_LLVM_LIBUNWIND projects/clang380-import/tools/build/options/WITH_LLVM_LIBUNWIND - copied unchanged from r293685, head/tools/build/options/WITH_LLVM_LIBUNWIND projects/clang380-import/tools/regression/geom_eli/conf.sh - copied unchanged from r293685, head/tools/regression/geom_eli/conf.sh projects/clang380-import/tools/regression/geom_uzip/conf.sh - copied unchanged from r293685, head/tools/regression/geom_uzip/conf.sh projects/clang380-import/tools/regression/geom_uzip/test-1.t - copied unchanged from r293685, head/tools/regression/geom_uzip/test-1.t Deleted: projects/clang380-import/tools/regression/geom_gate/Makefile projects/clang380-import/tools/regression/geom_gate/runtests.sh projects/clang380-import/tools/regression/geom_gate/test-1.sh projects/clang380-import/tools/regression/geom_gate/test-2.sh projects/clang380-import/tools/regression/geom_gate/test-3.sh projects/clang380-import/tools/regression/geom_uzip/runtests.sh projects/clang380-import/tools/regression/geom_uzip/test-1.sh projects/clang380-import/tools/regression/geom_uzip/test-2.sh Modified: projects/clang380-import/Makefile.inc1 projects/clang380-import/bin/sh/eval.c projects/clang380-import/bin/sh/tests/builtins/Makefile projects/clang380-import/bin/sh/var.c projects/clang380-import/contrib/hyperv/tools/hv_kvp_daemon.c projects/clang380-import/gnu/lib/libgcc/Makefile projects/clang380-import/include/limits.h projects/clang380-import/lib/csu/arm/Makefile projects/clang380-import/lib/libc/sys/sendfile.2 projects/clang380-import/lib/libstand/uuid_to_string.c projects/clang380-import/release/release.sh projects/clang380-import/share/man/man4/ismt.4 projects/clang380-import/share/man/man5/src.conf.5 projects/clang380-import/share/misc/committers-src.dot projects/clang380-import/share/mk/src.opts.mk projects/clang380-import/sys/amd64/amd64/elf_machdep.c projects/clang380-import/sys/amd64/amd64/trap.c projects/clang380-import/sys/amd64/linux/linux_sysvec.c projects/clang380-import/sys/amd64/linux32/linux32_sysvec.c projects/clang380-import/sys/arm/arm/elf_machdep.c projects/clang380-import/sys/arm64/arm64/elf_machdep.c projects/clang380-import/sys/boot/common/ufsread.c projects/clang380-import/sys/boot/efi/boot1/Makefile projects/clang380-import/sys/boot/efi/boot1/boot1.c projects/clang380-import/sys/boot/i386/loader/main.c projects/clang380-import/sys/boot/powerpc/boot1.chrp/boot1.c projects/clang380-import/sys/boot/userboot/libstand/Makefile projects/clang380-import/sys/boot/userboot/libstand/Makefile.depend projects/clang380-import/sys/boot/userboot/userboot/main.c projects/clang380-import/sys/boot/zfs/zfs.c projects/clang380-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/clang380-import/sys/compat/ia32/ia32_sysvec.c projects/clang380-import/sys/compat/linux/linux_futex.c projects/clang380-import/sys/compat/svr4/svr4_sysvec.c projects/clang380-import/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/clang380-import/sys/dev/cxgbe/t4_main.c projects/clang380-import/sys/dev/ic/ns16550.h projects/clang380-import/sys/dev/iscsi/iscsi.c projects/clang380-import/sys/dev/iscsi/iscsi.h projects/clang380-import/sys/dev/puc/pucdata.c projects/clang380-import/sys/dev/rtwn/if_rtwn.c projects/clang380-import/sys/dev/sfxge/common/efsys.h projects/clang380-import/sys/dev/ti/if_ti.c projects/clang380-import/sys/dev/vt/hw/ofwfb/ofwfb.c projects/clang380-import/sys/fs/ext2fs/ext2_bmap.c projects/clang380-import/sys/fs/ext2fs/ext2_extents.c projects/clang380-import/sys/fs/ext2fs/ext2_extents.h projects/clang380-import/sys/fs/ext2fs/ext2_vfsops.c projects/clang380-import/sys/fs/ext2fs/ext2_vnops.c projects/clang380-import/sys/fs/smbfs/smbfs_smb.c projects/clang380-import/sys/fs/smbfs/smbfs_subr.h projects/clang380-import/sys/fs/smbfs/smbfs_vnops.c projects/clang380-import/sys/i386/i386/elf_machdep.c projects/clang380-import/sys/i386/ibcs2/ibcs2_sysvec.c projects/clang380-import/sys/i386/linux/linux_sysvec.c projects/clang380-import/sys/kern/imgact_aout.c projects/clang380-import/sys/kern/init_main.c projects/clang380-import/sys/kern/kern_condvar.c projects/clang380-import/sys/kern/uipc_mbuf.c projects/clang380-import/sys/kern/uipc_sockbuf.c projects/clang380-import/sys/kern/uipc_syscalls.c projects/clang380-import/sys/kern/uipc_usrreq.c projects/clang380-import/sys/mips/mips/elf_machdep.c projects/clang380-import/sys/mips/mips/freebsd32_machdep.c projects/clang380-import/sys/net/if_arcsubr.c projects/clang380-import/sys/net/if_ethersubr.c projects/clang380-import/sys/net/if_fddisubr.c projects/clang380-import/sys/net/if_fwsubr.c projects/clang380-import/sys/net/if_iso88025subr.c projects/clang380-import/sys/net/if_loop.c projects/clang380-import/sys/net/radix_mpath.c projects/clang380-import/sys/net/radix_mpath.h projects/clang380-import/sys/net/route.c projects/clang380-import/sys/net/route.h projects/clang380-import/sys/net80211/ieee80211_freebsd.c projects/clang380-import/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/clang380-import/sys/netgraph/netflow/netflow.c projects/clang380-import/sys/netgraph/netflow/netflow_v9.c projects/clang380-import/sys/netgraph/netflow/ng_netflow.c projects/clang380-import/sys/netinet/in_fib.c projects/clang380-import/sys/netinet/in_pcb.c projects/clang380-import/sys/netinet/ip_encap.c projects/clang380-import/sys/netinet/ip_mroute.c projects/clang380-import/sys/netinet/ip_output.c projects/clang380-import/sys/netinet/raw_ip.c projects/clang380-import/sys/netinet/tcp_reass.c projects/clang380-import/sys/netinet/tcp_subr.c projects/clang380-import/sys/netinet/toecore.c projects/clang380-import/sys/netinet6/frag6.c projects/clang380-import/sys/netinet6/icmp6.c projects/clang380-import/sys/netinet6/in6_fib.c projects/clang380-import/sys/netinet6/in6_pcb.c projects/clang380-import/sys/netinet6/in6_rmx.c projects/clang380-import/sys/netinet6/in6_src.c projects/clang380-import/sys/netinet6/ip6_var.h projects/clang380-import/sys/netinet6/nd6_nbr.c projects/clang380-import/sys/netinet6/raw_ip6.c projects/clang380-import/sys/netinet6/udp6_usrreq.c projects/clang380-import/sys/netpfil/ipfw/ip_fw_table.c projects/clang380-import/sys/netpfil/ipfw/ip_fw_table_algo.c projects/clang380-import/sys/netpfil/pf/pf_if.c projects/clang380-import/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/clang380-import/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c projects/clang380-import/sys/powerpc/aim/locore32.S projects/clang380-import/sys/powerpc/aim/locore64.S projects/clang380-import/sys/powerpc/aim/trap_subr64.S projects/clang380-import/sys/powerpc/booke/booke_machdep.c projects/clang380-import/sys/powerpc/booke/locore.S projects/clang380-import/sys/powerpc/include/pcb.h projects/clang380-import/sys/powerpc/include/setjmp.h projects/clang380-import/sys/powerpc/ofw/rtas.c projects/clang380-import/sys/powerpc/powermac/grackle.c projects/clang380-import/sys/powerpc/powerpc/copyinout.c projects/clang380-import/sys/powerpc/powerpc/elf32_machdep.c projects/clang380-import/sys/powerpc/powerpc/elf64_machdep.c projects/clang380-import/sys/powerpc/powerpc/mp_machdep.c projects/clang380-import/sys/powerpc/powerpc/setjmp.S projects/clang380-import/sys/powerpc/powerpc/trap.c projects/clang380-import/sys/sparc64/sparc64/elf_machdep.c projects/clang380-import/sys/sys/mbuf.h projects/clang380-import/sys/sys/sf_buf.h projects/clang380-import/sys/sys/sockbuf.h projects/clang380-import/sys/sys/socket.h projects/clang380-import/sys/sys/sysent.h projects/clang380-import/sys/vm/vm_domain.c projects/clang380-import/tools/regression/geom_concat/conf.sh projects/clang380-import/tools/regression/geom_concat/test-1.t projects/clang380-import/tools/regression/geom_concat/test-2.t projects/clang380-import/tools/regression/geom_eli/attach-d.t projects/clang380-import/tools/regression/geom_eli/configure-b-B.t projects/clang380-import/tools/regression/geom_eli/delkey.t projects/clang380-import/tools/regression/geom_eli/detach-l.t projects/clang380-import/tools/regression/geom_eli/init-B.t projects/clang380-import/tools/regression/geom_eli/init-J.t projects/clang380-import/tools/regression/geom_eli/init-a.t projects/clang380-import/tools/regression/geom_eli/init-i-P.t projects/clang380-import/tools/regression/geom_eli/init.t projects/clang380-import/tools/regression/geom_eli/integrity-copy.t projects/clang380-import/tools/regression/geom_eli/integrity-data.t projects/clang380-import/tools/regression/geom_eli/integrity-hmac.t projects/clang380-import/tools/regression/geom_eli/kill.t projects/clang380-import/tools/regression/geom_eli/nokey.t projects/clang380-import/tools/regression/geom_eli/onetime-a.t projects/clang380-import/tools/regression/geom_eli/onetime-d.t projects/clang380-import/tools/regression/geom_eli/onetime.t projects/clang380-import/tools/regression/geom_eli/readonly.t projects/clang380-import/tools/regression/geom_eli/resize.t projects/clang380-import/tools/regression/geom_eli/setkey.t projects/clang380-import/tools/regression/geom_gate/test-1.t projects/clang380-import/tools/regression/geom_gate/test-2.t projects/clang380-import/tools/regression/geom_gate/test-3.t projects/clang380-import/tools/regression/geom_nop/conf.sh projects/clang380-import/tools/regression/geom_nop/test-1.t projects/clang380-import/tools/regression/geom_nop/test-2.t projects/clang380-import/tools/regression/geom_raid3/conf.sh projects/clang380-import/tools/regression/geom_raid3/test-1.t projects/clang380-import/tools/regression/geom_raid3/test-10.t projects/clang380-import/tools/regression/geom_raid3/test-11.t projects/clang380-import/tools/regression/geom_raid3/test-12.t projects/clang380-import/tools/regression/geom_raid3/test-2.t projects/clang380-import/tools/regression/geom_raid3/test-3.t projects/clang380-import/tools/regression/geom_raid3/test-4.t projects/clang380-import/tools/regression/geom_raid3/test-5.t projects/clang380-import/tools/regression/geom_raid3/test-6.t projects/clang380-import/tools/regression/geom_raid3/test-7.t projects/clang380-import/tools/regression/geom_raid3/test-8.t projects/clang380-import/tools/regression/geom_raid3/test-9.t projects/clang380-import/tools/regression/geom_shsec/conf.sh projects/clang380-import/tools/regression/geom_shsec/test-1.t projects/clang380-import/tools/regression/geom_shsec/test-2.t projects/clang380-import/tools/regression/geom_stripe/conf.sh projects/clang380-import/tools/regression/geom_stripe/test-1.t projects/clang380-import/tools/regression/geom_stripe/test-2.t projects/clang380-import/tools/regression/geom_subr.sh projects/clang380-import/tools/regression/geom_uzip/Makefile projects/clang380-import/usr.bin/netstat/mbuf.c projects/clang380-import/usr.sbin/bhyve/pci_virtio_net.c projects/clang380-import/usr.sbin/bsdconfig/share/dialog.subr projects/clang380-import/usr.sbin/ntp/scripts/mkver Directory Properties: projects/clang380-import/ (props changed) projects/clang380-import/gnu/lib/ (props changed) projects/clang380-import/include/ (props changed) projects/clang380-import/lib/libc/ (props changed) projects/clang380-import/share/ (props changed) projects/clang380-import/share/man/man4/ (props changed) projects/clang380-import/sys/ (props changed) projects/clang380-import/sys/boot/ (props changed) projects/clang380-import/sys/boot/powerpc/boot1.chrp/ (props changed) projects/clang380-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang380-import/sys/contrib/ipfilter/ (props changed) projects/clang380-import/usr.sbin/bhyve/ (props changed) Modified: projects/clang380-import/Makefile.inc1 ============================================================================== --- projects/clang380-import/Makefile.inc1 Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/Makefile.inc1 Mon Jan 11 19:36:44 2016 (r293687) @@ -570,9 +570,8 @@ _worldtmp: .PHONY .else rm -rf ${WORLDTMP}/legacy/usr/include # XXX - These three can depend on any header file. - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c + rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ lib usr legacy/bin legacy/usr @@ -1425,11 +1424,13 @@ _vtfontcvt= usr.bin/vtfontcvt _sed= usr.bin/sed .endif -.if ${BOOTSTRAPPING} < 1000002 +.if ${BOOTSTRAPPING} < 1000033 _libopenbsd= lib/libopenbsd _m4= usr.bin/m4 +_lex= usr.bin/lex ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd +${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 .endif .if ${BOOTSTRAPPING} < 1000026 @@ -1443,12 +1444,6 @@ ${_bt}-usr.sbin/nmtree: ${_bt}-lib/libne _cat= bin/cat .endif -.if ${BOOTSTRAPPING} < 1000033 -_lex= usr.bin/lex - -${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 -.endif - # r277259 crunchide: Correct 64-bit section header offset # r281674 crunchide: always include both 32- and 64-bit ELF support # r285986 crunchen: use STRIPBIN rather than STRIP Modified: projects/clang380-import/bin/sh/eval.c ============================================================================== --- projects/clang380-import/bin/sh/eval.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/bin/sh/eval.c Mon Jan 11 19:36:44 2016 (r293687) @@ -1039,12 +1039,12 @@ evalcommand(union node *cmd, int flags, reffunc(cmdentry.u.func); savehandler = handler; if (setjmp(jmploc.loc)) { - freeparam(&shellparam); - shellparam = saveparam; popredir(); unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; + freeparam(&shellparam); + shellparam = saveparam; funcnest--; handler = savehandler; longjmp(handler->loc, 1); Modified: projects/clang380-import/bin/sh/tests/builtins/Makefile ============================================================================== --- projects/clang380-import/bin/sh/tests/builtins/Makefile Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/bin/sh/tests/builtins/Makefile Mon Jan 11 19:36:44 2016 (r293687) @@ -111,6 +111,7 @@ FILES+= local1.0 FILES+= local2.0 FILES+= local3.0 FILES+= local4.0 +FILES+= local5.0 .if ${MK_NLS} != "no" FILES+= locale1.0 .endif Copied: projects/clang380-import/bin/sh/tests/builtins/local5.0 (from r293685, head/bin/sh/tests/builtins/local5.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang380-import/bin/sh/tests/builtins/local5.0 Mon Jan 11 19:36:44 2016 (r293687, copy of r293685, head/bin/sh/tests/builtins/local5.0) @@ -0,0 +1,15 @@ +# $FreeBSD$ + +f() { + local PATH IFS elem + IFS=: + for elem in ''$PATH''; do + PATH=/var/empty/$elem:$PATH + done + ls -d / >/dev/null +} + +p1=$(command -v ls) +f +p2=$(command -v ls) +[ "$p1" = "$p2" ] Modified: projects/clang380-import/bin/sh/var.c ============================================================================== --- projects/clang380-import/bin/sh/var.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/bin/sh/var.c Mon Jan 11 19:36:44 2016 (r293687) @@ -791,6 +791,7 @@ poplocalvars(void) { struct localvar *lvp; struct var *vp; + int islocalevar; INTOFF; while ((lvp = localvars) != NULL) { @@ -803,10 +804,20 @@ poplocalvars(void) } else if ((lvp->flags & (VUNSET|VSTRFIXED)) == VUNSET) { (void)unsetvar(vp->text); } else { + islocalevar = (vp->flags | lvp->flags) & VEXPORT && + localevar(lvp->text); if ((vp->flags & VTEXTFIXED) == 0) ckfree(vp->text); vp->flags = lvp->flags; vp->text = lvp->text; + if (vp->func) + (*vp->func)(vp->text + vp->name_len + 1); + if (islocalevar) { + change_env(vp->text, vp->flags & VEXPORT && + (vp->flags & VUNSET) == 0); + setlocale(LC_ALL, ""); + updatecharset(); + } } ckfree(lvp); } Modified: projects/clang380-import/contrib/hyperv/tools/hv_kvp_daemon.c ============================================================================== --- projects/clang380-import/contrib/hyperv/tools/hv_kvp_daemon.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/contrib/hyperv/tools/hv_kvp_daemon.c Mon Jan 11 19:36:44 2016 (r293687) @@ -1437,7 +1437,7 @@ main(int argc, char *argv[]) for (;;) { - r = poll (hv_kvp_poll_fd, 1, 100); + r = poll (hv_kvp_poll_fd, 1, INFTIM); KVP_LOG(LOG_DEBUG, "poll returned r = %d, revent = 0x%x\n", r, hv_kvp_poll_fd[0].revents); Modified: projects/clang380-import/gnu/lib/libgcc/Makefile ============================================================================== --- projects/clang380-import/gnu/lib/libgcc/Makefile Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/gnu/lib/libgcc/Makefile Mon Jan 11 19:36:44 2016 (r293687) @@ -2,6 +2,9 @@ GCCDIR= ${.CURDIR}/../../../contrib/gcc GCCLIB= ${.CURDIR}/../../../contrib/gcclibs +COMPILERRTDIR= ${.CURDIR}/../../../contrib/compiler-rt +UNWINDINCDIR= ${.CURDIR}/../../../contrib/llvm/projects/libunwind/include +UNWINDSRCDIR= ${.CURDIR}/../../../contrib/llvm/projects/libunwind/src SHLIB_NAME= libgcc_s.so.1 SHLIBDIR?= /lib @@ -67,8 +70,37 @@ LIB2ADD = $(LIB2FUNCS_EXTRA) LIB2ADD_ST = $(LIB2FUNCS_STATIC_EXTRA) # Additional sources to handle exceptions; overridden by targets as needed. +.if ${MK_LLVM_LIBUNWIND} != "no" + +.PATH: ${COMPILERRTDIR}/lib/builtins +.PATH: ${UNWINDSRCDIR} +LIB2ADDEH = gcc_personality_v0.c \ + int_util.c \ + Unwind-EHABI.cpp \ + Unwind-sjlj.c \ + UnwindLevel1-gcc-ext.c \ + UnwindLevel1.c \ + UnwindRegistersRestore.S \ + UnwindRegistersSave.S \ + libunwind.cpp + +CFLAGS+= -I${UNWINDINCDIR} -I${.CURDIR} +.if empty(CXXFLAGS:M-std=*) +CXXFLAGS+= -std=c++11 +.endif +CXXFLAGS+= -fno-rtti + +.else # MK_LLVM_LIBUNWIND + +.if ${TARGET_CPUARCH} == "arm" +LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c +.else LIB2ADDEH = unwind-dw2.c unwind-dw2-fde-glibc.c unwind-sjlj.c gthr-gnat.c \ unwind-c.c +.endif + +.endif # MK_LLVM_LIBUNWIND + LIB2ADDEHSTATIC = $(LIB2ADDEH) LIB2ADDEHSHARED = $(LIB2ADDEH) @@ -116,7 +148,6 @@ CFLAGS.clang+= -fheinous-gnu-extensions LIB1ASMSRC = lib1funcs.asm LIB1ASMFUNCS = _dvmd_tls _bb_init_func -LIB2ADDEH = unwind-arm.c libunwind.S pr-support.c unwind-c.c # Some compilers generate __aeabi_ functions libgcc_s is missing LIBADD+= compiler_rt .endif @@ -160,7 +191,10 @@ LIB2_DIVMOD_FUNCS:= ${LIB2_DIVMOD_FUNCS: .endfor .endif -COMMONHDRS= tm.h tconfig.h options.h unwind.h gthr-default.h +COMMONHDRS= tm.h tconfig.h options.h gthr-default.h +.if ${MK_LLVM_LIBUNWIND} == no +COMMONHDRS+= unwind.h +.endif #----------------------------------------------------------------------- # @@ -170,6 +204,9 @@ HIDE = -fvisibility=hidden -DHIDE_EXPOR CC_T = ${CC} -c ${CFLAGS} ${HIDE} -fPIC CC_P = ${CC} -c ${CFLAGS} ${HIDE} -p -fPIC CC_S = ${CC} -c ${CFLAGS} ${PICFLAG} -DSHARED +CXX_T = ${CXX} -c ${CXXFLAGS} ${HIDE} -fPIC +CXX_P = ${CXX} -c ${CXXFLAGS} ${HIDE} -p -fPIC +CXX_S = ${CXX} -c ${CXXFLAGS} ${PICFLAG} -DSHARED #----------------------------------------------------------------------- # @@ -284,16 +321,26 @@ EH_OBJS_S = ${LIB2ADDEHSHARED:R:S/$/.So/ EH_CFLAGS = -fexceptions -D__GLIBC__=3 -DElfW=__ElfN SOBJS += ${EH_OBJS_S} -.for _src in ${LIB2ADDEHSTATIC} +.for _src in ${LIB2ADDEHSTATIC:M*.c} ${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS} ${CC_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} ${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS} ${CC_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} .endfor -.for _src in ${LIB2ADDEHSHARED} +.for _src in ${LIB2ADDEHSTATIC:M*.cpp} +${_src:R:S/$/.o/}: ${_src} ${COMMONHDRS} + ${CXX_T} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} +${_src:R:S/$/.po/}: ${_src} ${COMMONHDRS} + ${CXX_P} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} +.endfor +.for _src in ${LIB2ADDEHSHARED:M*.c} ${_src:R:S/$/.So/}: ${_src} ${COMMONHDRS} ${CC_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} .endfor +.for _src in ${LIB2ADDEHSHARED:M*.cpp} +${_src:R:S/$/.So/}: ${_src} ${COMMONHDRS} + ${CXX_S} ${EH_CFLAGS} -o ${.TARGET} ${.IMPSRC} +.endfor #----------------------------------------------------------------------- Modified: projects/clang380-import/include/limits.h ============================================================================== --- projects/clang380-import/include/limits.h Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/include/limits.h Mon Jan 11 19:36:44 2016 (r293687) @@ -59,10 +59,12 @@ #define _POSIX_TZNAME_MAX 3 #endif +#if __POSIX_VISIBLE >= 200112 #define BC_BASE_MAX 99 /* max ibase/obase values in bc(1) */ #define BC_DIM_MAX 2048 /* max array elements in bc(1) */ #define BC_SCALE_MAX 99 /* max scale value in bc(1) */ #define BC_STRING_MAX 1000 /* max const string length in bc(1) */ +#define CHARCLASS_NAME_MAX 14 /* max character class name size */ #define COLL_WEIGHTS_MAX 10 /* max weights for order keyword */ #define EXPR_NEST_MAX 32 /* max expressions nested in expr(1) */ #define LINE_MAX 2048 /* max bytes in an input line */ @@ -72,11 +74,14 @@ #define _POSIX2_BC_DIM_MAX 2048 #define _POSIX2_BC_SCALE_MAX 99 #define _POSIX2_BC_STRING_MAX 1000 +#define _POSIX2_CHARCLASS_NAME_MAX 14 +#define _POSIX2_COLL_WEIGHTS_MAX 2 #define _POSIX2_EQUIV_CLASS_MAX 2 #define _POSIX2_EXPR_NEST_MAX 32 #define _POSIX2_LINE_MAX 2048 #define _POSIX2_RE_DUP_MAX 255 #endif +#endif #if __POSIX_VISIBLE >= 199309 #define _POSIX_AIO_LISTIO_MAX 2 @@ -110,8 +115,6 @@ #define _POSIX_TRACE_SYS_MAX 8 #define _POSIX_TRACE_USER_EVENT_MAX 32 #define _POSIX_TTY_NAME_MAX 9 -#define _POSIX2_CHARCLASS_NAME_MAX 14 -#define _POSIX2_COLL_WEIGHTS_MAX 2 #define _POSIX_RE_DUP_MAX _POSIX2_RE_DUP_MAX #endif Modified: projects/clang380-import/lib/csu/arm/Makefile ============================================================================== --- projects/clang380-import/lib/csu/arm/Makefile Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/lib/csu/arm/Makefile Mon Jan 11 19:36:44 2016 (r293687) @@ -7,6 +7,7 @@ OBJS= ${SRCS:N*.h:R:S/$/.o/g} OBJS+= Scrt1.o gcrt1.o CFLAGS+= -I${.CURDIR}/../common \ -I${.CURDIR}/../../libc/include +STATIC_CFLAGS+= -mlong-calls FILES= ${OBJS} FILESMODE= ${LIBMODE} @@ -23,14 +24,14 @@ CLEANFILES+= crt1.s gcrt1.s Scrt1.s # directly compiled to .o files. crt1.s: crt1.c - ${CC} ${CFLAGS} -S -o ${.TARGET} ${.CURDIR}/crt1.c + ${CC} ${CFLAGS} ${STATIC_CFLAGS} -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} crt1.o: crt1.s ${CC} ${ACFLAGS} -c -o ${.TARGET} crt1.s gcrt1.s: crt1.c - ${CC} ${CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c + ${CC} ${CFLAGS} ${STATIC_CFLAGS} -DGCRT -S -o ${.TARGET} ${.CURDIR}/crt1.c sed ${SED_FIX_NOTE} ${.TARGET} gcrt1.o: gcrt1.s Modified: projects/clang380-import/lib/libc/sys/sendfile.2 ============================================================================== --- projects/clang380-import/lib/libc/sys/sendfile.2 Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/lib/libc/sys/sendfile.2 Mon Jan 11 19:36:44 2016 (r293687) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 7, 2010 +.Dd January 7, 2016 .Dt SENDFILE 2 .Os .Sh NAME @@ -46,7 +46,7 @@ The .Fn sendfile system call -sends a regular file specified by descriptor +sends a regular file or shared memory object specified by descriptor .Fa fd out a stream socket specified by descriptor .Fa s . @@ -101,32 +101,55 @@ the system will write the total number o variable pointed to by .Fa sbytes . .Pp -The +The least significant 16 bits of .Fa flags argument is a bitmap of these values: -.Bl -item -offset indent -.It -.Dv SF_NODISKIO . -This flag causes any -.Fn sendfile -call which would block on disk I/O to instead -return -.Er EBUSY . -Busy servers may benefit by transferring requests that would -block to a separate I/O worker thread. -.It -.Dv SF_MNOWAIT . -Do not wait for some kernel resource to become available, -in particular, -.Vt mbuf -and -.Vt sf_buf . -The flag does not make the -.Fn sendfile -syscall truly non-blocking, since other resources are still allocated -in a blocking fashion. -.It -.Dv SF_SYNC . +.Bl -tag -offset indent +.It Dv SF_NODISKIO +This flag causes +.Nm +to return +.Er EBUSY +instead of blocking when a busy page is encountered. +This rare situation can happen if some other process is now working +with the same region of the file. +It is advised to retry the operation after a short period. +.Pp +Note that in older +.Fx +versions the +.Dv SF_NODISKIO +had slightly different notion. +The flag prevented +.Nm +to run I/O operations in case if an invalid (not cached) page is encountered, +thus avoiding blocking on I/O. +Starting with +.Fx 11 +.Nm +sending files off the +.Xr ffs 7 +filesystem doesn't block on I/O +(see +.Sx IMPLEMENTATION NOTES +), so the condition no longer applies. +However, it is safe if an application utilizes +.Dv SF_NODISKIO +and on +.Er EBUSY +performs the same action as it did in +older +.Fx +versions, e.g. +.Xr aio_read 2, +.Xr read 2 +or +.Nm +in a different context. +.It Dv SF_NOCACHE +The data sent to socket will not be cached by the virtual memory system, +and will be freed directly to the pool of free pages. +.It Dv SF_SYNC .Nm sleeps until the network stack no longer references the VM pages of the file, making subsequent modifications to it safe. @@ -134,6 +157,22 @@ Please note that this is not a guarantee been sent. .El .Pp +The most significant 16 bits of +.Fa flags +specify amount of pages that +.Nm +may read ahead when reading the file. +A macro +.Fn SF_FLAGS +is provided to combine readahead amount and flags. +Example shows specifing readahead of 16 pages and +.Dv SF_NOCACHE +flag: +.Pp +.Bd -literal -offset indent -compact + SF_FLAGS(16, SF_NOCACHE) +.Ed +.Pp When using a socket marked for non-blocking I/O, .Fn sendfile may send fewer bytes than requested. @@ -149,6 +188,18 @@ The .Fx implementation of .Fn sendfile +doesn't block on disk I/O when it sends a file off the +.Xr ffs 7 +filesystem. +The syscall returns success before the actual I/O completes, and data +is put into the socket later unattended. +However, the order of data in the socket is preserved, so it is safe +to do further writes to the socket. +.Pp +The +.Fx +implementation of +.Fn sendfile is "zero-copy", meaning that it has been optimized so that copying of the file data is avoided. .Sh TUNING On some architectures, this system call internally uses a special @@ -232,12 +283,10 @@ The argument is not a valid socket descriptor. .It Bq Er EBUSY -Completing the entire transfer would have required disk I/O, so -it was aborted. -Partial data may have been sent. -(This error can only occur when +A busy page was encountered and .Dv SF_NODISKIO -is specified.) +had been specified. +Partial data may have been sent. .It Bq Er EFAULT An invalid address was specified for an argument. .It Bq Er EINTR @@ -310,9 +359,19 @@ first appeared in .Fx 3.0 . This manual page first appeared in .Fx 3.1 . +In +.Fx 10 +support for sending shared memory descriptors had been introduced. +In +.Fx 11 +a non-blocking implementation had been introduced. .Sh AUTHORS -The +The initial implementation of .Fn sendfile system call and this manual page were written by .An David G. Lawrence Aq Mt dg@dglawrence.com . +The +.Fx 11 +implementation was written by +.An Gleb Smirnoff Aq Mt glebius@FreeBSD.org . Modified: projects/clang380-import/lib/libstand/uuid_to_string.c ============================================================================== --- projects/clang380-import/lib/libstand/uuid_to_string.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/lib/libstand/uuid_to_string.c Mon Jan 11 19:36:44 2016 (r293687) @@ -46,7 +46,7 @@ tohex(char **buf, int len, uint32_t val) char *walker = *buf; int i; - for (i = len - 1; i >= 0; i++) { + for (i = len - 1; i >= 0; i--) { walker[i] = hexstr[val & 0xf]; val >>= 4; } @@ -107,5 +107,5 @@ uuid_to_string(const uuid_t *u, char **s tohex(&w, 2, u->node[3]); tohex(&w, 2, u->node[4]); tohex(&w, 2, u->node[5]); - *w++ - '\0'; + *w++ = '\0'; } Modified: projects/clang380-import/release/release.sh ============================================================================== --- projects/clang380-import/release/release.sh Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/release/release.sh Mon Jan 11 19:36:44 2016 (r293687) @@ -275,6 +275,7 @@ extra_chroot_setup() { PBUILD_FLAGS="${PBUILD_FLAGS} OSREL=${REVISION}" chroot ${CHROOTDIR} make -C /usr/ports/textproc/docproj \ ${PBUILD_FLAGS} OPTIONS_UNSET="FOP IGOR" \ + FORCE_PKG_REGISTER=1 \ install clean distclean fi fi Modified: projects/clang380-import/share/man/man4/ismt.4 ============================================================================== --- projects/clang380-import/share/man/man4/ismt.4 Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/share/man/man4/ismt.4 Mon Jan 11 19:36:44 2016 (r293687) @@ -33,7 +33,7 @@ .\" .\" $FreeBSD$ .\" -.Dd May 9, 2014 +.Dd January 11, 2016 .Dt ISMT 4 .Os .Sh NAME @@ -54,6 +54,6 @@ in the Intel Atom S1200 and C2000 CPUs. The .Nm driver first appeared in -.Fx 11.0 . +.Fx 10.3 . .Sh AUTHORS .An Jim Harris Aq Mt jimharris@FreeBSD.org Modified: projects/clang380-import/share/man/man5/src.conf.5 ============================================================================== --- projects/clang380-import/share/man/man5/src.conf.5 Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/share/man/man5/src.conf.5 Mon Jan 11 19:36:44 2016 (r293687) @@ -1,7 +1,7 @@ .\" DO NOT EDIT-- this file is automatically generated. .\" from FreeBSD: head/tools/build/options/makeman 292283 2015-12-15 18:42:30Z bdrewery .\" $FreeBSD$ -.Dd December 15, 2015 +.Dd January 9, 2016 .Dt SRC.CONF 5 .Os .Sh NAME @@ -948,9 +948,30 @@ Set to not build the .Nm libthr (1:1 threading) library. +.It Va WITHOUT_LLDB +.\" from FreeBSD: head/tools/build/options/WITHOUT_LLDB 289275 2015-10-14 00:23:31Z emaste +Set to not build the LLDB debugger. +.Pp +It is a default setting on +arm/arm, arm/armeb, arm/armv6, arm/armv6hf, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. .It Va WITH_LLDB .\" from FreeBSD: head/tools/build/options/WITH_LLDB 255722 2013-09-20 01:52:02Z emaste Set to build the LLDB debugger. +.Pp +It is a default setting on +amd64/amd64 and arm64/aarch64. +.It Va WITHOUT_LLVM_LIBUNWIND +.\" from FreeBSD: head/tools/build/options/WITHOUT_LLVM_LIBUNWIND 293450 2016-01-09 00:42:07Z emaste +Set to use GCC's stack unwinder (instead of LLVM's libunwind). +.Pp +It is a default setting on +amd64/amd64, arm/arm, arm/armeb, arm/armv6, arm/armv6hf, i386/i386, mips/mipsel, mips/mips, mips/mips64el, mips/mips64, mips/mipsn32, pc98/i386, powerpc/powerpc, powerpc/powerpc64 and sparc64/sparc64. +.It Va WITH_LLVM_LIBUNWIND +.\" from FreeBSD: head/tools/build/options/WITH_LLVM_LIBUNWIND 293450 2016-01-09 00:42:07Z emaste +Set to use LLVM's libunwind stack unwinder (instead of GCC's unwinder). +.Pp +It is a default setting on +arm64/aarch64. .It Va WITHOUT_LOCALES .\" from FreeBSD: head/tools/build/options/WITHOUT_LOCALES 156932 2006-03-21 07:50:50Z ru Set to not build localization files; see Modified: projects/clang380-import/share/misc/committers-src.dot ============================================================================== --- projects/clang380-import/share/misc/committers-src.dot Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/share/misc/committers-src.dot Mon Jan 11 19:36:44 2016 (r293687) @@ -344,6 +344,7 @@ adrian -> loos adrian -> monthadar adrian -> ray adrian -> rmh +adrian -> sephe ae -> melifaro @@ -404,6 +405,7 @@ das -> rodrigc delphij -> gabor delphij -> rafan +delphij -> sephe des -> anholt des -> hmp Modified: projects/clang380-import/share/mk/src.opts.mk ============================================================================== --- projects/clang380-import/share/mk/src.opts.mk Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/share/mk/src.opts.mk Mon Jan 11 19:36:44 2016 (r293687) @@ -231,9 +231,9 @@ __DEFAULT_NO_OPTIONS+=CLANG CLANG_BOOTST # In-tree binutils/gcc are older versions without modern architecture support. .if ${__T} == "aarch64" || ${__T} == "riscv64" BROKEN_OPTIONS+=BINUTILS BINUTILS_BOOTSTRAP GCC GCC_BOOTSTRAP GDB -__DEFAULT_YES_OPTIONS+=ELFCOPY_AS_OBJCOPY +__DEFAULT_YES_OPTIONS+=ELFCOPY_AS_OBJCOPY LLVM_LIBUNWIND .else -__DEFAULT_NO_OPTIONS+=ELFCOPY_AS_OBJCOPY +__DEFAULT_NO_OPTIONS+=ELFCOPY_AS_OBJCOPY LLVM_LIBUNWIND .endif .if ${__T} == "riscv64" BROKEN_OPTIONS+=PROFILE # "sorry, unimplemented: profiler support for RISC-V" Modified: projects/clang380-import/sys/amd64/amd64/elf_machdep.c ============================================================================== --- projects/clang380-import/sys/amd64/amd64/elf_machdep.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/amd64/amd64/elf_machdep.c Mon Jan 11 19:36:44 2016 (r293687) @@ -80,6 +80,7 @@ struct sysentvec elf64_freebsd_sysvec = .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = NULL, .sv_thread_detach = NULL, + .sv_trap = NULL, }; INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); Modified: projects/clang380-import/sys/amd64/amd64/trap.c ============================================================================== --- projects/clang380-import/sys/amd64/amd64/trap.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/amd64/amd64/trap.c Mon Jan 11 19:36:44 2016 (r293687) @@ -322,6 +322,13 @@ trap(struct trapframe *frame) break; case T_PAGEFLT: /* page fault */ + /* + * Emulator can take care about this trap? + */ + if (*p->p_sysent->sv_trap != NULL && + (*p->p_sysent->sv_trap)(td) == 0) + goto userout; + addr = frame->tf_addr; i = trap_pfault(frame, TRUE); if (i == -1) Modified: projects/clang380-import/sys/amd64/linux/linux_sysvec.c ============================================================================== --- projects/clang380-import/sys/amd64/linux/linux_sysvec.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/amd64/linux/linux_sysvec.c Mon Jan 11 19:36:44 2016 (r293687) @@ -129,6 +129,7 @@ static void linux_set_syscall_retval(str static int linux_fetch_syscall_args(struct thread *td, struct syscall_args *sa); static void linux_exec_setregs(struct thread *td, struct image_params *imgp, u_long stack); +static int linux_vsyscall(struct thread *td); /* * Linux syscalls return negative errno's, we do positive and map them @@ -746,6 +747,53 @@ exec_linux_imgact_try(struct image_param return(error); } +#define LINUX_VSYSCALL_START (-10UL << 20) +#define LINUX_VSYSCALL_SZ 1024 + +const unsigned long linux_vsyscall_vector[] = { + LINUX_SYS_gettimeofday, + LINUX_SYS_linux_time, + /* getcpu not implemented */ +}; + +static int +linux_vsyscall(struct thread *td) +{ + struct trapframe *frame; + uint64_t retqaddr; + int code, traced; + int error; + + frame = td->td_frame; + + /* Check %rip for vsyscall area */ + if (__predict_true(frame->tf_rip < LINUX_VSYSCALL_START)) + return (EINVAL); + if ((frame->tf_rip & (LINUX_VSYSCALL_SZ - 1)) != 0) + return (EINVAL); + code = (frame->tf_rip - LINUX_VSYSCALL_START) / LINUX_VSYSCALL_SZ; + if (code >= nitems(linux_vsyscall_vector)) + return (EINVAL); + + /* + * vsyscall called as callq *(%rax), so we must + * use return address from %rsp and also fixup %rsp + */ + error = copyin((void *)frame->tf_rsp, &retqaddr, sizeof(retqaddr)); + if (error) + return (error); + + frame->tf_rip = retqaddr; + frame->tf_rax = linux_vsyscall_vector[code]; + frame->tf_rsp += 8; + + traced = (frame->tf_flags & PSL_T); + + amd64_syscall(td, traced); + + return (0); +} + struct sysentvec elf_linux_sysvec = { .sv_size = LINUX_SYS_MAXSYSCALL, .sv_table = linux_sysent, @@ -778,7 +826,8 @@ struct sysentvec elf_linux_sysvec = { .sv_shared_page_base = SHAREDPAGE, .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = linux_schedtail, - .sv_thread_detach = linux_thread_detach + .sv_thread_detach = linux_thread_detach, + .sv_trap = linux_vsyscall, }; static void Modified: projects/clang380-import/sys/amd64/linux32/linux32_sysvec.c ============================================================================== --- projects/clang380-import/sys/amd64/linux32/linux32_sysvec.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/amd64/linux32/linux32_sysvec.c Mon Jan 11 19:36:44 2016 (r293687) @@ -1040,6 +1040,7 @@ struct sysentvec elf_linux_sysvec = { .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = linux_schedtail, .sv_thread_detach = linux_thread_detach, + .sv_trap = NULL, }; static void Modified: projects/clang380-import/sys/arm/arm/elf_machdep.c ============================================================================== --- projects/clang380-import/sys/arm/arm/elf_machdep.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/arm/arm/elf_machdep.c Mon Jan 11 19:36:44 2016 (r293687) @@ -86,6 +86,7 @@ struct sysentvec elf32_freebsd_sysvec = .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = NULL, .sv_thread_detach = NULL, + .sv_trap = NULL, }; INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec); Modified: projects/clang380-import/sys/arm64/arm64/elf_machdep.c ============================================================================== --- projects/clang380-import/sys/arm64/arm64/elf_machdep.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/arm64/arm64/elf_machdep.c Mon Jan 11 19:36:44 2016 (r293687) @@ -87,6 +87,8 @@ static struct sysentvec elf64_freebsd_sy .sv_shared_page_base = SHAREDPAGE, .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = NULL, + .sv_thread_detach = NULL, + .sv_trap = NULL, }; INIT_SYSENTVEC(elf64_sysvec, &elf64_freebsd_sysvec); Modified: projects/clang380-import/sys/boot/common/ufsread.c ============================================================================== --- projects/clang380-import/sys/boot/common/ufsread.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/boot/common/ufsread.c Mon Jan 11 19:36:44 2016 (r293687) @@ -211,7 +211,6 @@ fsread(ufs_ino_t inode, void *buf, size_ break; } if (sblock_try[n] == -1) { - printf("Not ufs\n"); return -1; } dsk_meta++; Modified: projects/clang380-import/sys/boot/efi/boot1/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/Makefile Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/boot/efi/boot1/Makefile Mon Jan 11 19:36:44 2016 (r293687) @@ -41,14 +41,13 @@ CFLAGS+= -fPIC LDFLAGS+= -Wl,-znocombreloc .endif -.if ${MACHINE_CPUARCH} == "arm" || ${MACHINE_CPUARCH} == "i386" # # Add libstand for the runtime functions used by the compiler - for example # __aeabi_* (arm) or __divdi3 (i386). +# as well as required string and memory functions for all platforms. # DPADD+= ${LIBSTAND} LDADD+= -lstand -.endif DPADD+= ${LDSCRIPT} Modified: projects/clang380-import/sys/boot/efi/boot1/boot1.c ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/boot1.c Mon Jan 11 19:32:07 2016 (r293686) +++ projects/clang380-import/sys/boot/efi/boot1/boot1.c Mon Jan 11 19:36:44 2016 (r293687) @@ -24,6 +24,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include @@ -33,28 +34,8 @@ __FBSDID("$FreeBSD$"); #define BSIZEMAX 16384 -typedef int putc_func_t(char c, void *arg); - -struct sp_data { - char *sp_buf; - u_int sp_len; - u_int sp_size; -}; - -static const char digits[] = "0123456789abcdef"; - -static void panic(const char *fmt, ...) __dead2; -static int printf(const char *fmt, ...); -static int putchar(char c, void *arg); -static int vprintf(const char *fmt, va_list ap); -static int vsnprintf(char *str, size_t sz, const char *fmt, va_list ap); - -static int __printf(const char *fmt, putc_func_t *putc, void *arg, va_list ap); -static int __putc(char c, void *arg); -static int __puts(const char *s, putc_func_t *putc, void *arg); -static int __sputc(char c, void *arg); -static char *__uitoa(char *buf, u_int val, int base); -static char *__ultoa(char *buf, u_long val, int base); +void panic(const char *fmt, ...) __dead2; +void putchar(int c); static int domount(EFI_DEVICE_PATH *device, EFI_BLOCK_IO *blkio, int quiet); static void load(const char *fname); @@ -62,39 +43,6 @@ static void load(const char *fname); static EFI_SYSTEM_TABLE *systab; static EFI_HANDLE *image; -static void -bcopy(const void *src, void *dst, size_t len) -{ - const char *s = src; - char *d = dst; - - while (len-- != 0) - *d++ = *s++; -} - -static void -memcpy(void *dst, const void *src, size_t len) -{ - bcopy(src, dst, len); -} - -static void -bzero(void *b, size_t len) -{ - char *p = b; - - while (len-- != 0) - *p++ = 0; -} - -static int -strcmp(const char *s1, const char *s2) -{ - for (; *s1 == *s2 && *s1; s1++, s2++) - ; - return ((u_char)*s1 - (u_char)*s2); -} - static EFI_GUID BlockIoProtocolGUID = BLOCK_IO_PROTOCOL; static EFI_GUID DevicePathGUID = DEVICE_PATH_PROTOCOL; static EFI_GUID LoadedImageGUID = LOADED_IMAGE_PROTOCOL; @@ -250,7 +198,6 @@ fsstat(ufs_ino_t inode) break; } if (sblock_try[n] == -1) { - printf("Not ufs\n"); return -1; } dsk_meta++; @@ -346,38 +293,22 @@ load(const char *fname) EFI_ERROR_CODE(status)); } -static void +void panic(const char *fmt, ...) { - char buf[128]; va_list ap; + printf("panic: "); va_start(ap, fmt); - vsnprintf(buf, sizeof buf, fmt, ap); - printf("panic: %s\n", buf); + vprintf(fmt, ap); va_end(ap); + printf("\n"); while (1) {} } -static int -printf(const char *fmt, ...) -{ - va_list ap; - int ret; - - /* Don't annoy the user as we probe for partitions */ - if (strcmp(fmt,"Not ufs\n") == 0) - return 0; - - va_start(ap, fmt); - ret = vprintf(fmt, ap); - va_end(ap); - return (ret); -} - -static int -putchar(char c, void *arg) +void +putchar(int c) { CHAR16 buf[2]; @@ -389,187 +320,4 @@ putchar(char c, void *arg) buf[0] = c; buf[1] = 0; systab->ConOut->OutputString(systab->ConOut, buf); - return (1); -} - -static int -vprintf(const char *fmt, va_list ap) -{ - int ret; - - ret = __printf(fmt, putchar, 0, ap); - return (ret); -} - -static int -vsnprintf(char *str, size_t sz, const char *fmt, va_list ap) -{ - struct sp_data sp; - int ret; - - sp.sp_buf = str; - sp.sp_len = 0; - sp.sp_size = sz; - ret = __printf(fmt, __sputc, &sp, ap); - return (ret); -} - -static int -__printf(const char *fmt, putc_func_t *putc, void *arg, va_list ap) -{ - char buf[(sizeof(long) * 8) + 1]; - char *nbuf; - u_long ul; - u_int ui; - int lflag; - int sflag; - char *s; - int pad; - int ret; - int c; - - nbuf = &buf[sizeof buf - 1]; - ret = 0; - while ((c = *fmt++) != 0) { - if (c != '%') { - ret += putc(c, arg); - continue; - } - lflag = 0; - sflag = 0; - pad = 0; -reswitch: c = *fmt++; - switch (c) { - case '#': - sflag = 1; - goto reswitch; - case '%': - ret += putc('%', arg); - break; - case 'c': - c = va_arg(ap, int); - ret += putc(c, arg); - break; - case 'd': - if (lflag == 0) { - ui = (u_int)va_arg(ap, int); - if (ui < (int)ui) { - ui = -ui; - ret += putc('-', arg); - } - s = __uitoa(nbuf, ui, 10); - } else { - ul = (u_long)va_arg(ap, long); - if (ul < (long)ul) { - ul = -ul; - ret += putc('-', arg); - } - s = __ultoa(nbuf, ul, 10); - } - ret += __puts(s, putc, arg); - break; - case 'l': - lflag = 1; - goto reswitch; - case 'o': - if (lflag == 0) { - ui = (u_int)va_arg(ap, u_int); - s = __uitoa(nbuf, ui, 8); - } else { - ul = (u_long)va_arg(ap, u_long); - s = __ultoa(nbuf, ul, 8); - } - ret += __puts(s, putc, arg); - break; - case 'p': - ul = (u_long)va_arg(ap, void *); - s = __ultoa(nbuf, ul, 16); - ret += __puts("0x", putc, arg); - ret += __puts(s, putc, arg); - break; - case 's': - s = va_arg(ap, char *); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Mon Jan 11 20:00:23 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 34B8CA6B73C for ; Mon, 11 Jan 2016 20:00:23 +0000 (UTC) (envelope-from asomers@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 0C6511D67; Mon, 11 Jan 2016 20:00:22 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0BK0LHb076062; Mon, 11 Jan 2016 20:00:21 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0BK0L4X076059; Mon, 11 Jan 2016 20:00:21 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201601112000.u0BK0L4X076059@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers Date: Mon, 11 Jan 2016 20:00:21 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293689 - projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 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, 11 Jan 2016 20:00:23 -0000 Author: asomers Date: Mon Jan 11 20:00:21 2016 New Revision: 293689 URL: https://svnweb.freebsd.org/changeset/base/293689 Log: Add testcase for PR205882 "can't import l2arc devices by guid" PR: 205882 Sponsored by: Spectra Logic Corp Added: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_missing_005_pos.ksh Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/Makefile projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_test.sh Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/Makefile ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/Makefile Mon Jan 11 19:59:56 2016 (r293688) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/Makefile Mon Jan 11 20:00:21 2016 (r293689) @@ -25,6 +25,7 @@ FILES+= zpool_import_014_pos.ksh FILES+= cleanup.ksh FILES+= zpool_import_011_neg.ksh FILES+= zpool_import_missing_004_pos.ksh +FILES+= zpool_import_missing_005_pos.ksh FILES+= zpool_import_005_pos.ksh FILES+= zpool_import_009_neg.ksh FILES+= zpool_import_missing_001_pos.ksh Added: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_missing_005_pos.ksh ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_missing_005_pos.ksh Mon Jan 11 20:00:21 2016 (r293689) @@ -0,0 +1,122 @@ +#!/usr/local/bin/ksh93 -p +# +# CDDL HEADER START +# +# The contents of this file are subject to the terms of the +# Common Development and Distribution License (the "License"). +# You may not use this file except in compliance with the License. +# +# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE +# or http://www.opensolaris.org/os/licensing. +# See the License for the specific language governing permissions +# and limitations under the License. +# +# When distributing Covered Code, include this CDDL HEADER in each +# file and include the License file at usr/src/OPENSOLARIS.LICENSE. +# If applicable, add the following below this CDDL HEADER, with the +# fields enclosed by brackets "[]" replaced with your own identifying +# information: Portions Copyright [yyyy] [name of copyright owner] +# +# CDDL HEADER END +# + +# +# Copyright 2016 Spectra Logic All rights reserved. +# Use is subject to license terms. +# + +. $STF_SUITE/include/libtest.kshlib + +################################################################################# +# +# __stc_assertion_start +# +# ID: zpool_import_missing_005_pos +# +# DESCRIPTION: +# Verify that a pool can still be imported even if its devices' names +# have changed, for all types of devices. This is a test of vdev_geom's +# import_by_guid functionality. +# STRATEGY: +# 1. Create a supply of file-backed md devices +# 2. Create a disk-backed pool with regular, cache, log, and spare vdevs +# 3. Export it +# 4. Cause all the md devices names to change +# 5. Verify 'zpool import' can import it +# +# TESTABILITY: explicit +# +# TEST_AUTOMATION_LEVEL: automated +# +# CODING_STATUS: COMPLETED (2015-01-4) +# +# __stc_assertion_end +# +################################################################################ + +verify_runnable "global" + +log_assert "Verify that all types of vdevs of a disk-backed exported pool can be imported even if they have been renamed" + +# Create md devices so we can control their devnames +# Use high devnames so we'll be unlikely to have collisions +typeset -i REGULAR_U=4000 +typeset -i LOG_U=4001 +typeset -i CACHE_U=4002 +typeset -i SPARE_U=4003 +typeset -i REGULAR_ALTU=5000 +typeset -i LOG_ALTU=5001 +typeset -i CACHE_ALTU=5002 +typeset -i SPARE_ALTU=5003 +typeset REGULAR=${TMPDIR}/regular +typeset LOG=${TMPDIR}/log +typeset CACHE=${TMPDIR}/cache +typeset SPARE=${TMPDIR}/spare + +function cleanup +{ + destroy_pool $TESTPOOL + $MDCONFIG -d -u $REGULAR_U 2>/dev/null + $MDCONFIG -d -u $LOG_U 2>/dev/null + $MDCONFIG -d -u $CACHE_U 2>/dev/null + $MDCONFIG -d -u $SPARE_U 2>/dev/null + $MDCONFIG -d -u $REGULAR_ALTU 2>/dev/null + $MDCONFIG -d -u $LOG_ALTU 2>/dev/null + $MDCONFIG -d -u $CACHE_ALTU 2>/dev/null + $MDCONFIG -d -u $SPARE_ALTU 2>/dev/null + $RM -f $REGULAR + $RM -f $CACHE + $RM -f $LOG + $RM -f $SPARE +} +log_onexit cleanup + +log_must $MKFILE 64m $REGULAR +log_must $MKFILE 64m $LOG +log_must $MKFILE 64m $CACHE +log_must $MKFILE 64m $SPARE +log_must $MDCONFIG -t vnode -a -f $REGULAR -u $REGULAR_U +log_must $MDCONFIG -t vnode -a -f $LOG -u $LOG_U +log_must $MDCONFIG -t vnode -a -f $CACHE -u $CACHE_U +log_must $MDCONFIG -t vnode -a -f $SPARE -u $SPARE_U + +log_must $ZPOOL create $TESTPOOL md$REGULAR_U log md$LOG_U cache md$CACHE_U spare md$SPARE_U +log_must $ZPOOL export $TESTPOOL +# Now destroy the md devices, then recreate them with different names +log_must $MDCONFIG -d -u $REGULAR_U +log_must $MDCONFIG -d -u $LOG_U +log_must $MDCONFIG -d -u $CACHE_U +log_must $MDCONFIG -d -u $SPARE_U +log_must $MDCONFIG -t vnode -a -f $REGULAR -u $REGULAR_ALTU +log_must $MDCONFIG -t vnode -a -f $LOG -u $LOG_ALTU +log_must $MDCONFIG -t vnode -a -f $CACHE -u $CACHE_ALTU +log_must $MDCONFIG -t vnode -a -f $SPARE -u $SPARE_ALTU + +log_must $ZPOOL import $TESTPOOL +zpool status $TESTPOOL +log_must check_state $TESTPOOL md${REGULAR_ALTU} ONLINE +log_must check_state $TESTPOOL md${LOG_ALTU} ONLINE +log_must check_state $TESTPOOL md${CACHE_ALTU} ONLINE +log_must check_state $TESTPOOL md${SPARE_ALTU} AVAIL + +log_pass Modified: projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_test.sh ============================================================================== --- projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_test.sh Mon Jan 11 19:59:56 2016 (r293688) +++ projects/zfsd/head/tests/sys/cddl/zfs/tests/cli_root/zpool_import/zpool_import_test.sh Mon Jan 11 20:00:21 2016 (r293689) @@ -516,6 +516,22 @@ zpool_import_missing_004_pos_body() ksh93 $(atf_get_srcdir)/zpool_import_missing_004_pos.ksh || atf_fail "Testcase failed" } +atf_test_case zpool_import_missing_005_pos +zpool_import_missing_005_pos_head() +{ + atf_set "descr" "Verify that zpool import succeeds when devices of all types have been renamed" + atf_set "require.progs" mkfile mdconfig zfs zpool + atf_set "timeout" 300 +} +zpool_import_missing_005_pos_body() +{ + export TESTCASE_ID=$(echo $(atf_get ident) | cksum -o 2 | cut -f 1 -d " ") + . $(atf_get_srcdir)/../../../include/default.cfg + . $(atf_get_srcdir)/zpool_import.cfg + + ksh93 $(atf_get_srcdir)/zpool_import_missing_005_pos.ksh || atf_fail "Testcase failed" +} + atf_test_case zpool_import_rename_001_pos cleanup zpool_import_rename_001_pos_head() @@ -592,6 +608,7 @@ atf_init_test_cases() atf_add_test_case zpool_import_missing_002_pos atf_add_test_case zpool_import_missing_003_pos atf_add_test_case zpool_import_missing_004_pos + atf_add_test_case zpool_import_missing_005_pos atf_add_test_case zpool_import_rename_001_pos atf_add_test_case zpool_import_corrupt_001_pos } From owner-svn-src-projects@freebsd.org Mon Jan 11 21:29:37 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 D05EDA6BCCB for ; Mon, 11 Jan 2016 21:29:37 +0000 (UTC) (envelope-from andrew@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 A1288107B; Mon, 11 Jan 2016 21:29:37 +0000 (UTC) (envelope-from andrew@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0BLTaAZ004168; Mon, 11 Jan 2016 21:29:36 GMT (envelope-from andrew@FreeBSD.org) Received: (from andrew@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0BLTaMJ004167; Mon, 11 Jan 2016 21:29:36 GMT (envelope-from andrew@FreeBSD.org) Message-Id: <201601112129.u0BLTaMJ004167@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: andrew set sender to andrew@FreeBSD.org using -f From: Andrew Turner Date: Mon, 11 Jan 2016 21:29:36 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293702 - projects/clang380-import/lib/msun/tests 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.20 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, 11 Jan 2016 21:29:37 -0000 Author: andrew Date: Mon Jan 11 21:29:36 2016 New Revision: 293702 URL: https://svnweb.freebsd.org/changeset/base/293702 Log: Disable building the csqrt_test test on arm64, it hits an assert in llvm 3.8. Modified: projects/clang380-import/lib/msun/tests/Makefile Modified: projects/clang380-import/lib/msun/tests/Makefile ============================================================================== --- projects/clang380-import/lib/msun/tests/Makefile Mon Jan 11 21:12:49 2016 (r293701) +++ projects/clang380-import/lib/msun/tests/Makefile Mon Jan 11 21:29:36 2016 (r293702) @@ -38,7 +38,11 @@ NETBSD_ATF_TESTS_C+= tanh_test TAP_TESTS_C+= cexp_test TAP_TESTS_C+= conj_test +.if ${MACHINE_CPUARCH} != "aarch64" +# Hits an assert in llvm when building for arm64: +# https://llvm.org/bugs/show_bug.cgi?id=26081 TAP_TESTS_C+= csqrt_test +.endif TAP_TESTS_C+= ctrig_test TAP_TESTS_C+= exponential_test TAP_TESTS_C+= fenv_test From owner-svn-src-projects@freebsd.org Tue Jan 12 01:23:48 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 96CF2A6C8CF for ; Tue, 12 Jan 2016 01:23:48 +0000 (UTC) (envelope-from gjb@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 41FA3183A; Tue, 12 Jan 2016 01:23:48 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0C1NlJt074443; Tue, 12 Jan 2016 01:23:47 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0C1Nj4N074427; Tue, 12 Jan 2016 01:23:45 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201601120123.u0C1Nj4N074427@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 12 Jan 2016 01:23:45 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293718 - in projects/release-pkg: . bin/sh bin/sh/tests/builtins contrib/hyperv/tools contrib/ntp contrib/ntp/html contrib/ntp/include contrib/ntp/lib/isc contrib/ntp/lib/isc/win32 con... 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.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2016 01:23:48 -0000 Author: gjb Date: Tue Jan 12 01:23:45 2016 New Revision: 293718 URL: https://svnweb.freebsd.org/changeset/base/293718 Log: MFH Sponsored by: The FreeBSD Foundation Added: projects/release-pkg/bin/sh/tests/builtins/cd9.0 - copied unchanged from r293717, head/bin/sh/tests/builtins/cd9.0 projects/release-pkg/bin/sh/tests/builtins/cd9.0.stdout - copied unchanged from r293717, head/bin/sh/tests/builtins/cd9.0.stdout projects/release-pkg/bin/sh/tests/builtins/getopts10.0 - copied unchanged from r293717, head/bin/sh/tests/builtins/getopts10.0 projects/release-pkg/bin/sh/tests/builtins/local5.0 - copied unchanged from r293717, head/bin/sh/tests/builtins/local5.0 projects/release-pkg/contrib/ntp/include/safecast.h - copied unchanged from r293717, head/contrib/ntp/include/safecast.h projects/release-pkg/sys/x86/include/metadata.h - copied unchanged from r293717, head/sys/x86/include/metadata.h projects/release-pkg/tools/build/options/WITHOUT_LLVM_LIBUNWIND - copied unchanged from r293717, head/tools/build/options/WITHOUT_LLVM_LIBUNWIND projects/release-pkg/tools/build/options/WITH_LLVM_LIBUNWIND - copied unchanged from r293717, head/tools/build/options/WITH_LLVM_LIBUNWIND projects/release-pkg/tools/regression/geom_eli/conf.sh - copied unchanged from r293717, head/tools/regression/geom_eli/conf.sh projects/release-pkg/tools/regression/geom_uzip/conf.sh - copied unchanged from r293717, head/tools/regression/geom_uzip/conf.sh projects/release-pkg/tools/regression/geom_uzip/test-1.t - copied unchanged from r293717, head/tools/regression/geom_uzip/test-1.t Replaced: projects/release-pkg/sys/amd64/include/metadata.h - copied unchanged from r293717, head/sys/amd64/include/metadata.h Deleted: projects/release-pkg/tools/regression/geom_gate/Makefile projects/release-pkg/tools/regression/geom_gate/runtests.sh projects/release-pkg/tools/regression/geom_gate/test-1.sh projects/release-pkg/tools/regression/geom_gate/test-2.sh projects/release-pkg/tools/regression/geom_gate/test-3.sh projects/release-pkg/tools/regression/geom_uzip/runtests.sh projects/release-pkg/tools/regression/geom_uzip/test-1.sh projects/release-pkg/tools/regression/geom_uzip/test-2.sh Modified: projects/release-pkg/Makefile projects/release-pkg/Makefile.inc1 projects/release-pkg/bin/sh/eval.c projects/release-pkg/bin/sh/expand.c projects/release-pkg/bin/sh/options.c projects/release-pkg/bin/sh/options.h projects/release-pkg/bin/sh/tests/builtins/Makefile projects/release-pkg/bin/sh/var.c projects/release-pkg/contrib/hyperv/tools/hv_kvp_daemon.c projects/release-pkg/contrib/ntp/ChangeLog projects/release-pkg/contrib/ntp/CommitLog projects/release-pkg/contrib/ntp/NEWS projects/release-pkg/contrib/ntp/configure projects/release-pkg/contrib/ntp/html/miscopt.html projects/release-pkg/contrib/ntp/include/Makefile.am projects/release-pkg/contrib/ntp/include/Makefile.in projects/release-pkg/contrib/ntp/include/ntp_refclock.h projects/release-pkg/contrib/ntp/include/ntp_stdlib.h projects/release-pkg/contrib/ntp/include/ntp_worker.h projects/release-pkg/contrib/ntp/include/ntpd.h projects/release-pkg/contrib/ntp/lib/isc/backtrace.c projects/release-pkg/contrib/ntp/lib/isc/buffer.c projects/release-pkg/contrib/ntp/lib/isc/inet_aton.c projects/release-pkg/contrib/ntp/lib/isc/inet_pton.c projects/release-pkg/contrib/ntp/lib/isc/log.c projects/release-pkg/contrib/ntp/lib/isc/netaddr.c projects/release-pkg/contrib/ntp/lib/isc/sockaddr.c projects/release-pkg/contrib/ntp/lib/isc/task.c projects/release-pkg/contrib/ntp/lib/isc/win32/interfaceiter.c projects/release-pkg/contrib/ntp/lib/isc/win32/net.c projects/release-pkg/contrib/ntp/libntp/a_md5encrypt.c projects/release-pkg/contrib/ntp/libntp/atolfp.c projects/release-pkg/contrib/ntp/libntp/authkeys.c projects/release-pkg/contrib/ntp/libntp/authreadkeys.c projects/release-pkg/contrib/ntp/libntp/authusekey.c projects/release-pkg/contrib/ntp/libntp/dolfptoa.c projects/release-pkg/contrib/ntp/libntp/hextolfp.c projects/release-pkg/contrib/ntp/libntp/mstolfp.c projects/release-pkg/contrib/ntp/libntp/msyslog.c projects/release-pkg/contrib/ntp/libntp/ntp_crypto_rnd.c projects/release-pkg/contrib/ntp/libntp/ntp_lineedit.c projects/release-pkg/contrib/ntp/libntp/ntp_rfc2553.c projects/release-pkg/contrib/ntp/libntp/ntp_worker.c projects/release-pkg/contrib/ntp/libntp/snprintf.c projects/release-pkg/contrib/ntp/libntp/socktohost.c projects/release-pkg/contrib/ntp/libntp/systime.c projects/release-pkg/contrib/ntp/libntp/work_thread.c projects/release-pkg/contrib/ntp/libparse/clk_computime.c projects/release-pkg/contrib/ntp/libparse/clk_dcf7000.c projects/release-pkg/contrib/ntp/libparse/clk_hopf6021.c projects/release-pkg/contrib/ntp/libparse/clk_meinberg.c projects/release-pkg/contrib/ntp/libparse/clk_rawdcf.c projects/release-pkg/contrib/ntp/libparse/clk_rcc8000.c projects/release-pkg/contrib/ntp/libparse/clk_schmid.c projects/release-pkg/contrib/ntp/libparse/clk_trimtaip.c projects/release-pkg/contrib/ntp/libparse/clk_varitext.c projects/release-pkg/contrib/ntp/libparse/clk_wharton.c projects/release-pkg/contrib/ntp/libparse/parse.c projects/release-pkg/contrib/ntp/ntpd/invoke-ntp.conf.texi projects/release-pkg/contrib/ntp/ntpd/invoke-ntp.keys.texi projects/release-pkg/contrib/ntp/ntpd/invoke-ntpd.texi projects/release-pkg/contrib/ntp/ntpd/ntp.conf.5man projects/release-pkg/contrib/ntp/ntpd/ntp.conf.5mdoc projects/release-pkg/contrib/ntp/ntpd/ntp.conf.html projects/release-pkg/contrib/ntp/ntpd/ntp.conf.man.in projects/release-pkg/contrib/ntp/ntpd/ntp.conf.mdoc.in projects/release-pkg/contrib/ntp/ntpd/ntp.keys.5man projects/release-pkg/contrib/ntp/ntpd/ntp.keys.5mdoc projects/release-pkg/contrib/ntp/ntpd/ntp.keys.html projects/release-pkg/contrib/ntp/ntpd/ntp.keys.man.in projects/release-pkg/contrib/ntp/ntpd/ntp.keys.mdoc.in projects/release-pkg/contrib/ntp/ntpd/ntp_control.c projects/release-pkg/contrib/ntp/ntpd/ntp_crypto.c projects/release-pkg/contrib/ntp/ntpd/ntp_io.c projects/release-pkg/contrib/ntp/ntpd/ntp_loopfilter.c projects/release-pkg/contrib/ntp/ntpd/ntp_parser.c projects/release-pkg/contrib/ntp/ntpd/ntp_proto.c projects/release-pkg/contrib/ntp/ntpd/ntp_refclock.c projects/release-pkg/contrib/ntp/ntpd/ntp_request.c projects/release-pkg/contrib/ntp/ntpd/ntp_restrict.c projects/release-pkg/contrib/ntp/ntpd/ntp_signd.c projects/release-pkg/contrib/ntp/ntpd/ntp_timer.c projects/release-pkg/contrib/ntp/ntpd/ntp_util.c projects/release-pkg/contrib/ntp/ntpd/ntpd-opts.c projects/release-pkg/contrib/ntp/ntpd/ntpd-opts.h projects/release-pkg/contrib/ntp/ntpd/ntpd.1ntpdman projects/release-pkg/contrib/ntp/ntpd/ntpd.1ntpdmdoc projects/release-pkg/contrib/ntp/ntpd/ntpd.c projects/release-pkg/contrib/ntp/ntpd/ntpd.html projects/release-pkg/contrib/ntp/ntpd/ntpd.man.in projects/release-pkg/contrib/ntp/ntpd/ntpd.mdoc.in projects/release-pkg/contrib/ntp/ntpd/refclock_local.c projects/release-pkg/contrib/ntp/ntpd/refclock_parse.c projects/release-pkg/contrib/ntp/ntpd/refclock_shm.c projects/release-pkg/contrib/ntp/ntpd/refclock_true.c projects/release-pkg/contrib/ntp/ntpd/refclock_tsyncpci.c projects/release-pkg/contrib/ntp/ntpdate/ntpdate.c projects/release-pkg/contrib/ntp/ntpdc/invoke-ntpdc.texi projects/release-pkg/contrib/ntp/ntpdc/ntpdc-opts.c projects/release-pkg/contrib/ntp/ntpdc/ntpdc-opts.h projects/release-pkg/contrib/ntp/ntpdc/ntpdc.1ntpdcman projects/release-pkg/contrib/ntp/ntpdc/ntpdc.1ntpdcmdoc projects/release-pkg/contrib/ntp/ntpdc/ntpdc.c projects/release-pkg/contrib/ntp/ntpdc/ntpdc.h projects/release-pkg/contrib/ntp/ntpdc/ntpdc.html projects/release-pkg/contrib/ntp/ntpdc/ntpdc.man.in projects/release-pkg/contrib/ntp/ntpdc/ntpdc.mdoc.in projects/release-pkg/contrib/ntp/ntpdc/ntpdc_ops.c projects/release-pkg/contrib/ntp/ntpq/invoke-ntpq.texi projects/release-pkg/contrib/ntp/ntpq/libntpq.c projects/release-pkg/contrib/ntp/ntpq/libntpq.h projects/release-pkg/contrib/ntp/ntpq/libntpq_subs.c projects/release-pkg/contrib/ntp/ntpq/ntpq-opts.c projects/release-pkg/contrib/ntp/ntpq/ntpq-opts.h projects/release-pkg/contrib/ntp/ntpq/ntpq-subs.c projects/release-pkg/contrib/ntp/ntpq/ntpq.1ntpqman projects/release-pkg/contrib/ntp/ntpq/ntpq.1ntpqmdoc projects/release-pkg/contrib/ntp/ntpq/ntpq.c projects/release-pkg/contrib/ntp/ntpq/ntpq.h projects/release-pkg/contrib/ntp/ntpq/ntpq.html projects/release-pkg/contrib/ntp/ntpq/ntpq.man.in projects/release-pkg/contrib/ntp/ntpq/ntpq.mdoc.in projects/release-pkg/contrib/ntp/ntpsnmpd/invoke-ntpsnmpd.texi projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.c projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd-opts.h projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdman projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd.html projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd.man.in projects/release-pkg/contrib/ntp/ntpsnmpd/ntpsnmpd.mdoc.in projects/release-pkg/contrib/ntp/packageinfo.sh projects/release-pkg/contrib/ntp/scripts/calc_tickadj/Makefile.am projects/release-pkg/contrib/ntp/scripts/calc_tickadj/Makefile.in projects/release-pkg/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjman projects/release-pkg/contrib/ntp/scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc projects/release-pkg/contrib/ntp/scripts/calc_tickadj/calc_tickadj.html projects/release-pkg/contrib/ntp/scripts/calc_tickadj/calc_tickadj.man.in projects/release-pkg/contrib/ntp/scripts/calc_tickadj/calc_tickadj.mdoc.in projects/release-pkg/contrib/ntp/scripts/calc_tickadj/invoke-calc_tickadj.texi projects/release-pkg/contrib/ntp/scripts/invoke-plot_summary.texi projects/release-pkg/contrib/ntp/scripts/invoke-summary.texi projects/release-pkg/contrib/ntp/scripts/ntp-wait/invoke-ntp-wait.texi projects/release-pkg/contrib/ntp/scripts/ntp-wait/ntp-wait-opts projects/release-pkg/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitman projects/release-pkg/contrib/ntp/scripts/ntp-wait/ntp-wait.1ntp-waitmdoc projects/release-pkg/contrib/ntp/scripts/ntp-wait/ntp-wait.html projects/release-pkg/contrib/ntp/scripts/ntp-wait/ntp-wait.man.in projects/release-pkg/contrib/ntp/scripts/ntp-wait/ntp-wait.mdoc.in projects/release-pkg/contrib/ntp/scripts/ntpsweep/invoke-ntpsweep.texi projects/release-pkg/contrib/ntp/scripts/ntpsweep/ntpsweep-opts projects/release-pkg/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepman projects/release-pkg/contrib/ntp/scripts/ntpsweep/ntpsweep.1ntpsweepmdoc projects/release-pkg/contrib/ntp/scripts/ntpsweep/ntpsweep.html projects/release-pkg/contrib/ntp/scripts/ntpsweep/ntpsweep.man.in projects/release-pkg/contrib/ntp/scripts/ntpsweep/ntpsweep.mdoc.in projects/release-pkg/contrib/ntp/scripts/ntptrace/invoke-ntptrace.texi projects/release-pkg/contrib/ntp/scripts/ntptrace/ntptrace-opts projects/release-pkg/contrib/ntp/scripts/ntptrace/ntptrace.1ntptraceman projects/release-pkg/contrib/ntp/scripts/ntptrace/ntptrace.1ntptracemdoc projects/release-pkg/contrib/ntp/scripts/ntptrace/ntptrace.html projects/release-pkg/contrib/ntp/scripts/ntptrace/ntptrace.man.in projects/release-pkg/contrib/ntp/scripts/ntptrace/ntptrace.mdoc.in projects/release-pkg/contrib/ntp/scripts/plot_summary-opts projects/release-pkg/contrib/ntp/scripts/plot_summary.1plot_summaryman projects/release-pkg/contrib/ntp/scripts/plot_summary.1plot_summarymdoc projects/release-pkg/contrib/ntp/scripts/plot_summary.html projects/release-pkg/contrib/ntp/scripts/plot_summary.man.in projects/release-pkg/contrib/ntp/scripts/plot_summary.mdoc.in projects/release-pkg/contrib/ntp/scripts/summary-opts projects/release-pkg/contrib/ntp/scripts/summary.1summaryman projects/release-pkg/contrib/ntp/scripts/summary.1summarymdoc projects/release-pkg/contrib/ntp/scripts/summary.html projects/release-pkg/contrib/ntp/scripts/summary.man.in projects/release-pkg/contrib/ntp/scripts/summary.mdoc.in projects/release-pkg/contrib/ntp/scripts/update-leap/invoke-update-leap.texi projects/release-pkg/contrib/ntp/scripts/update-leap/update-leap-opts projects/release-pkg/contrib/ntp/scripts/update-leap/update-leap.1update-leapman projects/release-pkg/contrib/ntp/scripts/update-leap/update-leap.1update-leapmdoc projects/release-pkg/contrib/ntp/scripts/update-leap/update-leap.html projects/release-pkg/contrib/ntp/scripts/update-leap/update-leap.man.in projects/release-pkg/contrib/ntp/scripts/update-leap/update-leap.mdoc.in projects/release-pkg/contrib/ntp/sntp/configure projects/release-pkg/contrib/ntp/sntp/include/version.def projects/release-pkg/contrib/ntp/sntp/include/version.texi projects/release-pkg/contrib/ntp/sntp/invoke-sntp.texi projects/release-pkg/contrib/ntp/sntp/m4/ntp_libevent.m4 projects/release-pkg/contrib/ntp/sntp/m4/ntp_problemtests.m4 projects/release-pkg/contrib/ntp/sntp/m4/version.m4 projects/release-pkg/contrib/ntp/sntp/networking.c projects/release-pkg/contrib/ntp/sntp/sntp-opts.c projects/release-pkg/contrib/ntp/sntp/sntp-opts.h projects/release-pkg/contrib/ntp/sntp/sntp.1sntpman projects/release-pkg/contrib/ntp/sntp/sntp.1sntpmdoc projects/release-pkg/contrib/ntp/sntp/sntp.html projects/release-pkg/contrib/ntp/sntp/sntp.man.in projects/release-pkg/contrib/ntp/sntp/sntp.mdoc.in projects/release-pkg/contrib/ntp/sntp/tests/keyFile.c projects/release-pkg/contrib/ntp/sntp/tests/kodDatabase.c projects/release-pkg/contrib/ntp/sntp/tests/kodFile.c projects/release-pkg/contrib/ntp/sntp/tests/run-kodDatabase.c projects/release-pkg/contrib/ntp/sntp/tests/run-t-log.c projects/release-pkg/contrib/ntp/sntp/tests/t-log.c projects/release-pkg/contrib/ntp/sntp/tests/utilities.c projects/release-pkg/contrib/ntp/sntp/unity/unity_internals.h projects/release-pkg/contrib/ntp/sntp/version.c projects/release-pkg/contrib/ntp/tests/bug-2803/bug-2803.c projects/release-pkg/contrib/ntp/tests/bug-2803/run-bug-2803.c projects/release-pkg/contrib/ntp/tests/libntp/a_md5encrypt.c projects/release-pkg/contrib/ntp/tests/libntp/authkeys.c projects/release-pkg/contrib/ntp/tests/libntp/buftvtots.c projects/release-pkg/contrib/ntp/tests/libntp/calendar.c projects/release-pkg/contrib/ntp/tests/libntp/caljulian.c projects/release-pkg/contrib/ntp/tests/libntp/clocktime.c projects/release-pkg/contrib/ntp/tests/libntp/decodenetnum.c projects/release-pkg/contrib/ntp/tests/libntp/humandate.c projects/release-pkg/contrib/ntp/tests/libntp/lfpfunc.c projects/release-pkg/contrib/ntp/tests/libntp/lfptostr.c projects/release-pkg/contrib/ntp/tests/libntp/modetoa.c projects/release-pkg/contrib/ntp/tests/libntp/msyslog.c projects/release-pkg/contrib/ntp/tests/libntp/netof.c projects/release-pkg/contrib/ntp/tests/libntp/numtoa.c projects/release-pkg/contrib/ntp/tests/libntp/numtohost.c projects/release-pkg/contrib/ntp/tests/libntp/octtoint.c projects/release-pkg/contrib/ntp/tests/libntp/prettydate.c projects/release-pkg/contrib/ntp/tests/libntp/recvbuff.c projects/release-pkg/contrib/ntp/tests/libntp/refidsmear.c projects/release-pkg/contrib/ntp/tests/libntp/refnumtoa.c projects/release-pkg/contrib/ntp/tests/libntp/run-a_md5encrypt.c projects/release-pkg/contrib/ntp/tests/libntp/run-calendar.c projects/release-pkg/contrib/ntp/tests/libntp/run-decodenetnum.c projects/release-pkg/contrib/ntp/tests/libntp/run-humandate.c projects/release-pkg/contrib/ntp/tests/libntp/run-lfpfunc.c projects/release-pkg/contrib/ntp/tests/libntp/run-lfptostr.c projects/release-pkg/contrib/ntp/tests/libntp/run-modetoa.c projects/release-pkg/contrib/ntp/tests/libntp/run-msyslog.c projects/release-pkg/contrib/ntp/tests/libntp/run-netof.c projects/release-pkg/contrib/ntp/tests/libntp/run-numtoa.c projects/release-pkg/contrib/ntp/tests/libntp/run-numtohost.c projects/release-pkg/contrib/ntp/tests/libntp/run-prettydate.c projects/release-pkg/contrib/ntp/tests/libntp/run-refnumtoa.c projects/release-pkg/contrib/ntp/tests/libntp/run-sfptostr.c projects/release-pkg/contrib/ntp/tests/libntp/run-socktoa.c projects/release-pkg/contrib/ntp/tests/libntp/run-statestr.c projects/release-pkg/contrib/ntp/tests/libntp/run-strtolfp.c projects/release-pkg/contrib/ntp/tests/libntp/run-timespecops.c projects/release-pkg/contrib/ntp/tests/libntp/run-timevalops.c projects/release-pkg/contrib/ntp/tests/libntp/run-uglydate.c projects/release-pkg/contrib/ntp/tests/libntp/sfptostr.c projects/release-pkg/contrib/ntp/tests/libntp/socktoa.c projects/release-pkg/contrib/ntp/tests/libntp/statestr.c projects/release-pkg/contrib/ntp/tests/libntp/strtolfp.c projects/release-pkg/contrib/ntp/tests/libntp/timespecops.c projects/release-pkg/contrib/ntp/tests/libntp/timevalops.c projects/release-pkg/contrib/ntp/tests/libntp/uglydate.c projects/release-pkg/contrib/ntp/tests/ntpd/leapsec.c projects/release-pkg/contrib/ntp/tests/ntpd/ntp_prio_q.c projects/release-pkg/contrib/ntp/tests/ntpd/ntp_restrict.c projects/release-pkg/contrib/ntp/tests/ntpd/rc_cmdlength.c projects/release-pkg/contrib/ntp/tests/ntpd/run-leapsec.c projects/release-pkg/contrib/ntp/tests/ntpd/run-ntp_restrict.c projects/release-pkg/contrib/ntp/tests/ntpd/run-rc_cmdlength.c projects/release-pkg/contrib/ntp/tests/ntpd/run-t-ntp_signd.c projects/release-pkg/contrib/ntp/tests/ntpd/t-ntp_scanner.c projects/release-pkg/contrib/ntp/tests/ntpd/t-ntp_signd.c projects/release-pkg/contrib/ntp/tests/sandbox/run-uglydate.c projects/release-pkg/contrib/ntp/tests/sandbox/smeartest.c projects/release-pkg/contrib/ntp/tests/sandbox/uglydate.c projects/release-pkg/contrib/ntp/tests/sec-2853/sec-2853.c projects/release-pkg/contrib/ntp/util/invoke-ntp-keygen.texi projects/release-pkg/contrib/ntp/util/ntp-keygen-opts.c projects/release-pkg/contrib/ntp/util/ntp-keygen-opts.h projects/release-pkg/contrib/ntp/util/ntp-keygen.1ntp-keygenman projects/release-pkg/contrib/ntp/util/ntp-keygen.1ntp-keygenmdoc projects/release-pkg/contrib/ntp/util/ntp-keygen.c projects/release-pkg/contrib/ntp/util/ntp-keygen.html projects/release-pkg/contrib/ntp/util/ntp-keygen.man.in projects/release-pkg/contrib/ntp/util/ntp-keygen.mdoc.in projects/release-pkg/gnu/lib/libgcc/Makefile projects/release-pkg/include/limits.h projects/release-pkg/lib/csu/arm/Makefile projects/release-pkg/lib/libc/rpc/rpc_soc.c projects/release-pkg/lib/libc/rpc/rpcb_clnt.c projects/release-pkg/lib/libc/rpc/rpcb_prot.c projects/release-pkg/lib/libc/sys/sendfile.2 projects/release-pkg/lib/libdpv/util.h projects/release-pkg/lib/libmd/Makefile.depend projects/release-pkg/lib/libstand/Makefile projects/release-pkg/lib/libstand/uuid_to_string.c projects/release-pkg/libexec/rtld-elf/rtld.c projects/release-pkg/libexec/rtld-elf/rtld.h projects/release-pkg/release/release.sh projects/release-pkg/share/man/man4/ioat.4 projects/release-pkg/share/man/man4/ismt.4 projects/release-pkg/share/man/man4/nvme.4 projects/release-pkg/share/man/man5/src.conf.5 projects/release-pkg/share/man/man9/DEVICE_PROBE.9 projects/release-pkg/share/man/man9/Makefile projects/release-pkg/share/man/man9/kern_testfrwk.9 projects/release-pkg/share/man/man9/make_dev.9 projects/release-pkg/share/man/man9/malloc.9 projects/release-pkg/share/man/man9/timeout.9 projects/release-pkg/share/misc/committers-src.dot projects/release-pkg/share/mk/src.opts.mk projects/release-pkg/sys/amd64/amd64/elf_machdep.c projects/release-pkg/sys/amd64/amd64/trap.c projects/release-pkg/sys/amd64/linux/linux_sysvec.c projects/release-pkg/sys/amd64/linux32/linux32_sysvec.c projects/release-pkg/sys/arm/arm/elf_machdep.c projects/release-pkg/sys/arm64/arm64/elf_machdep.c projects/release-pkg/sys/boot/common/ufsread.c projects/release-pkg/sys/boot/efi/boot1/Makefile projects/release-pkg/sys/boot/efi/boot1/boot1.c projects/release-pkg/sys/boot/efi/boot1/fat-amd64.tmpl.bz2.uu projects/release-pkg/sys/boot/efi/boot1/fat-arm.tmpl.bz2.uu projects/release-pkg/sys/boot/efi/boot1/fat-arm64.tmpl.bz2.uu projects/release-pkg/sys/boot/efi/boot1/fat-i386.tmpl.bz2.uu projects/release-pkg/sys/boot/efi/boot1/generate-fat.sh projects/release-pkg/sys/boot/i386/loader/main.c projects/release-pkg/sys/boot/libstand32/Makefile projects/release-pkg/sys/boot/libstand32/Makefile.depend projects/release-pkg/sys/boot/powerpc/boot1.chrp/boot1.c projects/release-pkg/sys/boot/userboot/libstand/Makefile projects/release-pkg/sys/boot/userboot/libstand/Makefile.depend projects/release-pkg/sys/boot/userboot/test/Makefile.depend projects/release-pkg/sys/boot/userboot/userboot/main.c projects/release-pkg/sys/boot/zfs/zfs.c projects/release-pkg/sys/cam/ctl/ctl.c projects/release-pkg/sys/cam/scsi/scsi_ch.c projects/release-pkg/sys/cam/scsi/scsi_enc.c projects/release-pkg/sys/cam/scsi/scsi_pass.c projects/release-pkg/sys/cam/scsi/scsi_pt.c projects/release-pkg/sys/cam/scsi/scsi_sa.c projects/release-pkg/sys/cam/scsi/scsi_sg.c projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/release-pkg/sys/compat/ia32/ia32_sysvec.c projects/release-pkg/sys/compat/linux/linux_futex.c projects/release-pkg/sys/compat/linuxkpi/common/include/linux/gfp.h projects/release-pkg/sys/compat/linuxkpi/common/include/linux/interrupt.h projects/release-pkg/sys/compat/linuxkpi/common/include/linux/kthread.h projects/release-pkg/sys/compat/linuxkpi/common/include/linux/netdevice.h projects/release-pkg/sys/compat/linuxkpi/common/src/linux_compat.c projects/release-pkg/sys/compat/svr4/svr4_sysvec.c projects/release-pkg/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed) projects/release-pkg/sys/dev/bwi/if_bwi.c projects/release-pkg/sys/dev/cxgbe/t4_main.c projects/release-pkg/sys/dev/ic/ns16550.h projects/release-pkg/sys/dev/if_ndis/if_ndis.c projects/release-pkg/sys/dev/ioat/ioat.c projects/release-pkg/sys/dev/ioat/ioat.h projects/release-pkg/sys/dev/iscsi/iscsi.c projects/release-pkg/sys/dev/iscsi/iscsi.h projects/release-pkg/sys/dev/ismt/ismt.c projects/release-pkg/sys/dev/iwi/if_iwi.c projects/release-pkg/sys/dev/iwn/if_iwn.c projects/release-pkg/sys/dev/ixgbe/if_ixv.c projects/release-pkg/sys/dev/malo/if_malo.c projects/release-pkg/sys/dev/nvme/nvme_ctrlr.c projects/release-pkg/sys/dev/nvme/nvme_sysctl.c projects/release-pkg/sys/dev/otus/if_otus.c projects/release-pkg/sys/dev/puc/pucdata.c projects/release-pkg/sys/dev/ral/rt2560.c projects/release-pkg/sys/dev/ral/rt2661.c projects/release-pkg/sys/dev/ral/rt2860.c projects/release-pkg/sys/dev/rtwn/if_rtwn.c projects/release-pkg/sys/dev/sfxge/common/efsys.h projects/release-pkg/sys/dev/ti/if_ti.c projects/release-pkg/sys/dev/usb/wlan/if_rsu.c projects/release-pkg/sys/dev/usb/wlan/if_rum.c projects/release-pkg/sys/dev/usb/wlan/if_run.c projects/release-pkg/sys/dev/usb/wlan/if_uath.c projects/release-pkg/sys/dev/usb/wlan/if_upgt.c projects/release-pkg/sys/dev/usb/wlan/if_ural.c projects/release-pkg/sys/dev/usb/wlan/if_urtw.c projects/release-pkg/sys/dev/usb/wlan/if_urtwn.c projects/release-pkg/sys/dev/usb/wlan/if_zyd.c projects/release-pkg/sys/dev/vt/hw/ofwfb/ofwfb.c projects/release-pkg/sys/dev/wpi/if_wpi.c projects/release-pkg/sys/dev/xen/blkfront/blkfront.c projects/release-pkg/sys/fs/ext2fs/ext2_bmap.c projects/release-pkg/sys/fs/ext2fs/ext2_extents.c projects/release-pkg/sys/fs/ext2fs/ext2_extents.h projects/release-pkg/sys/fs/ext2fs/ext2_vfsops.c projects/release-pkg/sys/fs/ext2fs/ext2_vnops.c projects/release-pkg/sys/fs/smbfs/smbfs_smb.c projects/release-pkg/sys/fs/smbfs/smbfs_subr.h projects/release-pkg/sys/fs/smbfs/smbfs_vnops.c projects/release-pkg/sys/i386/i386/elf_machdep.c projects/release-pkg/sys/i386/ibcs2/ibcs2_sysvec.c projects/release-pkg/sys/i386/include/metadata.h projects/release-pkg/sys/i386/linux/linux_sysvec.c projects/release-pkg/sys/kern/imgact_aout.c projects/release-pkg/sys/kern/init_main.c projects/release-pkg/sys/kern/kern_condvar.c projects/release-pkg/sys/kern/kern_conf.c projects/release-pkg/sys/kern/subr_bus_dma.c projects/release-pkg/sys/kern/tty.c projects/release-pkg/sys/kern/uipc_mbuf.c projects/release-pkg/sys/kern/uipc_sockbuf.c projects/release-pkg/sys/kern/uipc_syscalls.c projects/release-pkg/sys/kern/uipc_usrreq.c projects/release-pkg/sys/mips/mips/elf_machdep.c projects/release-pkg/sys/mips/mips/freebsd32_machdep.c projects/release-pkg/sys/net/if_arcsubr.c projects/release-pkg/sys/net/if_ethersubr.c projects/release-pkg/sys/net/if_fddisubr.c projects/release-pkg/sys/net/if_fwsubr.c projects/release-pkg/sys/net/if_iso88025subr.c projects/release-pkg/sys/net/if_loop.c projects/release-pkg/sys/net/radix_mpath.c projects/release-pkg/sys/net/radix_mpath.h projects/release-pkg/sys/net/route.c projects/release-pkg/sys/net/route.h projects/release-pkg/sys/net80211/ieee80211_freebsd.c projects/release-pkg/sys/netgraph/bluetooth/socket/ng_btsocket_rfcomm.c projects/release-pkg/sys/netgraph/netflow/netflow.c projects/release-pkg/sys/netgraph/netflow/netflow_v9.c projects/release-pkg/sys/netgraph/netflow/ng_netflow.c projects/release-pkg/sys/netinet/in_fib.c projects/release-pkg/sys/netinet/in_pcb.c projects/release-pkg/sys/netinet/ip_encap.c projects/release-pkg/sys/netinet/ip_mroute.c projects/release-pkg/sys/netinet/ip_output.c projects/release-pkg/sys/netinet/raw_ip.c projects/release-pkg/sys/netinet/tcp_reass.c projects/release-pkg/sys/netinet/tcp_subr.c projects/release-pkg/sys/netinet/toecore.c projects/release-pkg/sys/netinet6/frag6.c projects/release-pkg/sys/netinet6/icmp6.c projects/release-pkg/sys/netinet6/in6_fib.c projects/release-pkg/sys/netinet6/in6_pcb.c projects/release-pkg/sys/netinet6/in6_rmx.c projects/release-pkg/sys/netinet6/in6_src.c projects/release-pkg/sys/netinet6/ip6_var.h projects/release-pkg/sys/netinet6/nd6_nbr.c projects/release-pkg/sys/netinet6/raw_ip6.c projects/release-pkg/sys/netinet6/udp6_usrreq.c projects/release-pkg/sys/netpfil/ipfw/ip_fw_table.c projects/release-pkg/sys/netpfil/ipfw/ip_fw_table_algo.c projects/release-pkg/sys/netpfil/pf/pf_if.c projects/release-pkg/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c projects/release-pkg/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c projects/release-pkg/sys/powerpc/aim/locore32.S projects/release-pkg/sys/powerpc/aim/locore64.S projects/release-pkg/sys/powerpc/aim/trap_subr64.S projects/release-pkg/sys/powerpc/booke/booke_machdep.c projects/release-pkg/sys/powerpc/booke/locore.S projects/release-pkg/sys/powerpc/include/pcb.h projects/release-pkg/sys/powerpc/include/setjmp.h projects/release-pkg/sys/powerpc/ofw/rtas.c projects/release-pkg/sys/powerpc/powermac/grackle.c projects/release-pkg/sys/powerpc/powerpc/copyinout.c projects/release-pkg/sys/powerpc/powerpc/elf32_machdep.c projects/release-pkg/sys/powerpc/powerpc/elf64_machdep.c projects/release-pkg/sys/powerpc/powerpc/mp_machdep.c projects/release-pkg/sys/powerpc/powerpc/setjmp.S projects/release-pkg/sys/powerpc/powerpc/trap.c projects/release-pkg/sys/sparc64/sparc64/elf_machdep.c projects/release-pkg/sys/sys/conf.h projects/release-pkg/sys/sys/mbuf.h projects/release-pkg/sys/sys/nv.h projects/release-pkg/sys/sys/sf_buf.h projects/release-pkg/sys/sys/sockbuf.h projects/release-pkg/sys/sys/socket.h projects/release-pkg/sys/sys/sysent.h projects/release-pkg/sys/vm/vm_domain.c projects/release-pkg/tools/build/mk/OptionalObsoleteFiles.inc projects/release-pkg/tools/regression/geom_concat/conf.sh projects/release-pkg/tools/regression/geom_concat/test-1.t projects/release-pkg/tools/regression/geom_concat/test-2.t projects/release-pkg/tools/regression/geom_eli/attach-d.t projects/release-pkg/tools/regression/geom_eli/configure-b-B.t projects/release-pkg/tools/regression/geom_eli/delkey.t projects/release-pkg/tools/regression/geom_eli/detach-l.t projects/release-pkg/tools/regression/geom_eli/init-B.t projects/release-pkg/tools/regression/geom_eli/init-J.t projects/release-pkg/tools/regression/geom_eli/init-a.t projects/release-pkg/tools/regression/geom_eli/init-i-P.t projects/release-pkg/tools/regression/geom_eli/init.t projects/release-pkg/tools/regression/geom_eli/integrity-copy.t projects/release-pkg/tools/regression/geom_eli/integrity-data.t projects/release-pkg/tools/regression/geom_eli/integrity-hmac.t projects/release-pkg/tools/regression/geom_eli/kill.t projects/release-pkg/tools/regression/geom_eli/nokey.t projects/release-pkg/tools/regression/geom_eli/onetime-a.t projects/release-pkg/tools/regression/geom_eli/onetime-d.t projects/release-pkg/tools/regression/geom_eli/onetime.t projects/release-pkg/tools/regression/geom_eli/readonly.t projects/release-pkg/tools/regression/geom_eli/resize.t projects/release-pkg/tools/regression/geom_eli/setkey.t projects/release-pkg/tools/regression/geom_gate/test-1.t projects/release-pkg/tools/regression/geom_gate/test-2.t projects/release-pkg/tools/regression/geom_gate/test-3.t projects/release-pkg/tools/regression/geom_nop/conf.sh projects/release-pkg/tools/regression/geom_nop/test-1.t projects/release-pkg/tools/regression/geom_nop/test-2.t projects/release-pkg/tools/regression/geom_raid3/conf.sh projects/release-pkg/tools/regression/geom_raid3/test-1.t projects/release-pkg/tools/regression/geom_raid3/test-10.t projects/release-pkg/tools/regression/geom_raid3/test-11.t projects/release-pkg/tools/regression/geom_raid3/test-12.t projects/release-pkg/tools/regression/geom_raid3/test-2.t projects/release-pkg/tools/regression/geom_raid3/test-3.t projects/release-pkg/tools/regression/geom_raid3/test-4.t projects/release-pkg/tools/regression/geom_raid3/test-5.t projects/release-pkg/tools/regression/geom_raid3/test-6.t projects/release-pkg/tools/regression/geom_raid3/test-7.t projects/release-pkg/tools/regression/geom_raid3/test-8.t projects/release-pkg/tools/regression/geom_raid3/test-9.t projects/release-pkg/tools/regression/geom_shsec/conf.sh projects/release-pkg/tools/regression/geom_shsec/test-1.t projects/release-pkg/tools/regression/geom_shsec/test-2.t projects/release-pkg/tools/regression/geom_stripe/conf.sh projects/release-pkg/tools/regression/geom_stripe/test-1.t projects/release-pkg/tools/regression/geom_stripe/test-2.t projects/release-pkg/tools/regression/geom_subr.sh projects/release-pkg/tools/regression/geom_uzip/Makefile projects/release-pkg/tools/tools/nanobsd/defaults.sh projects/release-pkg/tools/tools/nanobsd/embedded/common projects/release-pkg/usr.bin/kdump/Makefile.depend projects/release-pkg/usr.bin/netstat/mbuf.c projects/release-pkg/usr.bin/nfsstat/Makefile.depend projects/release-pkg/usr.sbin/bhyve/pci_virtio_net.c projects/release-pkg/usr.sbin/bsdconfig/share/dialog.subr projects/release-pkg/usr.sbin/jls/Makefile.depend projects/release-pkg/usr.sbin/ntp/config.h projects/release-pkg/usr.sbin/ntp/doc/ntp-keygen.8 projects/release-pkg/usr.sbin/ntp/doc/ntp.conf.5 projects/release-pkg/usr.sbin/ntp/doc/ntp.keys.5 projects/release-pkg/usr.sbin/ntp/doc/ntpd.8 projects/release-pkg/usr.sbin/ntp/doc/ntpdc.8 projects/release-pkg/usr.sbin/ntp/doc/ntpq.8 projects/release-pkg/usr.sbin/ntp/doc/sntp.8 projects/release-pkg/usr.sbin/ntp/scripts/mkver projects/release-pkg/usr.sbin/sesutil/Makefile.depend Directory Properties: projects/release-pkg/ (props changed) projects/release-pkg/contrib/ntp/ (props changed) projects/release-pkg/gnu/lib/ (props changed) projects/release-pkg/include/ (props changed) projects/release-pkg/lib/libc/ (props changed) projects/release-pkg/share/ (props changed) projects/release-pkg/share/man/man4/ (props changed) projects/release-pkg/sys/ (props changed) projects/release-pkg/sys/boot/ (props changed) projects/release-pkg/sys/boot/powerpc/boot1.chrp/ (props changed) projects/release-pkg/sys/cddl/contrib/opensolaris/ (props changed) projects/release-pkg/sys/contrib/ipfilter/ (props changed) projects/release-pkg/usr.sbin/bhyve/ (props changed) Modified: projects/release-pkg/Makefile ============================================================================== --- projects/release-pkg/Makefile Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/Makefile Tue Jan 12 01:23:45 2016 (r293718) @@ -206,7 +206,7 @@ _TARGET_ARCH?= ${MACHINE_ARCH} # The user can define ALWAYS_CHECK_MAKE to have this check performed # for all targets. # -.if defined(ALWAYS_CHECK_MAKE) +.if defined(ALWAYS_CHECK_MAKE) || !defined(.PARSEDIR) ${TGTS}: upgrade_checks .else buildworld: upgrade_checks Modified: projects/release-pkg/Makefile.inc1 ============================================================================== --- projects/release-pkg/Makefile.inc1 Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/Makefile.inc1 Tue Jan 12 01:23:45 2016 (r293718) @@ -587,10 +587,9 @@ _worldtmp: .PHONY .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These three can depend on any header file. - rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/ioctl.c +# XXX - These can depend on any header file. + rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c - rm -f ${OBJTREE}${.CURDIR}/usr.bin/truss/ioctl.c .endif .for _dir in \ lib usr legacy/bin legacy/usr @@ -1547,11 +1546,13 @@ _vtfontcvt= usr.bin/vtfontcvt _sed= usr.bin/sed .endif -.if ${BOOTSTRAPPING} < 1000002 +.if ${BOOTSTRAPPING} < 1000033 _libopenbsd= lib/libopenbsd _m4= usr.bin/m4 +_lex= usr.bin/lex ${_bt}-usr.bin/m4: ${_bt}-lib/libopenbsd +${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 .endif .if ${BOOTSTRAPPING} < 1000026 @@ -1565,12 +1566,6 @@ ${_bt}-usr.sbin/nmtree: ${_bt}-lib/libne _cat= bin/cat .endif -.if ${BOOTSTRAPPING} < 1000033 -_lex= usr.bin/lex - -${_bt}-usr.bin/lex: ${_bt}-usr.bin/m4 -.endif - # r277259 crunchide: Correct 64-bit section header offset # r281674 crunchide: always include both 32- and 64-bit ELF support # r285986 crunchen: use STRIPBIN rather than STRIP Modified: projects/release-pkg/bin/sh/eval.c ============================================================================== --- projects/release-pkg/bin/sh/eval.c Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/bin/sh/eval.c Tue Jan 12 01:23:45 2016 (r293718) @@ -496,10 +496,12 @@ exphere(union node *redir, struct arglis struct jmploc *savehandler; struct localvar *savelocalvars; int need_longjmp = 0; + unsigned char saveoptreset; redir->nhere.expdoc = ""; savelocalvars = localvars; localvars = NULL; + saveoptreset = shellparam.reset; forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) @@ -514,6 +516,7 @@ exphere(union node *redir, struct arglis forcelocal--; poplocalvars(); localvars = savelocalvars; + shellparam.reset = saveoptreset; if (need_longjmp) longjmp(handler->loc, 1); INTON; @@ -647,6 +650,7 @@ evalbackcmd(union node *n, struct backcm struct jmploc jmploc; struct jmploc *savehandler; struct localvar *savelocalvars; + unsigned char saveoptreset; result->fd = -1; result->buf = NULL; @@ -661,6 +665,7 @@ evalbackcmd(union node *n, struct backcm if (is_valid_fast_cmdsubst(n)) { savelocalvars = localvars; localvars = NULL; + saveoptreset = shellparam.reset; forcelocal++; savehandler = handler; if (setjmp(jmploc.loc)) { @@ -671,6 +676,7 @@ evalbackcmd(union node *n, struct backcm forcelocal--; poplocalvars(); localvars = savelocalvars; + shellparam.reset = saveoptreset; longjmp(handler->loc, 1); } } else { @@ -681,6 +687,7 @@ evalbackcmd(union node *n, struct backcm forcelocal--; poplocalvars(); localvars = savelocalvars; + shellparam.reset = saveoptreset; } else { if (pipe(pip) < 0) error("Pipe call failed: %s", strerror(errno)); @@ -1032,12 +1039,12 @@ evalcommand(union node *cmd, int flags, reffunc(cmdentry.u.func); savehandler = handler; if (setjmp(jmploc.loc)) { - freeparam(&shellparam); - shellparam = saveparam; popredir(); unreffunc(cmdentry.u.func); poplocalvars(); localvars = savelocalvars; + freeparam(&shellparam); + shellparam = saveparam; funcnest--; handler = savehandler; longjmp(handler->loc, 1); Modified: projects/release-pkg/bin/sh/expand.c ============================================================================== --- projects/release-pkg/bin/sh/expand.c Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/bin/sh/expand.c Tue Jan 12 01:23:45 2016 (r293718) @@ -951,8 +951,8 @@ varvalue(const char *name, int quoted, i case '-': p = buf; for (i = 0 ; i < NSHORTOPTS ; i++) { - if (optlist[i].val) - *p++ = optlist[i].letter; + if (optval[i]) + *p++ = optletter[i]; } *p = '\0'; strtodest(buf, flag, subtype, quoted, dst); Modified: projects/release-pkg/bin/sh/options.c ============================================================================== --- projects/release-pkg/bin/sh/options.c Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/bin/sh/options.c Tue Jan 12 01:23:45 2016 (r293718) @@ -91,7 +91,7 @@ procargs(int argc, char **argv) if (argc > 0) argptr++; for (i = 0; i < NOPTS; i++) - optlist[i].val = 2; + optval[i] = 2; privileged = (getuid() != geteuid() || getgid() != getegid()); options(1); if (*argptr == NULL && minusc == NULL) @@ -104,8 +104,8 @@ procargs(int argc, char **argv) if (mflag == 2) mflag = iflag; for (i = 0; i < NOPTS; i++) - if (optlist[i].val == 2) - optlist[i].val = 0; + if (optval[i] == 2) + optval[i] = 0; arg0 = argv[0]; if (sflag == 0 && minusc == NULL) { scriptname = *argptr++; @@ -250,26 +250,29 @@ static void minus_o(char *name, int val) { int i; + const unsigned char *on; + size_t len; if (name == NULL) { if (val) { /* "Pretty" output. */ out1str("Current option settings\n"); - for (i = 0; i < NOPTS; i++) - out1fmt("%-16s%s\n", optlist[i].name, - optlist[i].val ? "on" : "off"); + for (i = 0, on = optname; i < NOPTS; i++, on += *on + 1) + out1fmt("%-16.*s%s\n", *on, on + 1, + optval[i] ? "on" : "off"); } else { /* Output suitable for re-input to shell. */ - for (i = 0; i < NOPTS; i++) - out1fmt("%s %co %s%s", + for (i = 0, on = optname; i < NOPTS; i++, on += *on + 1) + out1fmt("%s %co %.*s%s", i % 6 == 0 ? "set" : "", - optlist[i].val ? '-' : '+', - optlist[i].name, + optval[i] ? '-' : '+', + *on, on + 1, i % 6 == 5 || i == NOPTS - 1 ? "\n" : ""); } } else { - for (i = 0; i < NOPTS; i++) - if (equal(name, optlist[i].name)) { + len = strlen(name); + for (i = 0, on = optname; i < NOPTS; i++, on += *on + 1) + if (*on == len && memcmp(on + 1, name, len) == 0) { setoptionbyindex(i, val); return; } @@ -281,18 +284,18 @@ minus_o(char *name, int val) static void setoptionbyindex(int idx, int val) { - if (optlist[idx].letter == 'p' && !val && privileged) { + if (optletter[idx] == 'p' && !val && privileged) { if (setgid(getgid()) == -1) error("setgid"); if (setuid(getuid()) == -1) error("setuid"); } - optlist[idx].val = val; + optval[idx] = val; if (val) { /* #%$ hack for ksh semantics */ - if (optlist[idx].letter == 'V') + if (optletter[idx] == 'V') Eflag = 0; - else if (optlist[idx].letter == 'E') + else if (optletter[idx] == 'E') Vflag = 0; } } @@ -303,7 +306,7 @@ setoption(int flag, int val) int i; for (i = 0; i < NSHORTOPTS; i++) - if (optlist[i].letter == flag) { + if (optletter[i] == flag) { setoptionbyindex(i, val); return; } Modified: projects/release-pkg/bin/sh/options.h ============================================================================== --- projects/release-pkg/bin/sh/options.h Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/bin/sh/options.h Tue Jan 12 01:23:45 2016 (r293718) @@ -45,60 +45,57 @@ struct shparam { -#define eflag optlist[0].val -#define fflag optlist[1].val -#define Iflag optlist[2].val -#define iflag optlist[3].val -#define mflag optlist[4].val -#define nflag optlist[5].val -#define sflag optlist[6].val -#define xflag optlist[7].val -#define vflag optlist[8].val -#define Vflag optlist[9].val -#define Eflag optlist[10].val -#define Cflag optlist[11].val -#define aflag optlist[12].val -#define bflag optlist[13].val -#define uflag optlist[14].val -#define privileged optlist[15].val -#define Tflag optlist[16].val -#define Pflag optlist[17].val -#define hflag optlist[18].val -#define nologflag optlist[19].val +#define eflag optval[0] +#define fflag optval[1] +#define Iflag optval[2] +#define iflag optval[3] +#define mflag optval[4] +#define nflag optval[5] +#define sflag optval[6] +#define xflag optval[7] +#define vflag optval[8] +#define Vflag optval[9] +#define Eflag optval[10] +#define Cflag optval[11] +#define aflag optval[12] +#define bflag optval[13] +#define uflag optval[14] +#define privileged optval[15] +#define Tflag optval[16] +#define Pflag optval[17] +#define hflag optval[18] +#define nologflag optval[19] #define NSHORTOPTS 19 #define NOPTS 20 -struct optent { - const char *name; - const char letter; - char val; -}; - -extern struct optent optlist[NOPTS]; +extern char optval[NOPTS]; +extern const char optletter[NSHORTOPTS]; #ifdef DEFINE_OPTIONS -struct optent optlist[NOPTS] = { - { "errexit", 'e', 0 }, - { "noglob", 'f', 0 }, - { "ignoreeof", 'I', 0 }, - { "interactive",'i', 0 }, - { "monitor", 'm', 0 }, - { "noexec", 'n', 0 }, - { "stdin", 's', 0 }, - { "xtrace", 'x', 0 }, - { "verbose", 'v', 0 }, - { "vi", 'V', 0 }, - { "emacs", 'E', 0 }, - { "noclobber", 'C', 0 }, - { "allexport", 'a', 0 }, - { "notify", 'b', 0 }, - { "nounset", 'u', 0 }, - { "privileged", 'p', 0 }, - { "trapsasync", 'T', 0 }, - { "physical", 'P', 0 }, - { "trackall", 'h', 0 }, - { "nolog", '\0', 0 }, -}; +char optval[NOPTS]; +const char optletter[NSHORTOPTS] = "efIimnsxvVECabupTPh"; +static const unsigned char optname[] = + "\007errexit" + "\006noglob" + "\011ignoreeof" + "\013interactive" + "\007monitor" + "\006noexec" + "\005stdin" + "\006xtrace" + "\007verbose" + "\002vi" + "\005emacs" + "\011noclobber" + "\011allexport" + "\006notify" + "\007nounset" + "\012privileged" + "\012trapsasync" + "\010physical" + "\010trackall" + "\005nolog" +; #endif Modified: projects/release-pkg/bin/sh/tests/builtins/Makefile ============================================================================== --- projects/release-pkg/bin/sh/tests/builtins/Makefile Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/bin/sh/tests/builtins/Makefile Tue Jan 12 01:23:45 2016 (r293718) @@ -48,6 +48,7 @@ FILES+= cd5.0 FILES+= cd6.0 FILES+= cd7.0 FILES+= cd8.0 +FILES+= cd9.0 cd9.0.stdout FILES+= command1.0 FILES+= command2.0 FILES+= command3.0 @@ -95,6 +96,7 @@ FILES+= getopts6.0 FILES+= getopts7.0 FILES+= getopts8.0 getopts8.0.stdout FILES+= getopts9.0 getopts9.0.stdout +FILES+= getopts10.0 FILES+= hash1.0 hash1.0.stdout FILES+= hash2.0 hash2.0.stdout FILES+= hash3.0 hash3.0.stdout @@ -109,6 +111,7 @@ FILES+= local1.0 FILES+= local2.0 FILES+= local3.0 FILES+= local4.0 +FILES+= local5.0 .if ${MK_NLS} != "no" FILES+= locale1.0 .endif Copied: projects/release-pkg/bin/sh/tests/builtins/cd9.0 (from r293717, head/bin/sh/tests/builtins/cd9.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/bin/sh/tests/builtins/cd9.0 Tue Jan 12 01:23:45 2016 (r293718, copy of r293717, head/bin/sh/tests/builtins/cd9.0) @@ -0,0 +1,8 @@ +# $FreeBSD$ + +cd /dev +cd /bin +cd - >/dev/null +pwd +cd - >/dev/null +pwd Copied: projects/release-pkg/bin/sh/tests/builtins/cd9.0.stdout (from r293717, head/bin/sh/tests/builtins/cd9.0.stdout) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/bin/sh/tests/builtins/cd9.0.stdout Tue Jan 12 01:23:45 2016 (r293718, copy of r293717, head/bin/sh/tests/builtins/cd9.0.stdout) @@ -0,0 +1,2 @@ +/dev +/bin Copied: projects/release-pkg/bin/sh/tests/builtins/getopts10.0 (from r293717, head/bin/sh/tests/builtins/getopts10.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/bin/sh/tests/builtins/getopts10.0 Tue Jan 12 01:23:45 2016 (r293718, copy of r293717, head/bin/sh/tests/builtins/getopts10.0) @@ -0,0 +1,11 @@ +# $FreeBSD$ + +set -- -x arg +opt=not +getopts x opt +r1=$? OPTIND1=$OPTIND opt1=$opt +: $(: $((OPTIND = 1))) +getopts x opt +r2=$? OPTIND2=$OPTIND +[ "$r1" = 0 ] && [ "$OPTIND1" = 2 ] && [ "$opt1" = x ] && [ "$r2" != 0 ] && + [ "$OPTIND2" = 2 ] Copied: projects/release-pkg/bin/sh/tests/builtins/local5.0 (from r293717, head/bin/sh/tests/builtins/local5.0) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/release-pkg/bin/sh/tests/builtins/local5.0 Tue Jan 12 01:23:45 2016 (r293718, copy of r293717, head/bin/sh/tests/builtins/local5.0) @@ -0,0 +1,15 @@ +# $FreeBSD$ + +f() { + local PATH IFS elem + IFS=: + for elem in ''$PATH''; do + PATH=/var/empty/$elem:$PATH + done + ls -d / >/dev/null +} + +p1=$(command -v ls) +f +p2=$(command -v ls) +[ "$p1" = "$p2" ] Modified: projects/release-pkg/bin/sh/var.c ============================================================================== --- projects/release-pkg/bin/sh/var.c Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/bin/sh/var.c Tue Jan 12 01:23:45 2016 (r293718) @@ -754,8 +754,8 @@ mklocal(char *name) INTOFF; lvp = ckmalloc(sizeof (struct localvar)); if (name[0] == '-' && name[1] == '\0') { - lvp->text = ckmalloc(sizeof optlist); - memcpy(lvp->text, optlist, sizeof optlist); + lvp->text = ckmalloc(sizeof optval); + memcpy(lvp->text, optval, sizeof optval); vp = NULL; } else { vp = find_var(name, &vpp, NULL); @@ -791,22 +791,33 @@ poplocalvars(void) { struct localvar *lvp; struct var *vp; + int islocalevar; INTOFF; while ((lvp = localvars) != NULL) { localvars = lvp->next; vp = lvp->vp; if (vp == NULL) { /* $- saved */ - memcpy(optlist, lvp->text, sizeof optlist); + memcpy(optval, lvp->text, sizeof optval); ckfree(lvp->text); optschanged(); } else if ((lvp->flags & (VUNSET|VSTRFIXED)) == VUNSET) { (void)unsetvar(vp->text); } else { + islocalevar = (vp->flags | lvp->flags) & VEXPORT && + localevar(lvp->text); if ((vp->flags & VTEXTFIXED) == 0) ckfree(vp->text); vp->flags = lvp->flags; vp->text = lvp->text; + if (vp->func) + (*vp->func)(vp->text + vp->name_len + 1); + if (islocalevar) { + change_env(vp->text, vp->flags & VEXPORT && + (vp->flags & VUNSET) == 0); + setlocale(LC_ALL, ""); + updatecharset(); + } } ckfree(lvp); } Modified: projects/release-pkg/contrib/hyperv/tools/hv_kvp_daemon.c ============================================================================== --- projects/release-pkg/contrib/hyperv/tools/hv_kvp_daemon.c Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/contrib/hyperv/tools/hv_kvp_daemon.c Tue Jan 12 01:23:45 2016 (r293718) @@ -1437,7 +1437,7 @@ main(int argc, char *argv[]) for (;;) { - r = poll (hv_kvp_poll_fd, 1, 100); + r = poll (hv_kvp_poll_fd, 1, INFTIM); KVP_LOG(LOG_DEBUG, "poll returned r = %d, revent = 0x%x\n", r, hv_kvp_poll_fd[0].revents); Modified: projects/release-pkg/contrib/ntp/ChangeLog ============================================================================== --- projects/release-pkg/contrib/ntp/ChangeLog Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/contrib/ntp/ChangeLog Tue Jan 12 01:23:45 2016 (r293718) @@ -1,4 +1,61 @@ --- +(4.2.8p5) 2016/01/07 Released by Harlan Stenn + +* [Sec 2956] small-step/big-step. Close the panic gate earlier. HStenn. +* CID 1339955: Free allocated memory in caljulian test. HStenn. +* CID 1339962: Explicitly initialize variable in caljulian test. HStenn. +* CID 1341527: Quiet a CHECKED_RETURN in sntp/tests/t-log.c. HStenn. +* CID 1341533: Missing assertion in sntp/tests/t-log.c. HStenn. +* CID 1341534: Resource leak in tests/ntpd/t-ntp_signd.c. HStenn. +* CID 1341535: Resource leak in tests/ntpd/t-ntp_signd.c. HStenn. +* CID 1341536: Resource leak in tests/ntpd/t-ntp_signd.c. HStenn. +* CID 1341537: Resource leak in tests/ntpd/t-ntp_signd.c. HStenn. +* CID 1341538: Memory leak in tests/ntpd/ntp_prio_q.c:262. HStenn. +* CID 1341677: Nits in sntp/tests/keyFile.c. HStenn. +* CID 1341678: Nits in sntp/tests/keyFile.c. HStenn. +* CID 1341679: Nits in sntp/tests/keyFile.c. HStenn. +* CID 1341680: Nits in sntp/tests/keyFile.c. HStenn. +* CID 1341681: Nits in sntp/tests/keyFile.c. HStenn. +* CID 1341682: Nit in libntp/authreadkeys.c. HStenn. +* CID 1341684: Nit in tests/ntpd/t-ntp_signd.c. HStenn. +* [Bug 2829] Look at pipe_fds in ntpd.c (did so. perlinger@ntp.org) +* [Bug 2887] stratum -1 config results as showing value 99 + - fudge stratum should only accept values [0..16]. perlinger@ntp.org +* [Bug 2932] Update leapsecond file info in miscopt.html. CWoodbury, HStenn. +* [Bug 2934] tests/ntpd/t-ntp_scanner.c has a magic constant wired in. HMurray +* [Bug 2944] errno is not preserved properly in ntpdate after sendto call. + - applied patch by Christos Zoulas. perlinger@ntp.org +* [Bug 2952] Symmetric active/passive mode is broken. HStenn. +* [Bug 2954] Version 4.2.8p4 crashes on startup with sig fault + - fixed data race conditions in threaded DNS worker. perlinger@ntp.org + - limit threading warm-up to linux; FreeBSD bombs on it. perlinger@ntp.org +* [Bug 2957] 'unsigned int' vs 'size_t' format clash. perlinger@ntp.org + - accept key file only if there are no parsing errors + - fixed size_t/u_int format clash + - fixed wrong use of 'strlcpy' +* [Bug 2958] ntpq: fatal error messages need a final newline. Craig Leres. +* [Bug 2962] truncation of size_t/ptrdiff_t on 64bit targets. perlinger@ntp.org + - fixed several other warnings (cast-alignment, missing const, missing prototypes) + - promote use of 'size_t' for values that express a size + - use ptr-to-const for read-only arguments + - make sure SOCKET values are not truncated (win32-specific) + - format string fixes +* [Bug 2965] Local clock didn't work since 4.2.8p4. Martin Burnicki. +* [Bug 2967] ntpdate command suffers an assertion failure + - fixed ntp_rfc2553.c to return proper address length. perlinger@ntp.org +* [Bug 2969] Seg fault from ntpq/mrulist when looking at server with + lots of clients. perlinger@ntp.org +* [Bug 2971] ntpq bails on ^C: select fails: Interrupted system call + - changed stacked/nested handling of CTRL-C. perlinger@ntp.org +* Unity cleanup for FreeBSD-6.4. Harlan Stenn. +* Unity test cleanup. Harlan Stenn. +* Libevent autoconf pthread fixes for FreeBSD-10. Harlan Stenn. +* Header cleanup in tests/sandbox/uglydate.c. Harlan Stenn. +* Header cleanup in tests/libntp/sfptostr.c. Harlan Stenn. +* Quiet a warning from clang. Harlan Stenn. +* Update the NEWS file. Harlan Stenn. +* Update scripts/calc_tickadj/Makefile.am. Harlan Stenn. +--- (4.2.8p4) 2015/10/21 Released by Harlan Stenn (4.2.8p4-RC1) 2015/10/06 Released by Harlan Stenn Modified: projects/release-pkg/contrib/ntp/CommitLog ============================================================================== --- projects/release-pkg/contrib/ntp/CommitLog Tue Jan 12 00:48:11 2016 (r293717) +++ projects/release-pkg/contrib/ntp/CommitLog Tue Jan 12 01:23:45 2016 (r293718) @@ -1,3 +1,1480 @@ +ChangeSet@1.3623, 2016-01-07 23:33:11+00:00, stenn@deacon.udel.edu + NTP_4_2_8P5 + TAG: NTP_4_2_8P5 + + ChangeLog@1.1791 +1 -0 + NTP_4_2_8P5 + + ntpd/invoke-ntp.conf.texi@1.194 +1 -1 + NTP_4_2_8P5 + + ntpd/invoke-ntp.keys.texi@1.186 +1 -1 + NTP_4_2_8P5 + + ntpd/invoke-ntpd.texi@1.503 +2 -2 + NTP_4_2_8P5 + + ntpd/ntp.conf.5man@1.228 +3 -3 + NTP_4_2_8P5 + + ntpd/ntp.conf.5mdoc@1.228 +2 -2 + NTP_4_2_8P5 + + ntpd/ntp.conf.html@1.182 +1 -1 + NTP_4_2_8P5 + + ntpd/ntp.conf.man.in@1.228 +3 -3 + NTP_4_2_8P5 + + ntpd/ntp.conf.mdoc.in@1.228 +2 -2 + NTP_4_2_8P5 + + ntpd/ntp.keys.5man@1.220 +2 -2 + NTP_4_2_8P5 + + ntpd/ntp.keys.5mdoc@1.220 +2 -2 + NTP_4_2_8P5 + + ntpd/ntp.keys.html@1.182 +1 -1 + NTP_4_2_8P5 + + ntpd/ntp.keys.man.in@1.220 +2 -2 + NTP_4_2_8P5 + + ntpd/ntp.keys.mdoc.in@1.220 +2 -2 + NTP_4_2_8P5 + + ntpd/ntpd-opts.c@1.525 +7 -7 + NTP_4_2_8P5 + + ntpd/ntpd-opts.h@1.524 +3 -3 + NTP_4_2_8P5 + + ntpd/ntpd.1ntpdman@1.332 +3 -3 + NTP_4_2_8P5 + + ntpd/ntpd.1ntpdmdoc@1.332 +2 -2 + NTP_4_2_8P5 + + ntpd/ntpd.html@1.176 +2 -2 + NTP_4_2_8P5 + + ntpd/ntpd.man.in@1.332 +3 -3 + NTP_4_2_8P5 + + ntpd/ntpd.mdoc.in@1.332 +2 -2 + NTP_4_2_8P5 + + ntpdc/invoke-ntpdc.texi@1.500 +2 -2 + NTP_4_2_8P5 + + ntpdc/ntpdc-opts.c@1.518 +7 -7 + NTP_4_2_8P5 + + ntpdc/ntpdc-opts.h@1.517 +3 -3 + NTP_4_2_8P5 + + ntpdc/ntpdc.1ntpdcman@1.331 +3 -3 + NTP_4_2_8P5 + + ntpdc/ntpdc.1ntpdcmdoc@1.331 +2 -2 + NTP_4_2_8P5 + + ntpdc/ntpdc.html@1.344 +2 -2 + NTP_4_2_8P5 + + ntpdc/ntpdc.man.in@1.331 +3 -3 + NTP_4_2_8P5 + + ntpdc/ntpdc.mdoc.in@1.331 +2 -2 + NTP_4_2_8P5 + + ntpq/invoke-ntpq.texi@1.507 +2 -2 + NTP_4_2_8P5 + + ntpq/ntpq-opts.c@1.524 +7 -7 + NTP_4_2_8P5 + + ntpq/ntpq-opts.h@1.522 +3 -3 + NTP_4_2_8P5 + + ntpq/ntpq.1ntpqman@1.335 +3 -3 + NTP_4_2_8P5 + + ntpq/ntpq.1ntpqmdoc@1.335 +2 -2 + NTP_4_2_8P5 + + ntpq/ntpq.html@1.173 +2 -2 + NTP_4_2_8P5 + + ntpq/ntpq.man.in@1.335 +3 -3 + NTP_4_2_8P5 + + ntpq/ntpq.mdoc.in@1.335 +2 -2 + NTP_4_2_8P5 + + ntpsnmpd/invoke-ntpsnmpd.texi@1.502 +2 -2 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd-opts.c@1.520 +7 -7 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd-opts.h@1.519 +3 -3 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdman@1.331 +3 -3 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd.1ntpsnmpdmdoc@1.331 +2 -2 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd.html@1.171 +1 -1 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd.man.in@1.331 +3 -3 + NTP_4_2_8P5 + + ntpsnmpd/ntpsnmpd.mdoc.in@1.331 +2 -2 + NTP_4_2_8P5 + + packageinfo.sh@1.522 +2 -2 + NTP_4_2_8P5 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjman@1.92 +3 -3 + NTP_4_2_8P5 + + scripts/calc_tickadj/calc_tickadj.1calc_tickadjmdoc@1.93 +2 -2 + NTP_4_2_8P5 + + scripts/calc_tickadj/calc_tickadj.html@1.94 +1 -1 + NTP_4_2_8P5 + + scripts/calc_tickadj/calc_tickadj.man.in@1.91 +3 -3 + NTP_4_2_8P5 + + scripts/calc_tickadj/calc_tickadj.mdoc.in@1.93 +2 -2 + NTP_4_2_8P5 + + scripts/calc_tickadj/invoke-calc_tickadj.texi@1.96 +1 -1 + NTP_4_2_8P5 + + scripts/invoke-plot_summary.texi@1.113 +2 -2 + NTP_4_2_8P5 + + scripts/invoke-summary.texi@1.113 +2 -2 + NTP_4_2_8P5 + + scripts/ntp-wait/invoke-ntp-wait.texi@1.323 +2 -2 + NTP_4_2_8P5 + + scripts/ntp-wait/ntp-wait-opts@1.59 +2 -2 + NTP_4_2_8P5 + + scripts/ntp-wait/ntp-wait.1ntp-waitman@1.320 +3 -3 + NTP_4_2_8P5 + + scripts/ntp-wait/ntp-wait.1ntp-waitmdoc@1.321 +2 -2 + NTP_4_2_8P5 + + scripts/ntp-wait/ntp-wait.html@1.340 +2 -2 + NTP_4_2_8P5 + + scripts/ntp-wait/ntp-wait.man.in@1.320 +3 -3 + NTP_4_2_8P5 + + scripts/ntp-wait/ntp-wait.mdoc.in@1.321 +2 -2 + NTP_4_2_8P5 + + scripts/ntpsweep/invoke-ntpsweep.texi@1.111 +2 -2 + NTP_4_2_8P5 + + scripts/ntpsweep/ntpsweep-opts@1.61 +2 -2 + NTP_4_2_8P5 + + scripts/ntpsweep/ntpsweep.1ntpsweepman@1.99 +3 -3 + NTP_4_2_8P5 + + scripts/ntpsweep/ntpsweep.1ntpsweepmdoc@1.99 +2 -2 + NTP_4_2_8P5 + + scripts/ntpsweep/ntpsweep.html@1.112 +2 -2 + NTP_4_2_8P5 + + scripts/ntpsweep/ntpsweep.man.in@1.99 +3 -3 + NTP_4_2_8P5 + + scripts/ntpsweep/ntpsweep.mdoc.in@1.100 +2 -2 + NTP_4_2_8P5 + + scripts/ntptrace/invoke-ntptrace.texi@1.112 +2 -2 + NTP_4_2_8P5 + + scripts/ntptrace/ntptrace-opts@1.61 +2 -2 + NTP_4_2_8P5 + + scripts/ntptrace/ntptrace.1ntptraceman@1.99 +3 -3 + NTP_4_2_8P5 + + scripts/ntptrace/ntptrace.1ntptracemdoc@1.100 +2 -2 + NTP_4_2_8P5 + + scripts/ntptrace/ntptrace.html@1.113 +2 -2 + NTP_4_2_8P5 + + scripts/ntptrace/ntptrace.man.in@1.99 +3 -3 + NTP_4_2_8P5 + + scripts/ntptrace/ntptrace.mdoc.in@1.101 +2 -2 + NTP_4_2_8P5 + + scripts/plot_summary-opts@1.61 +2 -2 + NTP_4_2_8P5 + + scripts/plot_summary.1plot_summaryman@1.111 +3 -3 + NTP_4_2_8P5 + + scripts/plot_summary.1plot_summarymdoc@1.111 +2 -2 + NTP_4_2_8P5 + + scripts/plot_summary.html@1.114 +2 -2 + NTP_4_2_8P5 + + scripts/plot_summary.man.in@1.111 +3 -3 + NTP_4_2_8P5 + + scripts/plot_summary.mdoc.in@1.111 +2 -2 + NTP_4_2_8P5 + + scripts/summary-opts@1.61 +2 -2 + NTP_4_2_8P5 + + scripts/summary.1summaryman@1.111 +3 -3 + NTP_4_2_8P5 + + scripts/summary.1summarymdoc@1.111 +2 -2 + NTP_4_2_8P5 + + scripts/summary.html@1.114 +2 -2 + NTP_4_2_8P5 + + scripts/summary.man.in@1.111 +3 -3 + NTP_4_2_8P5 + + scripts/summary.mdoc.in@1.111 +2 -2 + NTP_4_2_8P5 + + scripts/update-leap/invoke-update-leap.texi@1.12 +1 -1 + NTP_4_2_8P5 + + scripts/update-leap/update-leap-opts@1.12 +2 -2 + NTP_4_2_8P5 + + scripts/update-leap/update-leap.1update-leapman@1.12 +3 -3 + NTP_4_2_8P5 + + scripts/update-leap/update-leap.1update-leapmdoc@1.12 +2 -2 + NTP_4_2_8P5 + + scripts/update-leap/update-leap.html@1.12 +1 -1 + NTP_4_2_8P5 + + scripts/update-leap/update-leap.man.in@1.12 +3 -3 + NTP_4_2_8P5 + + scripts/update-leap/update-leap.mdoc.in@1.12 +2 -2 + NTP_4_2_8P5 + + sntp/invoke-sntp.texi@1.500 +2 -2 + NTP_4_2_8P5 + + sntp/sntp-opts.c@1.519 +7 -7 + NTP_4_2_8P5 + + sntp/sntp-opts.h@1.517 +3 -3 + NTP_4_2_8P5 + + sntp/sntp.1sntpman@1.335 +3 -3 + NTP_4_2_8P5 + + sntp/sntp.1sntpmdoc@1.335 +2 -2 + NTP_4_2_8P5 + + sntp/sntp.html@1.515 +2 -2 + NTP_4_2_8P5 + + sntp/sntp.man.in@1.335 +3 -3 + NTP_4_2_8P5 + + sntp/sntp.mdoc.in@1.335 +2 -2 + NTP_4_2_8P5 + + util/invoke-ntp-keygen.texi@1.503 +2 -2 + NTP_4_2_8P5 + + util/ntp-keygen-opts.c@1.521 +7 -7 + NTP_4_2_8P5 + + util/ntp-keygen-opts.h@1.519 +3 -3 + NTP_4_2_8P5 + + util/ntp-keygen.1ntp-keygenman@1.331 +3 -3 + NTP_4_2_8P5 + + util/ntp-keygen.1ntp-keygenmdoc@1.331 +2 -2 + NTP_4_2_8P5 + + util/ntp-keygen.html@1.177 +2 -2 + NTP_4_2_8P5 + + util/ntp-keygen.man.in@1.331 +3 -3 + NTP_4_2_8P5 + + util/ntp-keygen.mdoc.in@1.331 +2 -2 + NTP_4_2_8P5 + +ChangeSet@1.3622, 2016-01-07 17:52:24-05:00, stenn@deacon.udel.edu + ntp-4.2.8p5 + + packageinfo.sh@1.521 +1 -1 + ntp-4.2.8p5 + +ChangeSet@1.3621, 2016-01-07 22:20:05+00:00, stenn@psp-at1.ntp.org + cleanup + + NEWS@1.152 +2 -2 + cleanup + +ChangeSet@1.3620, 2016-01-07 09:33:11+00:00, stenn@psp-at1.ntp.org + typo in ntp_proto.c - leap smear. Reported by Martin Burnicki + + ntpd/ntp_proto.c@1.371 +1 -1 + typo in ntp_proto.c - leap smear. Reported by Martin Burnicki + +ChangeSet@1.3619, 2016-01-07 06:33:08+00:00, stenn@psp-at1.ntp.org + Update scripts/calc_tickadj/Makefile.am. Harlan Stenn. + + ChangeLog@1.1790 +1 -0 + Update scripts/calc_tickadj/Makefile.am. Harlan Stenn. + + scripts/calc_tickadj/Makefile.am@1.11 +2 -0 + Update scripts/calc_tickadj/Makefile.am. Harlan Stenn. + +ChangeSet@1.3616.1.1, 2016-01-05 10:57:45+00:00, stenn@psp-at1.ntp.org + Bug 2952 fixes + + ChangeLog@1.1787.1.1 +1 -0 + Bug 2952 fixes + + ntpd/ntp_proto.c@1.370 +165 -152 + Bug 2952 fixes + +ChangeSet@1.3617, 2016-01-05 09:56:31+00:00, stenn@psp-at1.ntp.org + ntp-4.2.8p5 prep + + ChangeLog@1.1788 +2 -1 + ntp-4.2.8p5 prep + + NEWS@1.151 +104 -3 + ntp-4.2.8p5 prep + +ChangeSet@1.3616, 2015-12-06 11:20:02+00:00, stenn@psp-deb1.ntp.org + Quiet a warning from clang. Harlan Stenn. + + ChangeLog@1.1787 +1 -0 + Quiet a warning from clang. Harlan Stenn. + + libntp/ntp_rfc2553.c@1.50 +3 -2 + Quiet a warning from clang. Harlan Stenn. + +ChangeSet@1.3615, 2015-12-05 10:41:51+00:00, stenn@psp-at1.ntp.org + CID 1341677: Nits in sntp/tests/keyFile.c. HStenn. + + ChangeLog@1.1786 +1 -0 + CID 1341677: Nits in sntp/tests/keyFile.c. HStenn. + + sntp/tests/keyFile.c@1.12 +5 -2 + CID 1341677: Nits in sntp/tests/keyFile.c. HStenn. + +ChangeSet@1.3614, 2015-12-05 10:38:28+00:00, stenn@psp-at1.ntp.org + CID 1341678: Nits in sntp/tests/keyFile.c. HStenn. + + ChangeLog@1.1785 +1 -0 + CID 1341678: Nits in sntp/tests/keyFile.c. HStenn. + + sntp/tests/keyFile.c@1.11 +5 -1 + CID 1341678: Nits in sntp/tests/keyFile.c. HStenn. + +ChangeSet@1.3613, 2015-12-05 10:31:39+00:00, stenn@psp-at1.ntp.org + CID 1341679: Nits in sntp/tests/keyFile.c. HStenn. + + ChangeLog@1.1784 +1 -0 + CID 1341679: Nits in sntp/tests/keyFile.c. HStenn. + + sntp/tests/keyFile.c@1.10 +4 -2 + CID 1341679: Nits in sntp/tests/keyFile.c. HStenn. + +ChangeSet@1.3612, 2015-12-05 10:27:40+00:00, stenn@psp-at1.ntp.org + CID 1341680: Nits in sntp/tests/keyFile.c. HStenn. + + ChangeLog@1.1783 +1 -0 + CID 1341680: Nits in sntp/tests/keyFile.c. HStenn. + + sntp/tests/keyFile.c@1.9 +4 -2 + CID 1341680: Nits in sntp/tests/keyFile.c. HStenn. + +ChangeSet@1.3611, 2015-12-05 10:21:07+00:00, stenn@psp-at1.ntp.org + CID 1341681: Nits in sntp/tests/keyFile.c. HStenn. + + ChangeLog@1.1782 +1 -0 + CID 1341681: Nits in sntp/tests/keyFile.c. HStenn. + +ChangeSet@1.3610, 2015-12-05 10:18:23+00:00, stenn@psp-at1.ntp.org + sntp/tests/keyFile.c lint + + sntp/tests/keyFile.c@1.8 +4 -2 + sntp/tests/keyFile.c lint + +ChangeSet@1.3609, 2015-12-05 10:01:47+00:00, stenn@psp-at1.ntp.org + CID 1341682: Nit in libntp/authreadkeys.c. HStenn. + + ChangeLog@1.1781 +1 -0 + CID 1341682: Nit in libntp/authreadkeys.c. HStenn. + + libntp/authreadkeys.c@1.24 +3 -4 + CID 1341682: Nit in libntp/authreadkeys.c. HStenn. + +ChangeSet@1.3608, 2015-12-05 09:40:44+00:00, stenn@psp-at1.ntp.org + CID 1341684: Nit in tests/ntpd/t-ntp_signd.c. HStenn. + + ChangeLog@1.1780 +1 -0 + CID 1341684: Nit in tests/ntpd/t-ntp_signd.c. HStenn. + + tests/ntpd/t-ntp_signd.c@1.15 +4 -0 + CID 1341684: Nit in tests/ntpd/t-ntp_signd.c. HStenn. + +ChangeSet@1.3607, 2015-12-03 12:07:30+00:00, stenn@psp-at1.ntp.org + Update some test runners + + tests/libntp/run-sfptostr.c@1.7 +9 -8 + update + + tests/sandbox/run-uglydate.c@1.7 +2 -1 *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Tue Jan 12 14:33:23 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 A506EA6CAAF for ; Tue, 12 Jan 2016 14:33:23 +0000 (UTC) (envelope-from gjb@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 5C92E102B; Tue, 12 Jan 2016 14:33:23 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0CEXMeu014863; Tue, 12 Jan 2016 14:33:22 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0CEXHtc014430; Tue, 12 Jan 2016 14:33:17 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201601121433.u0CEXHtc014430@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Tue, 12 Jan 2016 14:33:17 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293760 - in projects/release-pkg: release sys/boot/arm64/libarm64 sys/boot/common sys/boot/efi/boot1 sys/boot/efi/fdt sys/boot/efi/include sys/boot/efi/include/arm64 sys/boot/efi/libef... 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.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Jan 2016 14:33:23 -0000 Author: gjb Date: Tue Jan 12 14:33:17 2016 New Revision: 293760 URL: https://svnweb.freebsd.org/changeset/base/293760 Log: MFH Sponsored by: The FreeBSD Foundation Added: projects/release-pkg/sys/dev/sfxge/common/ef10_impl.h - copied unchanged from r293759, head/sys/dev/sfxge/common/ef10_impl.h projects/release-pkg/sys/dev/sfxge/common/medford_impl.h - copied unchanged from r293759, head/sys/dev/sfxge/common/medford_impl.h projects/release-pkg/sys/dev/sfxge/common/medford_nic.c - copied unchanged from r293759, head/sys/dev/sfxge/common/medford_nic.c projects/release-pkg/usr.sbin/bhyvectl/bhyvectl.8 - copied unchanged from r293759, head/usr.sbin/bhyvectl/bhyvectl.8 Modified: projects/release-pkg/release/Makefile.ec2 projects/release-pkg/sys/boot/arm64/libarm64/cache.c projects/release-pkg/sys/boot/common/load_elf.c projects/release-pkg/sys/boot/common/load_elf_obj.c projects/release-pkg/sys/boot/common/misc.c projects/release-pkg/sys/boot/common/module.c projects/release-pkg/sys/boot/common/part.c projects/release-pkg/sys/boot/common/self_reloc.c projects/release-pkg/sys/boot/common/ufsread.c projects/release-pkg/sys/boot/efi/boot1/Makefile projects/release-pkg/sys/boot/efi/boot1/boot1.c projects/release-pkg/sys/boot/efi/fdt/Makefile projects/release-pkg/sys/boot/efi/fdt/efi_fdt.c projects/release-pkg/sys/boot/efi/include/arm64/efibind.h projects/release-pkg/sys/boot/efi/include/efi_nii.h projects/release-pkg/sys/boot/efi/include/efiapi.h projects/release-pkg/sys/boot/efi/include/eficon.h projects/release-pkg/sys/boot/efi/include/eficonsctl.h projects/release-pkg/sys/boot/efi/include/efidevp.h projects/release-pkg/sys/boot/efi/include/efierr.h projects/release-pkg/sys/boot/efi/include/efifpswa.h projects/release-pkg/sys/boot/efi/include/efigop.h projects/release-pkg/sys/boot/efi/include/efilib.h projects/release-pkg/sys/boot/efi/include/efinet.h projects/release-pkg/sys/boot/efi/include/efipciio.h projects/release-pkg/sys/boot/efi/include/efiprot.h projects/release-pkg/sys/boot/efi/include/efipxebc.h projects/release-pkg/sys/boot/efi/include/efiser.h projects/release-pkg/sys/boot/efi/include/efiuga.h projects/release-pkg/sys/boot/efi/libefi/Makefile projects/release-pkg/sys/boot/efi/libefi/efi_console.c projects/release-pkg/sys/boot/efi/libefi/efipart.c projects/release-pkg/sys/boot/efi/libefi/libefi.c projects/release-pkg/sys/boot/efi/loader/Makefile projects/release-pkg/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c projects/release-pkg/sys/boot/efi/loader/arch/amd64/framebuffer.c projects/release-pkg/sys/boot/efi/loader/arch/arm/exec.c projects/release-pkg/sys/boot/efi/loader/arch/arm64/exec.c projects/release-pkg/sys/boot/efi/loader/autoload.c projects/release-pkg/sys/boot/efi/loader/bootinfo.c projects/release-pkg/sys/boot/efi/loader/copy.c projects/release-pkg/sys/boot/efi/loader/devicename.c projects/release-pkg/sys/boot/efi/loader/loader_efi.h projects/release-pkg/sys/boot/efi/loader/main.c projects/release-pkg/sys/boot/i386/libi386/smbios.c projects/release-pkg/sys/conf/NOTES projects/release-pkg/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/release-pkg/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/release-pkg/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/release-pkg/sys/dev/hyperv/netvsc/hv_rndis.h projects/release-pkg/sys/dev/hyperv/netvsc/hv_rndis_filter.c projects/release-pkg/sys/dev/hyperv/netvsc/hv_rndis_filter.h projects/release-pkg/sys/dev/sfxge/common/efsys.h projects/release-pkg/sys/dev/sfxge/common/efx.h projects/release-pkg/sys/dev/sfxge/common/efx_check.h projects/release-pkg/sys/dev/sfxge/common/efx_ev.c projects/release-pkg/sys/dev/sfxge/common/efx_impl.h projects/release-pkg/sys/dev/sfxge/common/efx_intr.c projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.c projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.h projects/release-pkg/sys/dev/sfxge/common/efx_mon.c projects/release-pkg/sys/dev/sfxge/common/efx_nic.c projects/release-pkg/sys/dev/sfxge/common/efx_nvram.c projects/release-pkg/sys/dev/sfxge/common/efx_rx.c projects/release-pkg/sys/dev/sfxge/common/efx_sram.c projects/release-pkg/sys/dev/sfxge/common/efx_tx.c projects/release-pkg/sys/dev/sfxge/common/efx_vpd.c projects/release-pkg/sys/dev/sfxge/common/hunt_ev.c projects/release-pkg/sys/dev/sfxge/common/hunt_filter.c projects/release-pkg/sys/dev/sfxge/common/hunt_impl.h projects/release-pkg/sys/dev/sfxge/common/hunt_intr.c projects/release-pkg/sys/dev/sfxge/common/hunt_mcdi.c projects/release-pkg/sys/dev/sfxge/common/hunt_nic.c projects/release-pkg/sys/dev/sfxge/common/hunt_nvram.c projects/release-pkg/sys/dev/sfxge/common/hunt_rx.c projects/release-pkg/sys/dev/sfxge/common/hunt_sram.c projects/release-pkg/sys/dev/sfxge/common/hunt_tx.c projects/release-pkg/sys/dev/sfxge/common/hunt_vpd.c projects/release-pkg/sys/dev/sfxge/common/mcdi_mon.c projects/release-pkg/sys/modules/sfxge/Makefile projects/release-pkg/usr.sbin/bhyvectl/Makefile Directory Properties: projects/release-pkg/ (props changed) projects/release-pkg/sys/ (props changed) projects/release-pkg/sys/boot/ (props changed) projects/release-pkg/sys/conf/ (props changed) projects/release-pkg/sys/dev/hyperv/ (props changed) projects/release-pkg/usr.sbin/bhyvectl/ (props changed) Modified: projects/release-pkg/release/Makefile.ec2 ============================================================================== --- projects/release-pkg/release/Makefile.ec2 Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/release/Makefile.ec2 Tue Jan 12 14:33:17 2016 (r293760) @@ -51,7 +51,7 @@ ec2ami: cw-ec2 ${CW_EC2_PORTINSTALL} @echo "--------------------------------------------------------------" @false .endif - /usr/local/bin/bsdec2-image-upload ${PUBLISH} \ + /usr/local/bin/bsdec2-image-upload ${PUBLISH} --sriov \ ${.OBJDIR}/ec2.raw \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}" \ Modified: projects/release-pkg/sys/boot/arm64/libarm64/cache.c ============================================================================== --- projects/release-pkg/sys/boot/arm64/libarm64/cache.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/arm64/libarm64/cache.c Tue Jan 12 14:33:17 2016 (r293760) @@ -67,7 +67,7 @@ cpu_flush_dcache(const void *ptr, size_t cl_size = get_dcache_line_size(); /* Calculate end address to clean */ - end = (vm_offset_t)(ptr + len); + end = (vm_offset_t)ptr + (vm_offset_t)len; /* Align start address to cache line */ addr = (vm_offset_t)ptr; addr = rounddown2(addr, cl_size); Modified: projects/release-pkg/sys/boot/common/load_elf.c ============================================================================== --- projects/release-pkg/sys/boot/common/load_elf.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/load_elf.c Tue Jan 12 14:33:17 2016 (r293760) @@ -886,7 +886,7 @@ __elfN(parse_modmetadata)(struct preload error = __elfN(reloc_ptr)(fp, ef, v, &md, sizeof(md)); if (error == EOPNOTSUPP) { md.md_cval += ef->off; - md.md_data += ef->off; + md.md_data = (void *)((uintptr_t)md.md_data + ef->off); } else if (error != 0) return (error); #endif Modified: projects/release-pkg/sys/boot/common/load_elf_obj.c ============================================================================== --- projects/release-pkg/sys/boot/common/load_elf_obj.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/load_elf_obj.c Tue Jan 12 14:33:17 2016 (r293760) @@ -520,10 +520,8 @@ __elfN(obj_symaddr)(struct elf_file *ef, { Elf_Sym sym; Elf_Addr base; - int symcnt; - symcnt = ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym); - if (symidx >= symcnt) + if (symidx >= ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym)) return (0); COPYOUT(ef->e_shdr[ef->symtabindex].sh_addr + symidx * sizeof(Elf_Sym), &sym, sizeof(sym)); Modified: projects/release-pkg/sys/boot/common/misc.c ============================================================================== --- projects/release-pkg/sys/boot/common/misc.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/misc.c Tue Jan 12 14:33:17 2016 (r293760) @@ -118,7 +118,6 @@ kern_bzero(vm_offset_t dest, size_t len) int kern_pread(int fd, vm_offset_t dest, size_t len, off_t off) { - ssize_t nread; if (lseek(fd, off, SEEK_SET) == -1) { #ifdef DEBUG @@ -126,8 +125,7 @@ kern_pread(int fd, vm_offset_t dest, siz #endif return (-1); } - nread = archsw.arch_readin(fd, dest, len); - if (nread != len) { + if ((size_t)archsw.arch_readin(fd, dest, len) != len) { #ifdef DEBUG printf("\nreadin failed\n"); #endif @@ -144,7 +142,6 @@ void * alloc_pread(int fd, off_t off, size_t len) { void *buf; - ssize_t nread; buf = malloc(len); if (buf == NULL) { @@ -160,8 +157,7 @@ alloc_pread(int fd, off_t off, size_t le free(buf); return (NULL); } - nread = read(fd, buf, len); - if (nread != len) { + if ((size_t)read(fd, buf, len) != len) { #ifdef DEBUG printf("\nread failed\n"); #endif Modified: projects/release-pkg/sys/boot/common/module.c ============================================================================== --- projects/release-pkg/sys/boot/common/module.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/module.c Tue Jan 12 14:33:17 2016 (r293760) @@ -983,7 +983,7 @@ moduledir_rebuild(void) { struct moduledir *mdp, *mtmp; const char *path, *cp, *ep; - int cplen; + size_t cplen; path = getenv("module_path"); if (path == NULL) Modified: projects/release-pkg/sys/boot/common/part.c ============================================================================== --- projects/release-pkg/sys/boot/common/part.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/part.c Tue Jan 12 14:33:17 2016 (r293760) @@ -102,7 +102,7 @@ static struct parttypes { const char * parttype2str(enum partition_type type) { - int i; + size_t i; for (i = 0; i < sizeof(ptypes) / sizeof(ptypes[0]); i++) if (ptypes[i].type == type) @@ -203,7 +203,7 @@ gpt_checktbl(const struct gpt_hdr *hdr, uint64_t lba_last) { struct gpt_ent *ent; - int i, cnt; + uint32_t i, cnt; cnt = size / hdr->hdr_entsz; if (hdr->hdr_entries <= cnt) { @@ -234,8 +234,8 @@ ptable_gptread(struct ptable *table, voi struct gpt_ent *ent; u_char *buf, *tbl; uint64_t offset; - int pri, sec, i; - size_t size; + int pri, sec; + size_t size, i; buf = malloc(table->sectorsize); if (buf == NULL) @@ -358,7 +358,7 @@ mbr_parttype(uint8_t type) return (PART_UNKNOWN); } -struct ptable* +static struct ptable* ptable_ebrread(struct ptable *table, void *dev, diskread_t dread) { struct dos_partition *dp; @@ -436,7 +436,7 @@ bsd_parttype(uint8_t type) return (PART_UNKNOWN); } -struct ptable* +static struct ptable* ptable_bsdread(struct ptable *table, void *dev, diskread_t dread) { struct disklabel *dl; Modified: projects/release-pkg/sys/boot/common/self_reloc.c ============================================================================== --- projects/release-pkg/sys/boot/common/self_reloc.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/self_reloc.c Tue Jan 12 14:33:17 2016 (r293760) @@ -61,6 +61,8 @@ __FBSDID("$FreeBSD$"); #define RELOC_TYPE_RELATIVE R_386_RELATIVE #endif +void self_reloc(Elf_Addr baseaddr, ElfW_Dyn *dynamic); + /* * A simple elf relocator. */ @@ -118,6 +120,6 @@ self_reloc(Elf_Addr baseaddr, ElfW_Dyn * /* XXX: do we need other relocations ? */ break; } - rel = (ElfW_Rel *) ((caddr_t) rel + relent); + rel = (ElfW_Rel *)(void *)((caddr_t) rel + relent); } } Modified: projects/release-pkg/sys/boot/common/ufsread.c ============================================================================== --- projects/release-pkg/sys/boot/common/ufsread.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/common/ufsread.c Tue Jan 12 14:33:17 2016 (r293760) @@ -207,7 +207,7 @@ fsread(ufs_ino_t inode, void *buf, size_ #endif ) && fs.fs_bsize <= MAXBSIZE && - fs.fs_bsize >= sizeof(struct fs)) + fs.fs_bsize >= (int32_t)sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -231,10 +231,10 @@ fsread(ufs_ino_t inode, void *buf, size_ sizeof(struct ufs2_dinode)); #else if (fs.fs_magic == FS_UFS1_MAGIC) - memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + memcpy(&dp1, (struct ufs1_dinode *)(void *)blkbuf + n, sizeof(struct ufs1_dinode)); else - memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + memcpy(&dp2, (struct ufs2_dinode *)(void *)blkbuf + n, sizeof(struct ufs2_dinode)); #endif inomap = inode; @@ -283,7 +283,7 @@ fsread(ufs_ino_t inode, void *buf, size_ return -1; vbaddr = fsbtodb(&fs, addr2) + (off >> VBLKSHIFT) * DBPERVBLK; vboff = off & VBLKMASK; - n = sblksize(&fs, size, lbn) - (off & ~VBLKMASK); + n = sblksize(&fs, (off_t)size, lbn) - (off & ~VBLKMASK); if (n > VBLKSIZE) n = VBLKSIZE; if (blkmap != vbaddr) { Modified: projects/release-pkg/sys/boot/efi/boot1/Makefile ============================================================================== --- projects/release-pkg/sys/boot/efi/boot1/Makefile Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/boot1/Makefile Tue Jan 12 14:33:17 2016 (r293760) @@ -11,6 +11,7 @@ MK_SSP= no PROG= boot1.sym INTERNALPROG= +WARNS?= 6 # architecture-specific loader code SRCS= boot1.c self_reloc.c start.S Modified: projects/release-pkg/sys/boot/efi/boot1/boot1.c ============================================================================== --- projects/release-pkg/sys/boot/efi/boot1/boot1.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/boot1/boot1.c Tue Jan 12 14:33:17 2016 (r293760) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); void panic(const char *fmt, ...) __dead2; void putchar(int c); +EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab); static int domount(EFI_DEVICE_PATH *device, EFI_BLOCK_IO *blkio, int quiet); static void load(const char *fname); @@ -62,7 +63,7 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E EFI_BOOT_SERVICES *BS; EFI_CONSOLE_CONTROL_PROTOCOL *ConsoleControl = NULL; SIMPLE_TEXT_OUTPUT_INTERFACE *conout = NULL; - char *path = _PATH_LOADER; + const char *path = _PATH_LOADER; systab = Xsystab; image = Ximage; @@ -157,7 +158,6 @@ fsstat(ufs_ino_t inode) { #ifndef UFS2_ONLY static struct ufs1_dinode dp1; - ufs1_daddr_t addr1; #endif #ifndef UFS1_ONLY static struct ufs2_dinode dp2; @@ -166,11 +166,8 @@ fsstat(ufs_ino_t inode) static ufs_ino_t inomap; char *blkbuf; void *indbuf; - size_t n, nb, size, off, vboff; - ufs_lbn_t lbn; - ufs2_daddr_t addr2, vbaddr; + size_t n, size; static ufs2_daddr_t blkmap, indmap; - u_int u; blkbuf = dmadat->blkbuf; indbuf = dmadat->indbuf; @@ -194,7 +191,7 @@ fsstat(ufs_ino_t inode) #endif ) && fs.fs_bsize <= MAXBSIZE && - fs.fs_bsize >= sizeof(struct fs)) + fs.fs_bsize >= (int32_t)sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -218,10 +215,10 @@ fsstat(ufs_ino_t inode) sizeof(struct ufs2_dinode)); #else if (fs.fs_magic == FS_UFS1_MAGIC) - memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + memcpy(&dp1, (struct ufs1_dinode *)(void *)blkbuf + n, sizeof(struct ufs1_dinode)); else - memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + memcpy(&dp2, (struct ufs2_dinode *)(void *)blkbuf + n, sizeof(struct ufs2_dinode)); #endif inomap = inode; Modified: projects/release-pkg/sys/boot/efi/fdt/Makefile ============================================================================== --- projects/release-pkg/sys/boot/efi/fdt/Makefile Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/fdt/Makefile Tue Jan 12 14:33:17 2016 (r293760) @@ -6,6 +6,7 @@ LIB= efi_fdt INTERNALLIB= +WARNS?= 6 SRCS= efi_fdt.c Modified: projects/release-pkg/sys/boot/efi/fdt/efi_fdt.c ============================================================================== --- projects/release-pkg/sys/boot/efi/fdt/efi_fdt.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/fdt/efi_fdt.c Tue Jan 12 14:33:17 2016 (r293760) @@ -44,7 +44,6 @@ int fdt_platform_load_dtb(void) { struct fdt_header *hdr; - int err; hdr = efi_get_table(&fdtdtb); if (hdr != NULL) { @@ -54,7 +53,7 @@ fdt_platform_load_dtb(void) } } - return (err); + return (1); } void Modified: projects/release-pkg/sys/boot/efi/include/arm64/efibind.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/arm64/efibind.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/arm64/efibind.h Tue Jan 12 14:33:17 2016 (r293760) @@ -127,7 +127,6 @@ typedef uint64_t UINTN; #define BAD_POINTER 0xFBFBFBFBFBFBFBFB #define MAX_ADDRESS 0xFFFFFFFFFFFFFFFF -#pragma intrinsic (__break) #define BREAKPOINT() __break(0) // @@ -180,7 +179,6 @@ typedef uint64_t UINTN; // BugBug: Need to find out if this is portable accross compliers. // void __mfa (void); -#pragma intrinsic (__mfa) #define MEMORY_FENCE() __mfa() #ifdef EFI_NO_INTERFACE_DECL Modified: projects/release-pkg/sys/boot/efi/include/efi_nii.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efi_nii.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efi_nii.h Tue Jan 12 14:33:17 2016 (r293760) @@ -26,9 +26,9 @@ Revision history: --*/ #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ - { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } + { 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29} } #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \ - { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } + { 0x1ACED566, 0x76ED, 0x4218, {0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89} } #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001 Modified: projects/release-pkg/sys/boot/efi/include/efiapi.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efiapi.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efiapi.h Tue Jan 12 14:33:17 2016 (r293760) @@ -214,8 +214,8 @@ VOID // EFI platform varibles // -#define EFI_GLOBAL_VARIABLE \ - { 0x8BE4DF61, 0x93CA, 0x11d2, 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } +#define EFI_GLOBAL_VARIABLE \ + { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} } // Variable attributes #define EFI_VARIABLE_NON_VOLATILE 0x00000001 @@ -363,8 +363,8 @@ EFI_STATUS // Image handle -#define LOADED_IMAGE_PROTOCOL \ - { 0x5B1B31A1, 0x9562, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } +#define LOADED_IMAGE_PROTOCOL \ + { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} } #define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000 typedef struct { @@ -827,35 +827,35 @@ typedef struct { // EFI Configuration Table and GUID definitions // -#define MPS_TABLE_GUID \ - { 0xeb9d2d2f, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define MPS_TABLE_GUID \ + { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_TABLE_GUID \ - { 0xeb9d2d30, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define ACPI_TABLE_GUID \ + { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_20_TABLE_GUID \ - { 0x8868e871, 0xe4f1, 0x11d3, 0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } +#define ACPI_20_TABLE_GUID \ + { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } -#define SMBIOS_TABLE_GUID \ - { 0xeb9d2d31, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define SMBIOS_TABLE_GUID \ + { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define SAL_SYSTEM_TABLE_GUID \ - { 0xeb9d2d32, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define SAL_SYSTEM_TABLE_GUID \ + { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define FDT_TABLE_GUID \ - { 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } +#define FDT_TABLE_GUID \ + { 0xb1b621d5, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0} } -#define DXE_SERVICES_TABLE_GUID \ - { 0x5ad34ba, 0x6f02, 0x4214, 0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9 } +#define DXE_SERVICES_TABLE_GUID \ + { 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9} } -#define HOB_LIST_TABLE_GUID \ - { 0x7739f24c, 0x93d7, 0x11d4, 0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define HOB_LIST_TABLE_GUID \ + { 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define MEMORY_TYPE_INFORMATION_TABLE_GUID \ - { 0x4c19049f, 0x4137, 0x4dd3, 0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa } + { 0x4c19049f, 0x4137, 0x4dd3, {0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa} } #define DEBUG_IMAGE_INFO_TABLE_GUID \ - { 0x49152e77, 0x1ada, 0x4764, 0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b } + { 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b} } typedef struct _EFI_CONFIGURATION_TABLE { EFI_GUID VendorGuid; Modified: projects/release-pkg/sys/boot/efi/include/eficon.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/eficon.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/eficon.h Tue Jan 12 14:33:17 2016 (r293760) @@ -32,7 +32,7 @@ Revision History // #define SIMPLE_TEXT_OUTPUT_PROTOCOL \ - { 0x387477c2, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_SIMPLE_TEXT_OUTPUT_INTERFACE); @@ -239,8 +239,8 @@ typedef struct _SIMPLE_TEXT_OUTPUT_INTER // Text input protocol // -#define SIMPLE_TEXT_INPUT_PROTOCOL \ - { 0x387477c1, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define SIMPLE_TEXT_INPUT_PROTOCOL \ + { 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_SIMPLE_INPUT_INTERFACE); Modified: projects/release-pkg/sys/boot/efi/include/eficonsctl.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/eficonsctl.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/eficonsctl.h Tue Jan 12 14:33:17 2016 (r293760) @@ -35,7 +35,7 @@ #define _EFI_CONS_CTL_H #define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \ - { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } + { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL; Modified: projects/release-pkg/sys/boot/efi/include/efidevp.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efidevp.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efidevp.h Tue Jan 12 14:33:17 2016 (r293760) @@ -110,7 +110,7 @@ typedef struct _VENDOR_DEVICE_PATH { } VENDOR_DEVICE_PATH; #define UNKNOWN_DEVICE_GUID \ - { 0xcf31fac5, 0xc24e, 0x11d2, 0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b } + { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b} } typedef struct _UKNOWN_DEVICE_VENDOR_DP { VENDOR_DEVICE_PATH DevicePath; @@ -274,16 +274,16 @@ typedef struct _UART_DEVICE_PATH { /* Use VENDOR_DEVICE_PATH struct */ #define DEVICE_PATH_MESSAGING_PC_ANSI \ - { 0xe0c14753, 0xf9be, 0x11d2, 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xe0c14753, 0xf9be, 0x11d2, {0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define DEVICE_PATH_MESSAGING_VT_100 \ - { 0xdfa66065, 0xb419, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xdfa66065, 0xb419, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define DEVICE_PATH_MESSAGING_VT_100_PLUS \ - { 0x7baec70b, 0x57e0, 0x4c76, 0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43 } + { 0x7baec70b, 0x57e0, 0x4c76, {0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43} } #define DEVICE_PATH_MESSAGING_VT_UTF8 \ - { 0xad15a0d6, 0x8bec, 0x4acf, 0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88 } + { 0xad15a0d6, 0x8bec, 0x4acf, {0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88} } #define MEDIA_DEVICE_PATH 0x04 Modified: projects/release-pkg/sys/boot/efi/include/efierr.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efierr.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efierr.h Tue Jan 12 14:33:17 2016 (r293760) @@ -31,7 +31,7 @@ Revision History #define EFIWARN(a) (a) #define EFI_ERROR(a) (((INTN) a) < 0) -#define EFI_ERROR_CODE(a) (a & ~EFI_ERROR_MASK) +#define EFI_ERROR_CODE(a) (unsigned long)(a & ~EFI_ERROR_MASK) #define EFI_SUCCESS 0 Modified: projects/release-pkg/sys/boot/efi/include/efifpswa.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efifpswa.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efifpswa.h Tue Jan 12 14:33:17 2016 (r293760) @@ -7,7 +7,7 @@ */ #define EFI_INTEL_FPSWA \ - { 0xc41b6531, 0x97b9, 0x11d3, 0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xc41b6531, 0x97b9, 0x11d3, {0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } INTERFACE_DECL(_FPSWA_INTERFACE); Modified: projects/release-pkg/sys/boot/efi/include/efigop.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efigop.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efigop.h Tue Jan 12 14:33:17 2016 (r293760) @@ -27,9 +27,8 @@ Revision History #ifndef _EFIGOP_H #define _EFIGOP_H -#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ - { 0x9042a9de, 0x23dc, 0x4a38, 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, \ - 0x51, 0x6a } +#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ + { 0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a} } INTERFACE_DECL(_EFI_GRAPHICS_OUTPUT); Modified: projects/release-pkg/sys/boot/efi/include/efilib.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efilib.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efilib.h Tue Jan 12 14:33:17 2016 (r293760) @@ -50,3 +50,4 @@ time_t efi_time(EFI_TIME *); EFI_STATUS main(int argc, CHAR16 *argv[]); void exit(EFI_STATUS status); +void delay(int usecs); Modified: projects/release-pkg/sys/boot/efi/include/efinet.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efinet.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efinet.h Tue Jan 12 14:33:17 2016 (r293760) @@ -29,7 +29,7 @@ Revision History // #define EFI_SIMPLE_NETWORK_PROTOCOL \ - { 0xA19832B9, 0xAC25, 0x11D3, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } + { 0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } INTERFACE_DECL(_EFI_SIMPLE_NETWORK); Modified: projects/release-pkg/sys/boot/efi/include/efipciio.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efipciio.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efipciio.h Tue Jan 12 14:33:17 2016 (r293760) @@ -21,9 +21,7 @@ /// Global ID for the PCI I/O Protocol /// #define EFI_PCI_IO_PROTOCOL_GUID \ - { \ - 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a } \ - } + { 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a} } typedef struct _EFI_PCI_IO_PROTOCOL EFI_PCI_IO_PROTOCOL; Modified: projects/release-pkg/sys/boot/efi/include/efiprot.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efiprot.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efiprot.h Tue Jan 12 14:33:17 2016 (r293760) @@ -31,8 +31,8 @@ Revision History // Device Path protocol // -#define DEVICE_PATH_PROTOCOL \ - { 0x9576e91, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define DEVICE_PATH_PROTOCOL \ + { 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } // @@ -40,7 +40,7 @@ Revision History // #define BLOCK_IO_PROTOCOL \ - { 0x964e5b21, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } #define EFI_BLOCK_IO_INTERFACE_REVISION 0x00010000 INTERFACE_DECL(_EFI_BLOCK_IO); @@ -116,7 +116,7 @@ typedef struct _EFI_BLOCK_IO { // #define DISK_IO_PROTOCOL \ - { 0xce345171, 0xba0b, 0x11d2, 0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0xce345171, 0xba0b, 0x11d2, {0x8e, 0x4f, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } #define EFI_DISK_IO_INTERFACE_REVISION 0x00010000 INTERFACE_DECL(_EFI_DISK_IO); @@ -155,7 +155,7 @@ typedef struct _EFI_DISK_IO { // #define SIMPLE_FILE_SYSTEM_PROTOCOL \ - { 0x964e5b22, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x964e5b22, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_EFI_FILE_IO_INTERFACE); INTERFACE_DECL(_EFI_FILE_HANDLE); @@ -290,8 +290,8 @@ typedef struct _EFI_FILE_HANDLE { // File information types // -#define EFI_FILE_INFO_ID \ - { 0x9576e92, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define EFI_FILE_INFO_ID \ + { 0x9576e92, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } typedef struct { UINT64 Size; @@ -314,8 +314,8 @@ typedef struct { #define SIZE_OF_EFI_FILE_INFO EFI_FIELD_OFFSET(EFI_FILE_INFO,FileName) -#define EFI_FILE_SYSTEM_INFO_ID \ - { 0x9576e93, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define EFI_FILE_SYSTEM_INFO_ID \ + { 0x9576e93, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } typedef struct { UINT64 Size; @@ -336,8 +336,8 @@ typedef struct { #define SIZE_OF_EFI_FILE_SYSTEM_INFO EFI_FIELD_OFFSET(EFI_FILE_SYSTEM_INFO,VolumeLabel) -#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID \ - { 0xDB47D7D3,0xFE81, 0x11d3, 0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } +#define EFI_FILE_SYSTEM_VOLUME_LABEL_INFO_ID \ + { 0xDB47D7D3,0xFE81, 0x11d3, {0x9A, 0x35, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } typedef struct { CHAR16 VolumeLabel[1]; @@ -351,7 +351,7 @@ typedef struct { #define LOAD_FILE_PROTOCOL \ - { 0x56EC3091, 0x954C, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } + { 0x56EC3091, 0x954C, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} } INTERFACE_DECL(_EFI_LOAD_FILE_INTERFACE); @@ -375,7 +375,7 @@ typedef struct _EFI_LOAD_FILE_INTERFACE // #define DEVICE_IO_PROTOCOL \ - { 0xaf6ac311, 0x84c3, 0x11d2, 0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0xaf6ac311, 0x84c3, 0x11d2, {0x8e, 0x3c, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_EFI_DEVICE_IO_INTERFACE); @@ -485,7 +485,7 @@ typedef struct _EFI_DEVICE_IO_INTERFACE // #define UNICODE_COLLATION_PROTOCOL \ - { 0x1d85cd7f, 0xf43d, 0x11d2, 0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0x1d85cd7f, 0xf43d, 0x11d2, {0x9a, 0xc, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define UNICODE_BYTE_ORDER_MARK (CHAR16)(0xfeff) Modified: projects/release-pkg/sys/boot/efi/include/efipxebc.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efipxebc.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efipxebc.h Tue Jan 12 14:33:17 2016 (r293760) @@ -32,7 +32,7 @@ Revision History // #define EFI_PXE_BASE_CODE_PROTOCOL \ - { 0x03c4e603, 0xac28, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0x03c4e603, 0xac28, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } INTERFACE_DECL(_EFI_PXE_BASE_CODE); @@ -425,7 +425,7 @@ typedef struct _EFI_PXE_BASE_CODE { // #define EFI_PXE_BASE_CODE_CALLBACK_PROTOCOL \ - { 0x245dca21, 0xfb7b, 0x11d3, 0x8f, 0x01, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x245dca21, 0xfb7b, 0x11d3, {0x8f, 0x01, 0x00, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } // // Revision Number Modified: projects/release-pkg/sys/boot/efi/include/efiser.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efiser.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efiser.h Tue Jan 12 14:33:17 2016 (r293760) @@ -30,7 +30,7 @@ Revision History // #define SERIAL_IO_PROTOCOL \ - { 0xBB25CF6F, 0xF1D4, 0x11D2, 0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD } + { 0xBB25CF6F, 0xF1D4, 0x11D2, {0x9A, 0x0C, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0xFD} } INTERFACE_DECL(_SERIAL_IO_INTERFACE); Modified: projects/release-pkg/sys/boot/efi/include/efiuga.h ============================================================================== --- projects/release-pkg/sys/boot/efi/include/efiuga.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/include/efiuga.h Tue Jan 12 14:33:17 2016 (r293760) @@ -22,9 +22,7 @@ #define __UGA_DRAW_H__ #define EFI_UGA_DRAW_PROTOCOL_GUID \ - { \ - 0x982c298b, 0xf4fa, 0x41cb, {0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39 } \ - } + { 0x982c298b, 0xf4fa, 0x41cb, {0xb8, 0x38, 0x77, 0xaa, 0x68, 0x8f, 0xb8, 0x39} } typedef struct _EFI_UGA_DRAW_PROTOCOL EFI_UGA_DRAW_PROTOCOL; Modified: projects/release-pkg/sys/boot/efi/libefi/Makefile ============================================================================== --- projects/release-pkg/sys/boot/efi/libefi/Makefile Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/libefi/Makefile Tue Jan 12 14:33:17 2016 (r293760) @@ -2,6 +2,7 @@ LIB= efi INTERNALLIB= +WARNS?= 2 SRCS= delay.c efi_console.c efinet.c efipart.c errno.c handles.c \ libefi.c time.c Modified: projects/release-pkg/sys/boot/efi/libefi/efi_console.c ============================================================================== --- projects/release-pkg/sys/boot/efi/libefi/efi_console.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/libefi/efi_console.c Tue Jan 12 14:33:17 2016 (r293760) @@ -47,6 +47,8 @@ static int esc; void get_pos(int *x, int *y); void curs_move(int *_x, int *_y, int x, int y); static void CL(int); +void HO(void); +void end_term(void); #endif static void efi_cons_probe(struct console *); Modified: projects/release-pkg/sys/boot/efi/libefi/efipart.c ============================================================================== --- projects/release-pkg/sys/boot/efi/libefi/efipart.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/libefi/efipart.c Tue Jan 12 14:33:17 2016 (r293760) @@ -67,7 +67,6 @@ efipart_init(void) EFI_HANDLE *hin, *hout, *aliases, handle; EFI_STATUS status; UINTN sz; - CHAR16 *path; u_int n, nin, nout; int err; size_t devpathlen; Modified: projects/release-pkg/sys/boot/efi/libefi/libefi.c ============================================================================== --- projects/release-pkg/sys/boot/efi/libefi/libefi.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/libefi/libefi.c Tue Jan 12 14:33:17 2016 (r293760) @@ -179,7 +179,7 @@ efi_main(EFI_HANDLE image_handle, EFI_SY argv = malloc((argc + 1) * sizeof(CHAR16*)); argc = 0; if (addprog) - argv[argc++] = L"loader.efi"; + argv[argc++] = (CHAR16 *)"loader.efi"; argp = args; while (argp != NULL && *argp != 0) { argp = arg_skipsep(argp); Modified: projects/release-pkg/sys/boot/efi/loader/Makefile ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/Makefile Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/Makefile Tue Jan 12 14:33:17 2016 (r293760) @@ -11,6 +11,7 @@ MK_SSP= no PROG= loader.sym INTERNALPROG= +WARNS?= 3 # architecture-specific loader code SRCS= autoload.c \ Modified: projects/release-pkg/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c Tue Jan 12 14:33:17 2016 (r293760) @@ -100,7 +100,6 @@ elf64_exec(struct preloaded_file *fp) ACPI_TABLE_RSDP *rsdp; char buf[24]; int revision; - EFI_STATUS status; rsdp = efi_get_table(&acpi20_guid); if (rsdp == NULL) { Modified: projects/release-pkg/sys/boot/efi/loader/arch/amd64/framebuffer.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/arch/amd64/framebuffer.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/arch/amd64/framebuffer.c Tue Jan 12 14:33:17 2016 (r293760) @@ -39,6 +39,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include "framebuffer.h" + static EFI_GUID gop_guid = EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID; static EFI_GUID pciio_guid = EFI_PCI_IO_PROTOCOL_GUID; static EFI_GUID uga_guid = EFI_UGA_DRAW_PROTOCOL_GUID; @@ -270,7 +272,7 @@ efifb_from_uga(struct efi_fb *efifb, EFI char *ev, *p; EFI_STATUS status; ssize_t offset; - uint64_t fbaddr, fbsize; + uint64_t fbaddr; uint32_t horiz, vert, stride; uint32_t np, depth, refresh; Modified: projects/release-pkg/sys/boot/efi/loader/arch/arm/exec.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/arch/arm/exec.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/arch/arm/exec.c Tue Jan 12 14:33:17 2016 (r293760) @@ -44,8 +44,9 @@ __FBSDID("$FreeBSD$"); #include "loader_efi.h" extern vm_offset_t md_load(char *, vm_offset_t *); +extern int bi_load(char *, vm_offset_t *, vm_offset_t *); -int +static int __elfN(arm_load)(char *filename, u_int64_t dest, struct preloaded_file **result) { @@ -58,7 +59,7 @@ __elfN(arm_load)(char *filename, u_int64 return (0); } -int +static int __elfN(arm_exec)(struct preloaded_file *fp) { struct file_metadata *fmp; @@ -66,7 +67,6 @@ __elfN(arm_exec)(struct preloaded_file * Elf_Ehdr *e; int error; void (*entry)(void *); - EFI_STATUS status; if ((fmp = file_findmetadata(fp, MODINFOMD_ELFHDR)) == NULL) return (EFTYPE); Modified: projects/release-pkg/sys/boot/efi/loader/arch/arm64/exec.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/arch/arm64/exec.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/arch/arm64/exec.c Tue Jan 12 14:33:17 2016 (r293760) @@ -45,6 +45,7 @@ __FBSDID("$FreeBSD$"); #include "platform/acfreebsd.h" #include "acconfig.h" #define ACPI_SYSTEM_XFACE +#define ACPI_USE_SYSTEM_INTTYPES #include "actypes.h" #include "actbl.h" @@ -74,8 +75,6 @@ elf64_exec(struct preloaded_file *fp) size_t clean_size; struct file_metadata *md; ACPI_TABLE_RSDP *rsdp; - EFI_STATUS status; - EFI_PHYSICAL_ADDRESS addr; Elf_Ehdr *ehdr; char buf[24]; int err, revision; @@ -119,8 +118,8 @@ elf64_exec(struct preloaded_file *fp) return (err); /* Clean D-cache under kernel area and invalidate whole I-cache */ - clean_addr = efi_translate(fp->f_addr); - clean_size = efi_translate(kernendp) - clean_addr; + clean_addr = (vm_offset_t)efi_translate(fp->f_addr); + clean_size = (vm_offset_t)efi_translate(kernendp) - clean_addr; cpu_flush_dcache((void *)clean_addr, clean_size); cpu_inval_icache(NULL, 0); Modified: projects/release-pkg/sys/boot/efi/loader/autoload.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/autoload.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/autoload.c Tue Jan 12 14:33:17 2016 (r293760) @@ -27,6 +27,8 @@ #include __FBSDID("$FreeBSD$"); +#include "loader_efi.h" + int efi_autoload(void) { Modified: projects/release-pkg/sys/boot/efi/loader/bootinfo.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/bootinfo.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/bootinfo.c Tue Jan 12 14:33:17 2016 (r293760) @@ -55,6 +55,8 @@ __FBSDID("$FreeBSD$"); #include #endif +int bi_load(char *args, vm_offset_t *modulep, vm_offset_t *kernendp); + extern EFI_SYSTEM_TABLE *ST; static const char howto_switches[] = "aCdrgDmphsv"; @@ -122,7 +124,7 @@ bi_copyenv(vm_offset_t start) /* Traverse the environment. */ for (ep = environ; ep != NULL; ep = ep->ev_next) { len = strlen(ep->ev_name); - if (archsw.arch_copyin(ep->ev_name, addr, len) != len) + if ((size_t)archsw.arch_copyin(ep->ev_name, addr, len) != len) break; addr += len; if (archsw.arch_copyin("=", addr, 1) != 1) @@ -130,7 +132,7 @@ bi_copyenv(vm_offset_t start) addr++; if (ep->ev_value != NULL) { len = strlen(ep->ev_value); - if (archsw.arch_copyin(ep->ev_value, addr, len) != len) + if ((size_t)archsw.arch_copyin(ep->ev_value, addr, len) != len) break; addr += len; } @@ -351,7 +353,7 @@ bi_load(char *args, vm_offset_t *modulep #endif #if defined(__arm__) vm_offset_t vaddr; - int i; + size_t i; /* * These metadata addreses must be converted for kernel after * relocation. Modified: projects/release-pkg/sys/boot/efi/loader/copy.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/copy.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/copy.c Tue Jan 12 14:33:17 2016 (r293760) @@ -37,6 +37,8 @@ __FBSDID("$FreeBSD$"); #include #include +#include "loader_efi.h" + #ifndef EFI_STAGING_SIZE #define EFI_STAGING_SIZE 48 #endif Modified: projects/release-pkg/sys/boot/efi/loader/devicename.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/devicename.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/devicename.c Tue Jan 12 14:33:17 2016 (r293760) @@ -31,11 +31,13 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include "bootstrap.h" +#include #include #include +#include "loader_efi.h" + static int efi_parsedev(struct devdesc **, const char *, const char **); /* Modified: projects/release-pkg/sys/boot/efi/loader/loader_efi.h ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/loader_efi.h Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/loader_efi.h Tue Jan 12 14:33:17 2016 (r293760) @@ -31,6 +31,8 @@ #ifndef _LOADER_EFI_COPY_H_ #define _LOADER_EFI_COPY_H_ +#include + int efi_autoload(void); int efi_getdev(void **vdev, const char *devspec, const char **path); Modified: projects/release-pkg/sys/boot/efi/loader/main.c ============================================================================== --- projects/release-pkg/sys/boot/efi/loader/main.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/efi/loader/main.c Tue Jan 12 14:33:17 2016 (r293760) @@ -68,6 +68,7 @@ main(int argc, CHAR16 *argv[]) EFI_LOADED_IMAGE *img; EFI_GUID *guid; int i, j, vargood; + UINTN k; /* * XXX Chicken-and-egg problem; we want to have console output @@ -155,10 +156,10 @@ main(int argc, CHAR16 *argv[]) archsw.arch_copyout = efi_copyout; archsw.arch_readin = efi_readin; - for (i = 0; i < ST->NumberOfTableEntries; i++) { - guid = &ST->ConfigurationTable[i].VendorGuid; + for (k = 0; k < ST->NumberOfTableEntries; k++) { + guid = &ST->ConfigurationTable[k].VendorGuid; if (!memcmp(guid, &smbios, sizeof(EFI_GUID))) { - smbios_detect(ST->ConfigurationTable[i].VendorTable); + smbios_detect(ST->ConfigurationTable[k].VendorTable); break; } } @@ -242,8 +243,9 @@ command_memmap(int argc, char *argv[]) for (i = 0, p = map; i < ndesc; i++, p = NextMemoryDescriptor(p, dsz)) { - printf("%23s %012lx %012lx %08lx ", types[p->Type], - p->PhysicalStart, p->VirtualStart, p->NumberOfPages); + printf("%23s %012jx %012jx %08jx ", types[p->Type], + (uintmax_t)p->PhysicalStart, (uintmax_t)p->VirtualStart, + (uintmax_t)p->NumberOfPages); if (p->Attribute & EFI_MEMORY_UC) printf("UC "); if (p->Attribute & EFI_MEMORY_WC) @@ -284,9 +286,10 @@ guid_to_string(EFI_GUID *guid) static int command_configuration(int argc, char *argv[]) { - int i; + UINTN i; - printf("NumberOfTableEntries=%ld\n", ST->NumberOfTableEntries); + printf("NumberOfTableEntries=%lu\n", + (unsigned long)ST->NumberOfTableEntries); for (i = 0; i < ST->NumberOfTableEntries; i++) { EFI_GUID *guid; @@ -382,9 +385,8 @@ command_nvram(int argc, char *argv[]) CHAR16 *data; EFI_STATUS status; EFI_GUID varguid = { 0,0,0,{0,0,0,0,0,0,0,0} }; - UINTN varsz, datasz; + UINTN varsz, datasz, i; SIMPLE_TEXT_OUTPUT_INTERFACE *conout; - int i; conout = ST->ConOut; Modified: projects/release-pkg/sys/boot/i386/libi386/smbios.c ============================================================================== --- projects/release-pkg/sys/boot/i386/libi386/smbios.c Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/boot/i386/libi386/smbios.c Tue Jan 12 14:33:17 2016 (r293760) @@ -332,7 +332,7 @@ static caddr_t smbios_find_struct(int type) { caddr_t dmi; - int i; + size_t i; if (smbios.addr == NULL) return (NULL); @@ -402,7 +402,7 @@ smbios_detect(const caddr_t addr) { char buf[16]; caddr_t dmi; - int i; + size_t i; smbios_probe(addr); if (smbios.addr == NULL) Modified: projects/release-pkg/sys/conf/NOTES ============================================================================== --- projects/release-pkg/sys/conf/NOTES Tue Jan 12 14:18:54 2016 (r293759) +++ projects/release-pkg/sys/conf/NOTES Tue Jan 12 14:33:17 2016 (r293760) @@ -2586,6 +2586,25 @@ device pps device lpbb device pcfclock *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Wed Jan 13 04:11:07 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 ACDC4A804FE for ; Wed, 13 Jan 2016 04:11:07 +0000 (UTC) (envelope-from gjb@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 5CDED10B0; Wed, 13 Jan 2016 04:11:07 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0D4B6PZ097644; Wed, 13 Jan 2016 04:11:06 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0D4B441097625; Wed, 13 Jan 2016 04:11:04 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201601130411.u0D4B441097625@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Wed, 13 Jan 2016 04:11:04 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293803 - in projects/release-pkg: . etc lib/libc/sys share/examples/ypldap share/man/man4 sys/arm/arm sys/boot/efi/libefi sys/boot/uboot/lib sys/dev/sfxge/common sys/dev/uart usr.sbin/... 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.20 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, 13 Jan 2016 04:11:07 -0000 Author: gjb Date: Wed Jan 13 04:11:04 2016 New Revision: 293803 URL: https://svnweb.freebsd.org/changeset/base/293803 Log: MFH Sponsored by: The FreeBSD Foundation Added: projects/release-pkg/share/examples/ypldap/ - copied from r293802, head/share/examples/ypldap/ projects/release-pkg/sys/dev/uart/uart_ppstypes.h - copied unchanged from r293802, head/sys/dev/uart/uart_ppstypes.h Modified: projects/release-pkg/UPDATING projects/release-pkg/etc/master.passwd projects/release-pkg/lib/libc/sys/futimens.c projects/release-pkg/lib/libc/sys/utimensat.2 projects/release-pkg/lib/libc/sys/utimensat.c projects/release-pkg/share/man/man4/uart.4 projects/release-pkg/sys/arm/arm/pmap-v6-new.c projects/release-pkg/sys/boot/efi/libefi/libefi.c projects/release-pkg/sys/boot/uboot/lib/copy.c projects/release-pkg/sys/dev/sfxge/common/efx.h projects/release-pkg/sys/dev/sfxge/common/efx_check.h projects/release-pkg/sys/dev/sfxge/common/efx_filter.c projects/release-pkg/sys/dev/sfxge/common/efx_impl.h projects/release-pkg/sys/dev/sfxge/common/efx_intr.c projects/release-pkg/sys/dev/sfxge/common/efx_mac.c projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.c projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.h projects/release-pkg/sys/dev/sfxge/common/efx_regs_mcdi.h projects/release-pkg/sys/dev/sfxge/common/efx_rx.c projects/release-pkg/sys/dev/sfxge/common/hunt_ev.c projects/release-pkg/sys/dev/sfxge/common/hunt_filter.c projects/release-pkg/sys/dev/sfxge/common/hunt_impl.h projects/release-pkg/sys/dev/sfxge/common/hunt_intr.c projects/release-pkg/sys/dev/sfxge/common/hunt_mac.c projects/release-pkg/sys/dev/sfxge/common/hunt_mcdi.c projects/release-pkg/sys/dev/sfxge/common/hunt_nvram.c projects/release-pkg/sys/dev/sfxge/common/hunt_rx.c projects/release-pkg/sys/dev/sfxge/common/mcdi_mon.c projects/release-pkg/sys/dev/sfxge/common/siena_flash.h projects/release-pkg/sys/dev/sfxge/common/siena_impl.h projects/release-pkg/sys/dev/sfxge/common/siena_mcdi.c projects/release-pkg/sys/dev/sfxge/common/siena_nvram.c projects/release-pkg/sys/dev/sfxge/common/siena_vpd.c projects/release-pkg/sys/dev/uart/uart_bus.h projects/release-pkg/sys/dev/uart/uart_core.c projects/release-pkg/sys/dev/uart/uart_dev_ns8250.c projects/release-pkg/usr.sbin/ypldap/yp.c projects/release-pkg/usr.sbin/ypldap/ypldap.conf.5 Directory Properties: projects/release-pkg/ (props changed) projects/release-pkg/lib/libc/ (props changed) projects/release-pkg/share/ (props changed) projects/release-pkg/share/man/man4/ (props changed) projects/release-pkg/sys/ (props changed) projects/release-pkg/sys/boot/ (props changed) Modified: projects/release-pkg/UPDATING ============================================================================== --- projects/release-pkg/UPDATING Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/UPDATING Wed Jan 13 04:11:04 2016 (r293803) @@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160113: + With the addition of ypldap(8), a new _ypldap user is now required + during installworld. "mergemaster -p" can be used to add the user + prior to installworld, as documented in the handbook. + 20151216: The tftp loader (pxeboot) now uses the option root-path directive. As a consequence it no longer looks for a pxeboot.4th file on the tftp Modified: projects/release-pkg/etc/master.passwd ============================================================================== --- projects/release-pkg/etc/master.passwd Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/etc/master.passwd Wed Jan 13 04:11:04 2016 (r293803) @@ -22,5 +22,6 @@ uucp:*:66:66::0:0:UUCP pseudo-user:/var/ pop:*:68:6::0:0:Post Office Owner:/nonexistent:/usr/sbin/nologin auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin +_ypldap:*:93:93::0:0:YP Ldap unprivileged user:/var/empty:/usr/sbin/nologin hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin Modified: projects/release-pkg/lib/libc/sys/futimens.c ============================================================================== --- projects/release-pkg/lib/libc/sys/futimens.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/lib/libc/sys/futimens.c Wed Jan 13 04:11:04 2016 (r293803) @@ -42,8 +42,11 @@ futimens(int fd, const struct timespec t { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_futimens(fd, times)); if (times == NULL || (times[0].tv_nsec == UTIME_NOW && Modified: projects/release-pkg/lib/libc/sys/utimensat.2 ============================================================================== --- projects/release-pkg/lib/libc/sys/utimensat.2 Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/lib/libc/sys/utimensat.2 Wed Jan 13 04:11:04 2016 (r293803) @@ -31,7 +31,7 @@ .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 23, 2015 +.Dd January 12, 2016 .Dt UTIMENSAT 2 .Os .Sh NAME @@ -289,4 +289,4 @@ The and .Fn utimensat system calls appeared in -.Fx 11.0 . +.Fx 10.3 . Modified: projects/release-pkg/lib/libc/sys/utimensat.c ============================================================================== --- projects/release-pkg/lib/libc/sys/utimensat.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/lib/libc/sys/utimensat.c Wed Jan 13 04:11:04 2016 (r293803) @@ -42,8 +42,11 @@ utimensat(int fd, const char *path, cons { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_utimensat(fd, path, times, flag)); if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0) { Modified: projects/release-pkg/share/man/man4/uart.4 ============================================================================== --- projects/release-pkg/share/man/man4/uart.4 Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/share/man/man4/uart.4 Wed Jan 13 04:11:04 2016 (r293803) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 10, 2015 +.Dd December 9, 2015 .Dt UART 4 .Os .Sh NAME @@ -160,7 +160,9 @@ The API, accessed via is available on the tty device. To use the PPS capture feature with .Xr ntpd 8 , -symlink the tty device to +symlink the tty callout device +.Va /dev/cuau? +to .Va /dev/pps0. .Pp The @@ -175,15 +177,54 @@ it can be set in .Xr loader.conf 5 or .Xr sysctl.conf 5 . +.Pp The following capture modes are available: .Bl -tag -compact -offset "mmmm" -width "mmmm" -.It 0 +.It 0x00 Capture disabled. -.It 1 +.It 0x01 Capture pulses on the CTS line. -.It 2 -Capture pulses on the DCD line (default). +.It 0x02 +Capture pulses on the DCD line. .El +.Pp +The following values may be ORed with the capture mode to configure +capture processing options: +.Bl -tag -compact -offset "mmmm" -width "mmmm" +.It 0x10 +Invert the pulse (RS-232 logic low = ASSERT, high = CLEAR). +.It 0x20 +Attempt to capture narrow pulses. +.El +.Pp +Add the narrow pulse option when the incoming PPS pulse width is small +enough to prevent reliable capture in normal mode. +In narrow mode the driver uses the hardware's ability to latch a line +state change; not all hardware has this capability. +The hardware latch provides a reliable indication that a pulse occurred, +but prevents distinguishing between the CLEAR and ASSERT edges of the pulse. +For each detected pulse, the driver synthesizes both an ASSERT and a CLEAR +event, using the same timestamp for each. +To prevent spurious events when the hardware is intermittently able to +see both edges of a pulse, the driver will not generate a new pair of +events within a half second of the prior pair. +Both normal and narrow pulse modes work with +.Xr ntpd 8 . +.Pp +Add the invert option when the connection to the uart device uses TTL +level signals, or when the PPS source emits inverted pulses. +RFC 2783 defines an ASSERT event as a higher-voltage line level, and a CLEAR +event as a lower-voltage line level, in the context of the RS-232 protocol. +The modem control signals on a TTL-level connection are typically +inverted from the RS-232 levels. +For example, carrier presence is indicated by a high signal on an RS-232 +DCD line, and by a low signal on a TTL DCD line. +This is due to the use of inverting line driver buffers to convert between +TTL and RS-232 line levels in most hardware designs. +Generally speaking, a connection to a DB-9 style connector is an RS-232 +level signal at up to 12 volts. +A connection to header pins or an edge-connector on an embedded board +is typically a TTL signal at 3.3 or 5 volts. .Sh FILES .Bl -tag -width ".Pa /dev/ttyu?.init" -compact .It Pa /dev/ttyu? Modified: projects/release-pkg/sys/arm/arm/pmap-v6-new.c ============================================================================== --- projects/release-pkg/sys/arm/arm/pmap-v6-new.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/arm/arm/pmap-v6-new.c Wed Jan 13 04:11:04 2016 (r293803) @@ -1109,7 +1109,7 @@ pmap_bootstrap(vm_offset_t firstaddr) * mapping of pages. */ #define SYSMAP(c, p, v, n) do { \ - v = (c)pmap_preboot_reserve_pages(1); \ + v = (c)pmap_preboot_reserve_pages(n); \ p = pt2map_entry((vm_offset_t)v); \ } while (0) Modified: projects/release-pkg/sys/boot/efi/libefi/libefi.c ============================================================================== --- projects/release-pkg/sys/boot/efi/libefi/libefi.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/boot/efi/libefi/libefi.c Wed Jan 13 04:11:04 2016 (r293803) @@ -179,7 +179,7 @@ efi_main(EFI_HANDLE image_handle, EFI_SY argv = malloc((argc + 1) * sizeof(CHAR16*)); argc = 0; if (addprog) - argv[argc++] = (CHAR16 *)"loader.efi"; + argv[argc++] = (CHAR16 *)L"loader.efi"; argp = args; while (argp != NULL && *argp != 0) { argp = arg_skipsep(argp); Modified: projects/release-pkg/sys/boot/uboot/lib/copy.c ============================================================================== --- projects/release-pkg/sys/boot/uboot/lib/copy.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/boot/uboot/lib/copy.c Wed Jan 13 04:11:04 2016 (r293803) @@ -100,7 +100,7 @@ uboot_loadaddr(u_int type, void *data, u biggest_block = 0; biggest_size = 0; - subldr = rounddown2((uint64_t)(uintptr_t)_start, KERN_ALIGN); + subldr = rounddown2((uintptr_t)_start, KERN_ALIGN); eubldr = roundup2((uint64_t)uboot_heap_end, KERN_ALIGN); for (i = 0; i < si->mr_no; i++) { if (si->mr[i].flags != MR_ATTR_DRAM) Modified: projects/release-pkg/sys/dev/sfxge/common/efx.h ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx.h Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx.h Wed Jan 13 04:11:04 2016 (r293803) @@ -505,13 +505,6 @@ efx_mac_fcntl_get( __out unsigned int *fcntl_wantedp, __out unsigned int *fcntl_linkp); -#define EFX_MAC_HASH_BITS (1 << 8) - -extern __checkReturn efx_rc_t -efx_mac_hash_set( - __in efx_nic_t *enp, - __in_ecount(EFX_MAC_HASH_BITS) unsigned int const *bucket); - #if EFSYS_OPT_MAC_STATS @@ -1923,8 +1916,6 @@ efx_psuedo_hdr_pkt_length_get( typedef enum efx_rxq_type_e { EFX_RXQ_TYPE_DEFAULT, - EFX_RXQ_TYPE_SPLIT_HEADER, - EFX_RXQ_TYPE_SPLIT_PAYLOAD, EFX_RXQ_TYPE_SCATTER, EFX_RXQ_NTYPES } efx_rxq_type_t; Modified: projects/release-pkg/sys/dev/sfxge/common/efx_check.h ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_check.h Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_check.h Wed Jan 13 04:11:04 2016 (r293803) @@ -61,9 +61,6 @@ /* Decode fatal errors */ #if EFSYS_OPT_DECODE_INTR_FATAL # if !(EFSYS_OPT_FALCON || EFSYS_OPT_SIENA) -# if (EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) -# error "INTR_FATAL not supported on HUNTINGTON or MEDFORD" -# endif # error "INTR_FATAL requires FALCON or SIENA" # endif #endif /* EFSYS_OPT_DECODE_INTR_FATAL */ @@ -138,9 +135,6 @@ /* Support management controller messages */ #if EFSYS_OPT_MCDI # if !(EFSYS_OPT_SIENA || EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD) -# if EFSYS_OPT_FALCON -# error "MCDI not supported on FALCON" -# endif # error "MCDI requires SIENA or HUNTINGTON or MEDFORD" # endif #endif /* EFSYS_OPT_MCDI */ @@ -186,14 +180,14 @@ # endif #endif /* EFSYS_OPT_MON_NULL */ -/* Support Siena monitor */ +/* Obsolete option */ #ifdef EFSYS_OPT_MON_SIENA -# error "MON_SIENA is obsolete use MON_MCDI" +# error "MON_SIENA is obsolete (replaced by MON_MCDI)." #endif /* EFSYS_OPT_MON_SIENA*/ -/* Support Huntington monitor */ +/* Obsolete option */ #ifdef EFSYS_OPT_MON_HUNTINGTON -# error "MON_HUNTINGTON is obsolete use MON_MCDI" +# error "MON_HUNTINGTON is obsolete (replaced by MON_MCDI)." #endif /* EFSYS_OPT_MON_HUNTINGTON*/ /* Support monitor statistics (voltage/temperature) */ @@ -265,9 +259,9 @@ # endif #endif /* EFSYS_OPT_PCIE_TUNE */ -/* Support PHY BIST diagnostics */ +/* Obsolete option */ #if EFSYS_OPT_PHY_BIST -# error "PHY_BIST is obsolete. It has been replaced by the BIST option." +# error "PHY_BIST is obsolete (replaced by BIST)." #endif /* EFSYS_OPT_PHY_BIST */ /* Support PHY flags */ @@ -379,7 +373,7 @@ /* Obsolete option */ #ifdef EFSYS_OPT_STAT_NAME -# error "EFSYS_OPT_STAT_NAME is obsolete (replaced by EFSYS_OPT_NAMES)." +# error "STAT_NAME is obsolete (replaced by NAMES)." #endif /* Support PCI Vital Product Data (VPD) */ @@ -399,7 +393,7 @@ /* Obsolete option */ #ifdef EFSYS_OPT_MCAST_FILTER_LIST -# error "MCAST_FILTER_LIST is obsolete and not supported" +# error "MCAST_FILTER_LIST is obsolete and is not supported" #endif /* EFSYS_OPT_MCAST_FILTER_LIST */ /* Support BIST */ Modified: projects/release-pkg/sys/dev/sfxge/common/efx_filter.c ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_filter.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_filter.c Wed Jan 13 04:11:04 2016 (r293803) @@ -97,17 +97,17 @@ static efx_filter_ops_t __efx_filter_sie }; #endif /* EFSYS_OPT_SIENA */ -#if EFSYS_OPT_HUNTINGTON -static efx_filter_ops_t __efx_filter_hunt_ops = { - hunt_filter_init, /* efo_init */ - hunt_filter_fini, /* efo_fini */ - hunt_filter_restore, /* efo_restore */ - hunt_filter_add, /* efo_add */ - hunt_filter_delete, /* efo_delete */ - hunt_filter_supported_filters, /* efo_supported_filters */ - hunt_filter_reconfigure, /* efo_reconfigure */ +#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD +static efx_filter_ops_t __efx_filter_ef10_ops = { + ef10_filter_init, /* efo_init */ + ef10_filter_fini, /* efo_fini */ + ef10_filter_restore, /* efo_restore */ + ef10_filter_add, /* efo_add */ + ef10_filter_delete, /* efo_delete */ + ef10_filter_supported_filters, /* efo_supported_filters */ + ef10_filter_reconfigure, /* efo_reconfigure */ }; -#endif /* EFSYS_OPT_HUNTINGTON */ +#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */ __checkReturn efx_rc_t efx_filter_insert( @@ -189,10 +189,16 @@ efx_filter_init( #if EFSYS_OPT_HUNTINGTON case EFX_FAMILY_HUNTINGTON: - efop = (efx_filter_ops_t *)&__efx_filter_hunt_ops; + efop = (efx_filter_ops_t *)&__efx_filter_ef10_ops; break; #endif /* EFSYS_OPT_HUNTINGTON */ +#if EFSYS_OPT_MEDFORD + case EFX_FAMILY_MEDFORD: + efop = (efx_filter_ops_t *)&__efx_filter_ef10_ops; + break; +#endif /* EFSYS_OPT_MEDFORD */ + default: EFSYS_ASSERT(0); rc = ENOTSUP; Modified: projects/release-pkg/sys/dev/sfxge/common/efx_impl.h ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_impl.h Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_impl.h Wed Jan 13 04:11:04 2016 (r293803) @@ -342,6 +342,10 @@ typedef struct efx_intr_ops_s { void (*eio_disable)(efx_nic_t *); void (*eio_disable_unlocked)(efx_nic_t *); efx_rc_t (*eio_trigger)(efx_nic_t *, unsigned int); + void (*eio_status_line)(efx_nic_t *, boolean_t *, uint32_t *); + void (*eio_status_message)(efx_nic_t *, unsigned int, + boolean_t *); + void (*eio_fatal)(efx_nic_t *); void (*eio_fini)(efx_nic_t *); } efx_intr_ops_t; @@ -436,9 +440,9 @@ typedef struct efx_filter_s { #if EFSYS_OPT_FALCON || EFSYS_OPT_SIENA falconsiena_filter_t *ef_falconsiena_filter; #endif /* EFSYS_OPT_FALCON || EFSYS_OPT_SIENA */ -#if EFSYS_OPT_HUNTINGTON - hunt_filter_table_t *ef_hunt_filter_table; -#endif /* EFSYS_OPT_HUNTINGTON */ +#if EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD + ef10_filter_table_t *ef_ef10_filter_table; +#endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */ } efx_filter_t; extern void Modified: projects/release-pkg/sys/dev/sfxge/common/efx_intr.c ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_intr.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_intr.c Wed Jan 13 04:11:04 2016 (r293803) @@ -67,15 +67,27 @@ static void falconsiena_intr_fini( __in efx_nic_t *enp); +static void +falconsiena_intr_status_line( + __in efx_nic_t *enp, + __out boolean_t *fatalp, + __out uint32_t *qmaskp); -static __checkReturn boolean_t -falconsiena_intr_check_fatal( - __in efx_nic_t *enp); +static void +falconsiena_intr_status_message( + __in efx_nic_t *enp, + __in unsigned int message, + __out boolean_t *fatalp); static void falconsiena_intr_fatal( __in efx_nic_t *enp); +static __checkReturn boolean_t +falconsiena_intr_check_fatal( + __in efx_nic_t *enp); + + #endif /* EFSYS_OPT_FALCON || EFSYS_OPT_SIENA */ @@ -86,6 +98,9 @@ static efx_intr_ops_t __efx_intr_falcon_ falconsiena_intr_disable, /* eio_disable */ falconsiena_intr_disable_unlocked, /* eio_disable_unlocked */ falconsiena_intr_trigger, /* eio_trigger */ + falconsiena_intr_status_line, /* eio_status_line */ + falconsiena_intr_status_message, /* eio_status_message */ + falconsiena_intr_fatal, /* eio_fatal */ falconsiena_intr_fini, /* eio_fini */ }; #endif /* EFSYS_OPT_FALCON */ @@ -97,6 +112,9 @@ static efx_intr_ops_t __efx_intr_siena_o falconsiena_intr_disable, /* eio_disable */ falconsiena_intr_disable_unlocked, /* eio_disable_unlocked */ falconsiena_intr_trigger, /* eio_trigger */ + falconsiena_intr_status_line, /* eio_status_line */ + falconsiena_intr_status_message, /* eio_status_message */ + falconsiena_intr_fatal, /* eio_fatal */ falconsiena_intr_fini, /* eio_fini */ }; #endif /* EFSYS_OPT_SIENA */ @@ -108,6 +126,9 @@ static efx_intr_ops_t __efx_intr_ef10_op ef10_intr_disable, /* eio_disable */ ef10_intr_disable_unlocked, /* eio_disable_unlocked */ ef10_intr_trigger, /* eio_trigger */ + ef10_intr_status_line, /* eio_status_line */ + ef10_intr_status_message, /* eio_status_message */ + ef10_intr_fatal, /* eio_fatal */ ef10_intr_fini, /* eio_fini */ }; #endif /* EFSYS_OPT_HUNTINGTON || EFSYS_OPT_MEDFORD */ @@ -261,35 +282,12 @@ efx_intr_status_line( __out uint32_t *qmaskp) { efx_intr_t *eip = &(enp->en_intr); - efx_dword_t dword; + efx_intr_ops_t *eiop = eip->ei_eiop; EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_INTR); - /* Ensure Huntington and Falcon/Siena ISR at same location */ - EFX_STATIC_ASSERT(FR_BZ_INT_ISR0_REG_OFST == - ER_DZ_BIU_INT_ISR_REG_OFST); - - /* - * Read the queue mask and implicitly acknowledge the - * interrupt. - */ - EFX_BAR_READD(enp, FR_BZ_INT_ISR0_REG, &dword, B_FALSE); - *qmaskp = EFX_DWORD_FIELD(dword, EFX_DWORD_0); - - EFSYS_PROBE1(qmask, uint32_t, *qmaskp); - -#if EFSYS_OPT_HUNTINGTON - if (enp->en_family == EFX_FAMILY_HUNTINGTON) { - /* Huntington reports fatal errors via events */ - *fatalp = B_FALSE; - return; - } -#endif - if (*qmaskp & (1U << eip->ei_level)) - *fatalp = falconsiena_intr_check_fatal(enp); - else - *fatalp = B_FALSE; + eiop->eio_status_line(enp, fatalp, qmaskp); } void @@ -299,39 +297,25 @@ efx_intr_status_message( __out boolean_t *fatalp) { efx_intr_t *eip = &(enp->en_intr); + efx_intr_ops_t *eiop = eip->ei_eiop; EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_INTR); -#if EFSYS_OPT_HUNTINGTON - if (enp->en_family == EFX_FAMILY_HUNTINGTON) { - /* Huntington reports fatal errors via events */ - *fatalp = B_FALSE; - return; - } -#endif - if (message == eip->ei_level) - *fatalp = falconsiena_intr_check_fatal(enp); - else - *fatalp = B_FALSE; + eiop->eio_status_message(enp, message, fatalp); } void efx_intr_fatal( __in efx_nic_t *enp) { + efx_intr_t *eip = &(enp->en_intr); + efx_intr_ops_t *eiop = eip->ei_eiop; + EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_INTR); -#if EFSYS_OPT_HUNTINGTON - if (enp->en_family == EFX_FAMILY_HUNTINGTON) { - /* Huntington reports fatal errors via events */ - return; - } -#endif -#if EFSYS_OPT_FALCON || EFSYS_OPT_SIENA - falconsiena_intr_fatal(enp); -#endif + eiop->eio_fatal(enp); } @@ -514,6 +498,51 @@ falconsiena_intr_check_fatal( return (B_FALSE); } +static void +falconsiena_intr_status_line( + __in efx_nic_t *enp, + __out boolean_t *fatalp, + __out uint32_t *qmaskp) +{ + efx_intr_t *eip = &(enp->en_intr); + efx_dword_t dword; + + EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); + EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_INTR); + + /* + * Read the queue mask and implicitly acknowledge the + * interrupt. + */ + EFX_BAR_READD(enp, FR_BZ_INT_ISR0_REG, &dword, B_FALSE); + *qmaskp = EFX_DWORD_FIELD(dword, EFX_DWORD_0); + + EFSYS_PROBE1(qmask, uint32_t, *qmaskp); + + if (*qmaskp & (1U << eip->ei_level)) + *fatalp = falconsiena_intr_check_fatal(enp); + else + *fatalp = B_FALSE; +} + +static void +falconsiena_intr_status_message( + __in efx_nic_t *enp, + __in unsigned int message, + __out boolean_t *fatalp) +{ + efx_intr_t *eip = &(enp->en_intr); + + EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); + EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_INTR); + + if (message == eip->ei_level) + *fatalp = falconsiena_intr_check_fatal(enp); + else + *fatalp = B_FALSE; +} + + static void falconsiena_intr_fatal( __in efx_nic_t *enp) Modified: projects/release-pkg/sys/dev/sfxge/common/efx_mac.c ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_mac.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_mac.c Wed Jan 13 04:11:04 2016 (r293803) @@ -462,55 +462,6 @@ efx_mac_fcntl_get( *fcntl_wantedp = wanted; } -/* - * FIXME: efx_mac_hash_set() should be deleted once all its callers have been - * updated to use efx_mac_multicast_list_set(). - * Then efx_port_t.ep_multicst_hash could be made Falcon/Siena specific as - * well. - */ - __checkReturn efx_rc_t -efx_mac_hash_set( - __in efx_nic_t *enp, - __in_ecount(EFX_MAC_HASH_BITS) unsigned int const *bucket) -{ - efx_port_t *epp = &(enp->en_port); - efx_mac_ops_t *emop = epp->ep_emop; - efx_oword_t old_hash[2]; - unsigned int index; - efx_rc_t rc; - - EFSYS_ASSERT3U(enp->en_magic, ==, EFX_NIC_MAGIC); - EFSYS_ASSERT3U(enp->en_mod_flags, &, EFX_MOD_PORT); - - memcpy(old_hash, epp->ep_multicst_hash, sizeof (old_hash)); - - /* Set the lower 128 bits of the hash */ - EFX_ZERO_OWORD(epp->ep_multicst_hash[0]); - for (index = 0; index < 128; index++) { - if (bucket[index] != 0) - EFX_SET_OWORD_BIT(epp->ep_multicst_hash[0], index); - } - - /* Set the upper 128 bits of the hash */ - EFX_ZERO_OWORD(epp->ep_multicst_hash[1]); - for (index = 0; index < 128; index++) { - if (bucket[index + 128] != 0) - EFX_SET_OWORD_BIT(epp->ep_multicst_hash[1], index); - } - - if ((rc = emop->emo_reconfigure(enp)) != 0) - goto fail1; - - return (0); - -fail1: - EFSYS_PROBE1(fail1, efx_rc_t, rc); - - memcpy(epp->ep_multicst_hash, old_hash, sizeof (old_hash)); - - return (rc); -} - __checkReturn efx_rc_t efx_mac_multicast_list_set( __in efx_nic_t *enp, @@ -912,6 +863,8 @@ fail1: #if EFSYS_OPT_FALCON || EFSYS_OPT_SIENA +#define EFX_MAC_HASH_BITS (1 << 8) + /* Compute the multicast hash as used on Falcon and Siena. */ static void falconsiena_mac_multicast_hash_compute( Modified: projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.c ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.c Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.c Wed Jan 13 04:11:04 2016 (r293803) @@ -643,7 +643,6 @@ efx_mcdi_ev_cpl( efx_mcdi_iface_t *emip = &(enp->en_mcdi.em_emip); const efx_mcdi_transport_t *emtp = enp->en_mcdi.em_emtp; efx_mcdi_ops_t *emcop = enp->en_mcdi.em_emcop; - efx_nic_cfg_t *encp = &enp->en_nic_cfg; efx_mcdi_req_t *emrp; int state; @@ -668,7 +667,7 @@ efx_mcdi_ev_cpl( emip->emi_pending_req = NULL; EFSYS_UNLOCK(enp->en_eslp, state); - if (encp->enc_mcdi_max_payload_length > MCDI_CTL_SDU_LEN_MAX_V1) { + if (emip->emi_max_version >= 2) { /* MCDIv2 response details do not fit into an event. */ efx_mcdi_read_response_header(enp, emrp); } else { Modified: projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.h ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.h Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.h Wed Jan 13 04:11:04 2016 (r293803) @@ -69,6 +69,7 @@ struct efx_mcdi_req_s { typedef struct efx_mcdi_iface_s { unsigned int emi_port; + unsigned int emi_max_version; unsigned int emi_seq; efx_mcdi_req_t *emi_pending_req; boolean_t emi_ev_cpl; Modified: projects/release-pkg/sys/dev/sfxge/common/efx_regs_mcdi.h ============================================================================== --- projects/release-pkg/sys/dev/sfxge/common/efx_regs_mcdi.h Wed Jan 13 01:50:02 2016 (r293802) +++ projects/release-pkg/sys/dev/sfxge/common/efx_regs_mcdi.h Wed Jan 13 04:11:04 2016 (r293803) @@ -299,6 +299,9 @@ * have already installed filters. See the comment at * MC_CMD_WORKAROUND_BUG26807. */ #define MC_CMD_ERR_FILTERS_PRESENT 0x1014 +/* The clock whose frequency you've attempted to set set + * doesn't exist on this NIC */ +#define MC_CMD_ERR_NO_CLOCK 0x1015 #define MC_CMD_ERR_CODE_OFST 0 @@ -318,9 +321,11 @@ /* Point to the copycode entry point. */ #define SIENA_MC_BOOTROM_COPYCODE_VEC (0x800 - 3 * 0x4) #define HUNT_MC_BOOTROM_COPYCODE_VEC (0x8000 - 3 * 0x4) +#define MEDFORD_MC_BOOTROM_COPYCODE_VEC (0x10000 - 3 * 0x4) /* Points to the recovery mode entry point. */ #define SIENA_MC_BOOTROM_NOFLASH_VEC (0x800 - 2 * 0x4) #define HUNT_MC_BOOTROM_NOFLASH_VEC (0x8000 - 2 * 0x4) +#define MEDFORD_MC_BOOTROM_NOFLASH_VEC (0x10000 - 2 * 0x4) /* The command set exported by the boot ROM (MCDI v0) */ #define MC_CMD_GET_VERSION_V0_SUPPORTED_FUNCS { \ @@ -1456,9 +1461,11 @@ #define MC_CMD_FC_IN_DDR_TEST_START_B1_WIDTH 1 /* MC_CMD_FC_IN_DDR_TEST_POLL msgrequest */ -#define MC_CMD_FC_IN_DDR_TEST_POLL_LEN 8 +#define MC_CMD_FC_IN_DDR_TEST_POLL_LEN 12 #define MC_CMD_FC_IN_DDR_TEST_CMD_OFST 0 /* MC_CMD_FC_IN_DDR_TEST_HEADER_OFST 4 */ +/* Clear previous test result and prepare for restarting DDR test */ +#define MC_CMD_FC_IN_DDR_TEST_POLL_CLEAR_RESULT_FOR_DDR_TEST_OFST 8 /* MC_CMD_FC_IN_GET_ASSERT msgrequest */ #define MC_CMD_FC_IN_GET_ASSERT_LEN 4 @@ -1475,6 +1482,10 @@ #define MC_CMD_FC_IN_FPGA_BUILD_SERVICES 0x2 /* enum: Get the BSP version */ #define MC_CMD_FC_IN_FPGA_BUILD_BSP_VERSION 0x3 +/* enum: Get build register for V2 (SFA974X) */ +#define MC_CMD_FC_IN_FPGA_BUILD_BUILD_V2 0x4 +/* enum: GEt the services register for V2 (SFA974X) */ +#define MC_CMD_FC_IN_FPGA_BUILD_SERVICES_V2 0x5 /* MC_CMD_FC_IN_READ_MAP msgrequest */ #define MC_CMD_FC_IN_READ_MAP_LEN 8 @@ -1832,6 +1843,7 @@ #define MC_CMD_FC_IN_DDR_OP_OFST 4 #define MC_CMD_FC_IN_DDR_SET_SPD 0x0 /* enum */ #define MC_CMD_FC_IN_DDR_GET_STATUS 0x1 /* enum */ +#define MC_CMD_FC_IN_DDR_SET_INFO 0x2 /* enum */ #define MC_CMD_FC_IN_DDR_BANK_OFST 8 #define MC_CMD_FC_IN_DDR_BANK_B0 0x0 /* enum */ #define MC_CMD_FC_IN_DDR_BANK_B1 0x1 /* enum */ @@ -1855,6 +1867,15 @@ /* Page index of the spd data copied into MC_CMD_FC_IN_DDR_SPD */ #define MC_CMD_FC_IN_DDR_SPD_PAGE_ID_OFST 144 +/* MC_CMD_FC_IN_DDR_SET_INFO msgrequest */ +#define MC_CMD_FC_IN_DDR_SET_INFO_LEN 16 +/* MC_CMD_FC_IN_CMD_OFST 0 */ +/* MC_CMD_FC_IN_DDR_OP_OFST 4 */ +/* Affected bank */ +/* MC_CMD_FC_IN_DDR_BANK_OFST 8 */ +/* Size of DDR */ +#define MC_CMD_FC_IN_DDR_SIZE_OFST 12 + /* MC_CMD_FC_IN_DDR_GET_STATUS msgrequest */ #define MC_CMD_FC_IN_DDR_GET_STATUS_LEN 12 /* MC_CMD_FC_IN_CMD_OFST 0 */ @@ -2387,6 +2408,116 @@ #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_LBN 0 #define MC_CMD_FC_OUT_FPGA_BUILD_REVISION_HIGH_WIDTH 16 +/* MC_CMD_FC_OUT_FPGA_BUILD_V2 msgresponse */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_LEN 32 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_INFO_OFST 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_LBN 31 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_APPLICATION_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_LBN 30 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IS_LICENSED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_LBN 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_COMPONENT_ID_WIDTH 14 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_LBN 12 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MAJOR_WIDTH 4 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_LBN 4 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_MINOR_WIDTH 8 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_LBN 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_NUM_WIDTH 4 +/* Build timestamp (seconds since epoch) */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_TIMESTAMP_OFST 4 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_PARAMETERS_OFST 8 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_LBN 31 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_PMA_PASSTHROUGH_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_LBN 29 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_QDR_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_LBN 28 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_QDR_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_LBN 27 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DDR3_ECC_ENABLED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_LBN 26 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_DDR3_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_LBN 25 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_DDR3_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_LBN 24 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_TO_DDR3_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_LBN 23 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_T0_DDR3_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_LBN 22 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE2_RLDRAM_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_LBN 21 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DISCRETE1_RLDRAM_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_LBN 20 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM2_RLDRAM_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_LBN 19 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SODIMM1_RLDRAM_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_LBN 18 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_10G 0x0 /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_3_SPEED_40G 0x1 /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_LBN 17 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_10G 0x0 /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_7_SPEED_40G 0x1 /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_LBN 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_10G 0x0 /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_3_SPEED_40G 0x1 /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_LBN 15 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP7_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_LBN 14 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP6_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_LBN 13 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP5_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_LBN 12 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP4_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_LBN 11 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP3_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_LBN 10 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP2_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_LBN 9 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP1_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_LBN 8 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_SFP0_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_LBN 7 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC3_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_LBN 6 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC2_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_LBN 5 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC1_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_LBN 4 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_NIC0_DEF_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_LBN 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_FPGA_TYPE_WIDTH 4 +#define MC_CMD_FC_FPGA_V2_TYPE_A3 0x0 /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_A4 0x1 /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_A5 0x2 /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_A7 0x3 /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_D3 0x8 /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_D4 0x9 /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_D5 0xa /* enum */ +#define MC_CMD_FC_FPGA_V2_TYPE_D7 0xb /* enum */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_IDENTIFIER_OFST 12 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_LBN 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_CHANGESET_WIDTH 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_LBN 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_BUILD_FLAG_WIDTH 1 +/* MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */ +/* MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */ +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_HI_OFST 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_LBN 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MINOR_WIDTH 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_LBN 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MAJOR_WIDTH 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_VERSION_LO_OFST 20 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_LBN 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_BUILD_WIDTH 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_LBN 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_DEPLOYMENT_VERSION_MICRO_WIDTH 16 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_LO_OFST 24 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HI_OFST 28 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_LBN 0 +#define MC_CMD_FC_OUT_FPGA_BUILD_V2_REVISION_HIGH_WIDTH 16 + /* MC_CMD_FC_OUT_FPGA_SERVICES msgresponse */ #define MC_CMD_FC_OUT_FPGA_SERVICES_LEN 32 #define MC_CMD_FC_OUT_FPGA_SERVICES_COMPONENT_INFO_OFST 0 @@ -2437,6 +2568,40 @@ #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_LBN 0 #define MC_CMD_FC_OUT_FPGA_SERVICES_REVISION_HIGH_WIDTH 16 +/* MC_CMD_FC_OUT_FPGA_SERVICES_V2 msgresponse */ +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_LEN 32 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_INFO_OFST 0 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_LBN 31 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_APPLICATION_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_LBN 30 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IS_LICENSED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_LBN 16 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_COMPONENT_ID_WIDTH 14 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_LBN 12 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MAJOR_WIDTH 4 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_LBN 4 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_VERSION_MINOR_WIDTH 8 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_LBN 0 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_NUM_WIDTH 4 +/* Build timestamp (seconds since epoch) */ +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_TIMESTAMP_OFST 4 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PARAMETERS_OFST 8 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_LBN 0 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_PTP_ENABLED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_LBN 8 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_FC_FLASH_BOOTED_WIDTH 1 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_IDENTIFIER_OFST 12 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_LBN 0 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_CHANGESET_WIDTH 16 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_LBN 16 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_BUILD_FLAG_WIDTH 1 +/* MC_CMD_FC_FPGA_BUILD_FLAG_INTERNAL 0x0 */ +/* MC_CMD_FC_FPGA_BUILD_FLAG_RELEASE 0x1 */ +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_LO_OFST 24 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HI_OFST 28 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_LBN 0 +#define MC_CMD_FC_OUT_FPGA_SERVICES_V2_REVISION_HIGH_WIDTH 16 + /* MC_CMD_FC_OUT_BSP_VERSION msgresponse */ #define MC_CMD_FC_OUT_BSP_VERSION_LEN 4 /* Qsys system ID */ @@ -2718,6 +2883,9 @@ /* MC_CMD_FC_OUT_DDR_SET_SPD msgresponse */ #define MC_CMD_FC_OUT_DDR_SET_SPD_LEN 0 +/* MC_CMD_FC_OUT_DDR_SET_INFO msgresponse */ +#define MC_CMD_FC_OUT_DDR_SET_INFO_LEN 0 + /* MC_CMD_FC_OUT_DDR_GET_STATUS msgresponse */ #define MC_CMD_FC_OUT_DDR_GET_STATUS_LEN 4 #define MC_CMD_FC_OUT_DDR_GET_STATUS_FLAGS_OFST 0 @@ -3131,6 +3299,8 @@ #define MC_CMD_AOE_OUT_INFO_FPGA_VERSION_OFST 12 /* FPGA type - read from CPLD straps */ #define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_OFST 16 +#define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A5_C2 0x1 /* enum */ +#define MC_CMD_AOE_OUT_INFO_FPGA_TYPE_A7_C2 0x2 /* enum */ /* FPGA state (debug) */ #define MC_CMD_AOE_OUT_INFO_FPGA_STATE_OFST 20 /* FPGA image - partition from which loaded */ @@ -3144,23 +3314,28 @@ /* Random pieces of information */ #define MC_CMD_AOE_OUT_INFO_FLAGS_OFST 32 /* enum: Power to FPGA supplied by PEG connector, not PCIe bus */ -#define MC_CMD_AOE_OUT_INFO_PEG_POWER 0x1 +#define MC_CMD_AOE_OUT_INFO_PEG_POWER 0x1 /* enum: CPLD apparently good */ -#define MC_CMD_AOE_OUT_INFO_CPLD_GOOD 0x2 +#define MC_CMD_AOE_OUT_INFO_CPLD_GOOD 0x2 /* enum: FPGA working normally */ -#define MC_CMD_AOE_OUT_INFO_FPGA_GOOD 0x4 +#define MC_CMD_AOE_OUT_INFO_FPGA_GOOD 0x4 /* enum: FPGA is powered */ -#define MC_CMD_AOE_OUT_INFO_FPGA_POWER 0x8 +#define MC_CMD_AOE_OUT_INFO_FPGA_POWER 0x8 /* enum: Board has incompatible SODIMMs fitted */ -#define MC_CMD_AOE_OUT_INFO_BAD_SODIMM 0x10 +#define MC_CMD_AOE_OUT_INFO_BAD_SODIMM 0x10 /* enum: Board has ByteBlaster connected */ -#define MC_CMD_AOE_OUT_INFO_HAS_BYTEBLASTER 0x20 -/* Revision of Modena board */ +#define MC_CMD_AOE_OUT_INFO_HAS_BYTEBLASTER 0x20 +/* enum: FPGA Boot flash has an invalid header. */ +#define MC_CMD_AOE_OUT_INFO_FPGA_BAD_BOOT_HDR 0x40 +/* enum: FPGA Application flash is accessible. */ +#define MC_CMD_AOE_OUT_INFO_FPGA_APP_FLASH_GOOD 0x80 +/* Revision of Modena and Sorrento boards. Sorrento can be R1_2 or R1_3. */ #define MC_CMD_AOE_OUT_INFO_BOARD_REVISION_OFST 36 #define MC_CMD_AOE_OUT_INFO_UNKNOWN 0x0 /* enum */ #define MC_CMD_AOE_OUT_INFO_R1_0 0x10 /* enum */ #define MC_CMD_AOE_OUT_INFO_R1_1 0x11 /* enum */ #define MC_CMD_AOE_OUT_INFO_R1_2 0x12 /* enum */ +#define MC_CMD_AOE_OUT_INFO_R1_3 0x13 /* enum */ /* Result of FC booting - not valid while a ByteBlaster is connected. */ #define MC_CMD_AOE_OUT_INFO_FC_BOOT_RESULT_OFST 40 /* enum: No error */ @@ -3931,15 +4106,30 @@ /* MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS msgresponse */ #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_LEN 16 -/* Uncorrected error on transmit timestamps in NIC clock format */ +/* Uncorrected error on PTP transmit timestamps in NIC clock format */ #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_TRANSMIT_OFST 0 -/* Uncorrected error on receive timestamps in NIC clock format */ +/* Uncorrected error on PTP receive timestamps in NIC clock format */ #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_RECEIVE_OFST 4 /* Uncorrected error on PPS output in NIC clock format */ #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_OUT_OFST 8 /* Uncorrected error on PPS input in NIC clock format */ #define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_PPS_IN_OFST 12 +/* MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2 msgresponse */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_LEN 24 +/* Uncorrected error on PTP transmit timestamps in NIC clock format */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_TX_OFST 0 +/* Uncorrected error on PTP receive timestamps in NIC clock format */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PTP_RX_OFST 4 +/* Uncorrected error on PPS output in NIC clock format */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_OUT_OFST 8 +/* Uncorrected error on PPS input in NIC clock format */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_PPS_IN_OFST 12 +/* Uncorrected error on non-PTP transmit timestamps in NIC clock format */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_TX_OFST 16 +/* Uncorrected error on non-PTP receive timestamps in NIC clock format */ +#define MC_CMD_PTP_OUT_GET_TIMESTAMP_CORRECTIONS_V2_GENERAL_RX_OFST 20 + /* MC_CMD_PTP_OUT_MANFTEST_PPS msgresponse */ #define MC_CMD_PTP_OUT_MANFTEST_PPS_LEN 4 /* Results of testing */ @@ -5203,7 +5393,7 @@ #define MC_CMD_SET_MAC 0x2c #undef MC_CMD_0x2c_PRIVILEGE_CTG -#define MC_CMD_0x2c_PRIVILEGE_CTG SRIOV_CTG_LINK +#define MC_CMD_0x2c_PRIVILEGE_CTG SRIOV_CTG_GENERAL /* MC_CMD_SET_MAC_IN msgrequest */ #define MC_CMD_SET_MAC_IN_LEN 28 @@ -5950,6 +6140,37 @@ /* amount to read in bytes */ #define MC_CMD_NVRAM_READ_IN_LENGTH_OFST 8 +/* MC_CMD_NVRAM_READ_IN_V2 msgrequest */ +#define MC_CMD_NVRAM_READ_IN_V2_LEN 16 +#define MC_CMD_NVRAM_READ_IN_V2_TYPE_OFST 0 +/* Enum values, see field(s): */ +/* MC_CMD_NVRAM_TYPES/MC_CMD_NVRAM_TYPES_OUT/TYPES */ +#define MC_CMD_NVRAM_READ_IN_V2_OFFSET_OFST 4 +/* amount to read in bytes */ +#define MC_CMD_NVRAM_READ_IN_V2_LENGTH_OFST 8 +/* Optional control info. If a partition is stored with an A/B versioning + * scheme (i.e. in more than one physical partition in NVRAM) the host can set + * this to control which underlying physical partition is used to read data + * from. This allows it to perform a read-modify-write-verify with the write + * lock continuously held by calling NVRAM_UPDATE_START, reading the old + * contents using MODE=TARGET_CURRENT, overwriting the old partition and then + * verifying by reading with MODE=TARGET_BACKUP. + */ +#define MC_CMD_NVRAM_READ_IN_V2_MODE_OFST 12 +/* enum: Same as omitting MODE: caller sees data in current partition unless it + * holds the write lock in which case it sees data in the partition it is + * updating. *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Wed Jan 13 20:16:59 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 D822BA81581 for ; Wed, 13 Jan 2016 20:16:59 +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 912A6125C; Wed, 13 Jan 2016 20:16:59 +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 u0DKGwXS091473; Wed, 13 Jan 2016 20:16:58 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0DKGrFk091425; Wed, 13 Jan 2016 20:16:53 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601132016.u0DKGrFk091425@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 13 Jan 2016 20:16:53 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293850 - in projects/clang380-import: . etc etc/mtree lib/csu/aarch64 lib/libc/rpc lib/libc/sys libexec/rtld-elf/aarch64 release release/amd64 share/examples/ypldap share/man/man4 sys/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 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, 13 Jan 2016 20:17:00 -0000 Author: dim Date: Wed Jan 13 20:16:53 2016 New Revision: 293850 URL: https://svnweb.freebsd.org/changeset/base/293850 Log: Merge ^/head r293686 through r293849. Added: projects/clang380-import/share/examples/ypldap/ - copied from r293849, head/share/examples/ypldap/ projects/clang380-import/sys/dev/sfxge/common/ef10_impl.h - copied unchanged from r293849, head/sys/dev/sfxge/common/ef10_impl.h projects/clang380-import/sys/dev/sfxge/common/medford_impl.h - copied unchanged from r293849, head/sys/dev/sfxge/common/medford_impl.h projects/clang380-import/sys/dev/sfxge/common/medford_nic.c - copied unchanged from r293849, head/sys/dev/sfxge/common/medford_nic.c projects/clang380-import/sys/dev/uart/uart_ppstypes.h - copied unchanged from r293849, head/sys/dev/uart/uart_ppstypes.h projects/clang380-import/tests/sys/geom/ - copied from r293849, head/tests/sys/geom/ projects/clang380-import/usr.sbin/bhyvectl/bhyvectl.8 - copied unchanged from r293849, head/usr.sbin/bhyvectl/bhyvectl.8 Deleted: projects/clang380-import/tools/regression/geom_concat/ projects/clang380-import/tools/regression/geom_eli/ projects/clang380-import/tools/regression/geom_gate/ projects/clang380-import/tools/regression/geom_mirror/ projects/clang380-import/tools/regression/geom_nop/ projects/clang380-import/tools/regression/geom_raid3/ projects/clang380-import/tools/regression/geom_shsec/ projects/clang380-import/tools/regression/geom_stripe/ projects/clang380-import/tools/regression/geom_subr.sh projects/clang380-import/tools/regression/geom_uzip/ Modified: projects/clang380-import/Makefile.inc1 projects/clang380-import/UPDATING projects/clang380-import/etc/master.passwd projects/clang380-import/etc/mtree/BSD.tests.dist projects/clang380-import/lib/csu/aarch64/crt1.c projects/clang380-import/lib/libc/rpc/rpc_soc.c projects/clang380-import/lib/libc/rpc/rpcb_clnt.c projects/clang380-import/lib/libc/rpc/rpcb_prot.c projects/clang380-import/lib/libc/sys/futimens.c projects/clang380-import/lib/libc/sys/utimensat.2 projects/clang380-import/lib/libc/sys/utimensat.c projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S projects/clang380-import/release/Makefile.ec2 projects/clang380-import/release/amd64/mkisoimages.sh projects/clang380-import/share/man/man4/uart.4 projects/clang380-import/sys/amd64/amd64/pmap.c projects/clang380-import/sys/arm/arm/fusu.S projects/clang380-import/sys/arm/arm/pmap-v6-new.c projects/clang380-import/sys/boot/arm64/libarm64/cache.c projects/clang380-import/sys/boot/common/bootstrap.h projects/clang380-import/sys/boot/common/interp_forth.c projects/clang380-import/sys/boot/common/load_elf.c projects/clang380-import/sys/boot/common/load_elf_obj.c projects/clang380-import/sys/boot/common/misc.c projects/clang380-import/sys/boot/common/module.c projects/clang380-import/sys/boot/common/part.c projects/clang380-import/sys/boot/common/self_reloc.c projects/clang380-import/sys/boot/common/ufsread.c projects/clang380-import/sys/boot/efi/boot1/Makefile projects/clang380-import/sys/boot/efi/boot1/boot1.c projects/clang380-import/sys/boot/efi/fdt/Makefile projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c projects/clang380-import/sys/boot/efi/include/arm64/efibind.h projects/clang380-import/sys/boot/efi/include/efi_nii.h projects/clang380-import/sys/boot/efi/include/efiapi.h projects/clang380-import/sys/boot/efi/include/eficon.h projects/clang380-import/sys/boot/efi/include/eficonsctl.h projects/clang380-import/sys/boot/efi/include/efidevp.h projects/clang380-import/sys/boot/efi/include/efierr.h projects/clang380-import/sys/boot/efi/include/efifpswa.h projects/clang380-import/sys/boot/efi/include/efigop.h projects/clang380-import/sys/boot/efi/include/efilib.h projects/clang380-import/sys/boot/efi/include/efinet.h projects/clang380-import/sys/boot/efi/include/efipciio.h projects/clang380-import/sys/boot/efi/include/efiprot.h projects/clang380-import/sys/boot/efi/include/efipxebc.h projects/clang380-import/sys/boot/efi/include/efiser.h projects/clang380-import/sys/boot/efi/include/efiuga.h projects/clang380-import/sys/boot/efi/libefi/Makefile projects/clang380-import/sys/boot/efi/libefi/efi_console.c projects/clang380-import/sys/boot/efi/libefi/efipart.c projects/clang380-import/sys/boot/efi/libefi/libefi.c projects/clang380-import/sys/boot/efi/loader/Makefile projects/clang380-import/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c projects/clang380-import/sys/boot/efi/loader/arch/amd64/framebuffer.c projects/clang380-import/sys/boot/efi/loader/arch/arm/exec.c projects/clang380-import/sys/boot/efi/loader/arch/arm64/exec.c projects/clang380-import/sys/boot/efi/loader/autoload.c projects/clang380-import/sys/boot/efi/loader/bootinfo.c projects/clang380-import/sys/boot/efi/loader/copy.c projects/clang380-import/sys/boot/efi/loader/devicename.c projects/clang380-import/sys/boot/efi/loader/loader_efi.h projects/clang380-import/sys/boot/efi/loader/main.c projects/clang380-import/sys/boot/i386/libi386/smbios.c projects/clang380-import/sys/boot/uboot/lib/copy.c projects/clang380-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/clang380-import/sys/conf/NOTES projects/clang380-import/sys/dev/drm2/i915/i915_gem.c projects/clang380-import/sys/dev/drm2/i915/i915_gem_execbuffer.c projects/clang380-import/sys/dev/drm2/i915/i915_gem_gtt.c projects/clang380-import/sys/dev/drm2/i915/i915_gem_tiling.c projects/clang380-import/sys/dev/drm2/i915/i915_irq.c projects/clang380-import/sys/dev/drm2/i915/intel_crt.c projects/clang380-import/sys/dev/drm2/i915/intel_display.c projects/clang380-import/sys/dev/drm2/i915/intel_overlay.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/clang380-import/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_rndis.h projects/clang380-import/sys/dev/hyperv/netvsc/hv_rndis_filter.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_rndis_filter.h projects/clang380-import/sys/dev/iwn/if_iwn.c projects/clang380-import/sys/dev/pty/pty.c projects/clang380-import/sys/dev/rtwn/if_rtwn.c projects/clang380-import/sys/dev/sfxge/common/ef10_tlv_layout.h projects/clang380-import/sys/dev/sfxge/common/efsys.h projects/clang380-import/sys/dev/sfxge/common/efx.h projects/clang380-import/sys/dev/sfxge/common/efx_bootcfg.c projects/clang380-import/sys/dev/sfxge/common/efx_check.h projects/clang380-import/sys/dev/sfxge/common/efx_crc32.c projects/clang380-import/sys/dev/sfxge/common/efx_ev.c projects/clang380-import/sys/dev/sfxge/common/efx_filter.c projects/clang380-import/sys/dev/sfxge/common/efx_hash.c projects/clang380-import/sys/dev/sfxge/common/efx_impl.h projects/clang380-import/sys/dev/sfxge/common/efx_intr.c projects/clang380-import/sys/dev/sfxge/common/efx_mac.c projects/clang380-import/sys/dev/sfxge/common/efx_mcdi.c projects/clang380-import/sys/dev/sfxge/common/efx_mcdi.h projects/clang380-import/sys/dev/sfxge/common/efx_mon.c projects/clang380-import/sys/dev/sfxge/common/efx_nic.c projects/clang380-import/sys/dev/sfxge/common/efx_nvram.c projects/clang380-import/sys/dev/sfxge/common/efx_phy.c projects/clang380-import/sys/dev/sfxge/common/efx_port.c projects/clang380-import/sys/dev/sfxge/common/efx_regs_ef10.h projects/clang380-import/sys/dev/sfxge/common/efx_regs_mcdi.h projects/clang380-import/sys/dev/sfxge/common/efx_rx.c projects/clang380-import/sys/dev/sfxge/common/efx_sram.c projects/clang380-import/sys/dev/sfxge/common/efx_tx.c projects/clang380-import/sys/dev/sfxge/common/efx_types.h projects/clang380-import/sys/dev/sfxge/common/efx_vpd.c projects/clang380-import/sys/dev/sfxge/common/efx_wol.c projects/clang380-import/sys/dev/sfxge/common/hunt_ev.c projects/clang380-import/sys/dev/sfxge/common/hunt_filter.c projects/clang380-import/sys/dev/sfxge/common/hunt_impl.h projects/clang380-import/sys/dev/sfxge/common/hunt_intr.c projects/clang380-import/sys/dev/sfxge/common/hunt_mac.c projects/clang380-import/sys/dev/sfxge/common/hunt_mcdi.c projects/clang380-import/sys/dev/sfxge/common/hunt_nic.c projects/clang380-import/sys/dev/sfxge/common/hunt_nvram.c projects/clang380-import/sys/dev/sfxge/common/hunt_phy.c projects/clang380-import/sys/dev/sfxge/common/hunt_rx.c projects/clang380-import/sys/dev/sfxge/common/hunt_sram.c projects/clang380-import/sys/dev/sfxge/common/hunt_tx.c projects/clang380-import/sys/dev/sfxge/common/hunt_vpd.c projects/clang380-import/sys/dev/sfxge/common/mcdi_mon.c projects/clang380-import/sys/dev/sfxge/common/siena_flash.h projects/clang380-import/sys/dev/sfxge/common/siena_impl.h projects/clang380-import/sys/dev/sfxge/common/siena_mac.c projects/clang380-import/sys/dev/sfxge/common/siena_mcdi.c projects/clang380-import/sys/dev/sfxge/common/siena_nic.c projects/clang380-import/sys/dev/sfxge/common/siena_nvram.c projects/clang380-import/sys/dev/sfxge/common/siena_phy.c projects/clang380-import/sys/dev/sfxge/common/siena_sram.c projects/clang380-import/sys/dev/sfxge/common/siena_vpd.c projects/clang380-import/sys/dev/uart/uart_bus.h projects/clang380-import/sys/dev/uart/uart_core.c projects/clang380-import/sys/dev/uart/uart_dev_ns8250.c projects/clang380-import/sys/dev/wpi/if_wpi.c projects/clang380-import/sys/dev/xen/blkfront/blkfront.c projects/clang380-import/sys/fs/devfs/devfs_vnops.c projects/clang380-import/sys/kern/subr_bus_dma.c projects/clang380-import/sys/modules/sfxge/Makefile projects/clang380-import/sys/net/route.c projects/clang380-import/sys/net/route.h projects/clang380-import/sys/netinet/sctputil.c projects/clang380-import/sys/security/audit/audit_pipe.c projects/clang380-import/sys/sys/conf.h projects/clang380-import/tests/sys/Makefile projects/clang380-import/usr.sbin/bhyvectl/Makefile projects/clang380-import/usr.sbin/pkg/config.c projects/clang380-import/usr.sbin/rpcbind/check_bound.c projects/clang380-import/usr.sbin/rpcbind/tests/addrmerge_test.c projects/clang380-import/usr.sbin/ypldap/yp.c projects/clang380-import/usr.sbin/ypldap/ypldap.conf.5 Directory Properties: projects/clang380-import/ (props changed) projects/clang380-import/lib/libc/ (props changed) projects/clang380-import/share/ (props changed) projects/clang380-import/share/man/man4/ (props changed) projects/clang380-import/sys/ (props changed) projects/clang380-import/sys/boot/ (props changed) projects/clang380-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang380-import/sys/conf/ (props changed) projects/clang380-import/sys/dev/hyperv/ (props changed) projects/clang380-import/usr.sbin/bhyvectl/ (props changed) Modified: projects/clang380-import/Makefile.inc1 ============================================================================== --- projects/clang380-import/Makefile.inc1 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/Makefile.inc1 Wed Jan 13 20:16:53 2016 (r293850) @@ -569,7 +569,7 @@ _worldtmp: .PHONY .endif .else rm -rf ${WORLDTMP}/legacy/usr/include -# XXX - These three can depend on any header file. +# XXX - These can depend on any header file. rm -f ${OBJTREE}${.CURDIR}/lib/libsysdecode/ioctl.c rm -f ${OBJTREE}${.CURDIR}/usr.bin/kdump/kdump_subr.c .endif Modified: projects/clang380-import/UPDATING ============================================================================== --- projects/clang380-import/UPDATING Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/UPDATING Wed Jan 13 20:16:53 2016 (r293850) @@ -31,6 +31,11 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11 disable the most expensive debugging functionality run "ln -s 'abort:false,junk:false' /etc/malloc.conf".) +20160113: + With the addition of ypldap(8), a new _ypldap user is now required + during installworld. "mergemaster -p" can be used to add the user + prior to installworld, as documented in the handbook. + 20151216: The tftp loader (pxeboot) now uses the option root-path directive. As a consequence it no longer looks for a pxeboot.4th file on the tftp Modified: projects/clang380-import/etc/master.passwd ============================================================================== --- projects/clang380-import/etc/master.passwd Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/etc/master.passwd Wed Jan 13 20:16:53 2016 (r293850) @@ -22,5 +22,6 @@ uucp:*:66:66::0:0:UUCP pseudo-user:/var/ pop:*:68:6::0:0:Post Office Owner:/nonexistent:/usr/sbin/nologin auditdistd:*:78:77::0:0:Auditdistd unprivileged user:/var/empty:/usr/sbin/nologin www:*:80:80::0:0:World Wide Web Owner:/nonexistent:/usr/sbin/nologin +_ypldap:*:93:93::0:0:YP Ldap unprivileged user:/var/empty:/usr/sbin/nologin hast:*:845:845::0:0:HAST unprivileged user:/var/empty:/usr/sbin/nologin nobody:*:65534:65534::0:0:Unprivileged user:/nonexistent:/usr/sbin/nologin Modified: projects/clang380-import/etc/mtree/BSD.tests.dist ============================================================================== --- projects/clang380-import/etc/mtree/BSD.tests.dist Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/etc/mtree/BSD.tests.dist Wed Jan 13 20:16:53 2016 (r293850) @@ -376,6 +376,32 @@ .. file .. + geom + class + concat + .. + eli + .. + gate + .. + gpt + .. + mirror + .. + nop + .. + raid3 + .. + shsec + .. + stripe + .. + uzip + etalon + .. + .. + .. + .. kern acct .. Modified: projects/clang380-import/lib/csu/aarch64/crt1.c ============================================================================== --- projects/clang380-import/lib/csu/aarch64/crt1.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/csu/aarch64/crt1.c Wed Jan 13 20:16:53 2016 (r293850) @@ -54,11 +54,7 @@ __asm(" .text \n" " .align 0 \n" " .globl _start \n" " _start: \n" -/* TODO: Remove this when the kernel correctly aligns the stack */ -" cbnz x0, 1f \n" /* Are we using a new kernel? */ -" mov x0, sp \n" /* No, load the args from sp */ -" and sp, x0, #~0xf \n" /* And align the stack */ -"1: mov x3, x2 \n" /* cleanup */ +" mov x3, x2 \n" /* cleanup */ " add x1, x0, #8 \n" /* load argv */ " ldr x0, [x0] \n" /* load argc */ " add x2, x1, x0, lsl #3 \n" /* env is after argv */ Modified: projects/clang380-import/lib/libc/rpc/rpc_soc.c ============================================================================== --- projects/clang380-import/lib/libc/rpc/rpc_soc.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/rpc/rpc_soc.c Wed Jan 13 20:16:53 2016 (r293850) @@ -483,7 +483,7 @@ svcunix_create(int sock, u_int sendsize, break; } if (nconf == NULL) - return(xprt); + goto done; if ((sock = __rpc_nconf2fd(nconf)) < 0) goto done; Modified: projects/clang380-import/lib/libc/rpc/rpcb_clnt.c ============================================================================== --- projects/clang380-import/lib/libc/rpc/rpcb_clnt.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/rpc/rpcb_clnt.c Wed Jan 13 20:16:53 2016 (r293850) @@ -661,11 +661,11 @@ __rpcbind_is_up(void) strcmp(nconf->nc_protofmly, NC_LOOPBACK) == 0) break; } + endnetconfig(localhandle); + if (nconf == NULL) return (FALSE); - endnetconfig(localhandle); - memset(&sun, 0, sizeof sun); sock = _socket(AF_LOCAL, SOCK_STREAM, 0); if (sock < 0) Modified: projects/clang380-import/lib/libc/rpc/rpcb_prot.c ============================================================================== --- projects/clang380-import/lib/libc/rpc/rpcb_prot.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/rpc/rpcb_prot.c Wed Jan 13 20:16:53 2016 (r293850) @@ -207,14 +207,14 @@ xdr_rpcb_entry_list_ptr(XDR *xdrs, rpcb_ * the case of freeing we must remember the next object * before we free the current object ... */ - if (freeing) + if (freeing && *rp) next = (*rp)->rpcb_entry_next; if (! xdr_reference(xdrs, (caddr_t *)rp, (u_int)sizeof (rpcb_entry_list), (xdrproc_t)xdr_rpcb_entry)) { return (FALSE); } - if (freeing && *rp) { + if (freeing) { next_copy = next; rp = &next_copy; /* Modified: projects/clang380-import/lib/libc/sys/futimens.c ============================================================================== --- projects/clang380-import/lib/libc/sys/futimens.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/sys/futimens.c Wed Jan 13 20:16:53 2016 (r293850) @@ -42,8 +42,11 @@ futimens(int fd, const struct timespec t { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_futimens(fd, times)); if (times == NULL || (times[0].tv_nsec == UTIME_NOW && Modified: projects/clang380-import/lib/libc/sys/utimensat.2 ============================================================================== --- projects/clang380-import/lib/libc/sys/utimensat.2 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/sys/utimensat.2 Wed Jan 13 20:16:53 2016 (r293850) @@ -31,7 +31,7 @@ .\" @(#)utimes.2 8.1 (Berkeley) 6/4/93 .\" $FreeBSD$ .\" -.Dd January 23, 2015 +.Dd January 12, 2016 .Dt UTIMENSAT 2 .Os .Sh NAME @@ -289,4 +289,4 @@ The and .Fn utimensat system calls appeared in -.Fx 11.0 . +.Fx 10.3 . Modified: projects/clang380-import/lib/libc/sys/utimensat.c ============================================================================== --- projects/clang380-import/lib/libc/sys/utimensat.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/lib/libc/sys/utimensat.c Wed Jan 13 20:16:53 2016 (r293850) @@ -42,8 +42,11 @@ utimensat(int fd, const char *path, cons { struct timeval now, tv[2], *tvp; struct stat sb; + int osreldate; - if (__getosreldate() >= 1100056) + osreldate = __getosreldate(); + if (osreldate >= 1100056 || + (osreldate >= 1002506 && osreldate < 1100000)) return (__sys_utimensat(fd, path, times, flag)); if ((flag & ~AT_SYMLINK_NOFOLLOW) != 0) { Modified: projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S ============================================================================== --- projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/libexec/rtld-elf/aarch64/rtld_start.S Wed Jan 13 20:16:53 2016 (r293850) @@ -34,13 +34,7 @@ ENTRY(.rtld_start) mov x19, x0 /* Put ps_strings in a callee-saved register */ mov x20, sp /* And the stack pointer */ - /* Handle the old style stack */ - /* TODO: Remove this when the kernel correctly aligns the stack */ - cbnz x0, 1f - mov x0, sp /* sp points to the args */ - and sp, x0, #~0xf /* Align the stack as needed */ - -1: sub sp, sp, #16 /* Make room for obj_main & exit proc */ + sub sp, sp, #16 /* Make room for obj_main & exit proc */ mov x1, sp /* exit_proc */ add x2, x1, #8 /* obj_main */ Modified: projects/clang380-import/release/Makefile.ec2 ============================================================================== --- projects/clang380-import/release/Makefile.ec2 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/release/Makefile.ec2 Wed Jan 13 20:16:53 2016 (r293850) @@ -51,7 +51,7 @@ ec2ami: cw-ec2 ${CW_EC2_PORTINSTALL} @echo "--------------------------------------------------------------" @false .endif - /usr/local/bin/bsdec2-image-upload ${PUBLISH} \ + /usr/local/bin/bsdec2-image-upload ${PUBLISH} --sriov \ ${.OBJDIR}/ec2.raw \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}${AMINAMESUFFIX}" \ "${TYPE} ${REVISION}-${BRANCH}-${TARGET}" \ Modified: projects/clang380-import/release/amd64/mkisoimages.sh ============================================================================== --- projects/clang380-import/release/amd64/mkisoimages.sh Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/release/amd64/mkisoimages.sh Wed Jan 13 20:16:53 2016 (r293850) @@ -28,7 +28,7 @@ if [ "x$1" = "x-b" ]; then bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" # Make EFI system partition (should be done with makefs in the future) - dd if=/dev/zero of=efiboot.img bs=4k count=100 + dd if=/dev/zero of=efiboot.img bs=4k count=200 device=`mdconfig -a -t vnode -f efiboot.img` newfs_msdos -F 12 -m 0xf8 /dev/$device mkdir efi Modified: projects/clang380-import/share/man/man4/uart.4 ============================================================================== --- projects/clang380-import/share/man/man4/uart.4 Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/share/man/man4/uart.4 Wed Jan 13 20:16:53 2016 (r293850) @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 10, 2015 +.Dd December 9, 2015 .Dt UART 4 .Os .Sh NAME @@ -160,7 +160,9 @@ The API, accessed via is available on the tty device. To use the PPS capture feature with .Xr ntpd 8 , -symlink the tty device to +symlink the tty callout device +.Va /dev/cuau? +to .Va /dev/pps0. .Pp The @@ -175,15 +177,54 @@ it can be set in .Xr loader.conf 5 or .Xr sysctl.conf 5 . +.Pp The following capture modes are available: .Bl -tag -compact -offset "mmmm" -width "mmmm" -.It 0 +.It 0x00 Capture disabled. -.It 1 +.It 0x01 Capture pulses on the CTS line. -.It 2 -Capture pulses on the DCD line (default). +.It 0x02 +Capture pulses on the DCD line. .El +.Pp +The following values may be ORed with the capture mode to configure +capture processing options: +.Bl -tag -compact -offset "mmmm" -width "mmmm" +.It 0x10 +Invert the pulse (RS-232 logic low = ASSERT, high = CLEAR). +.It 0x20 +Attempt to capture narrow pulses. +.El +.Pp +Add the narrow pulse option when the incoming PPS pulse width is small +enough to prevent reliable capture in normal mode. +In narrow mode the driver uses the hardware's ability to latch a line +state change; not all hardware has this capability. +The hardware latch provides a reliable indication that a pulse occurred, +but prevents distinguishing between the CLEAR and ASSERT edges of the pulse. +For each detected pulse, the driver synthesizes both an ASSERT and a CLEAR +event, using the same timestamp for each. +To prevent spurious events when the hardware is intermittently able to +see both edges of a pulse, the driver will not generate a new pair of +events within a half second of the prior pair. +Both normal and narrow pulse modes work with +.Xr ntpd 8 . +.Pp +Add the invert option when the connection to the uart device uses TTL +level signals, or when the PPS source emits inverted pulses. +RFC 2783 defines an ASSERT event as a higher-voltage line level, and a CLEAR +event as a lower-voltage line level, in the context of the RS-232 protocol. +The modem control signals on a TTL-level connection are typically +inverted from the RS-232 levels. +For example, carrier presence is indicated by a high signal on an RS-232 +DCD line, and by a low signal on a TTL DCD line. +This is due to the use of inverting line driver buffers to convert between +TTL and RS-232 line levels in most hardware designs. +Generally speaking, a connection to a DB-9 style connector is an RS-232 +level signal at up to 12 volts. +A connection to header pins or an edge-connector on an embedded board +is typically a TTL signal at 3.3 or 5 volts. .Sh FILES .Bl -tag -width ".Pa /dev/ttyu?.init" -compact .It Pa /dev/ttyu? Modified: projects/clang380-import/sys/amd64/amd64/pmap.c ============================================================================== --- projects/clang380-import/sys/amd64/amd64/pmap.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/amd64/amd64/pmap.c Wed Jan 13 20:16:53 2016 (r293850) @@ -3018,11 +3018,14 @@ reserve_pv_entries(pmap_t pmap, int need retry: avail = 0; TAILQ_FOREACH(pc, &pmap->pm_pvchunk, pc_list) { +#ifndef __POPCNT__ if ((cpu_feature2 & CPUID2_POPCNT) == 0) { free = bitcount64(pc->pc_map[0]); free += bitcount64(pc->pc_map[1]); free += bitcount64(pc->pc_map[2]); - } else { + } else +#endif + { free = popcnt_pc_map_elem_pq(pc->pc_map[0]); free += popcnt_pc_map_elem_pq(pc->pc_map[1]); free += popcnt_pc_map_elem_pq(pc->pc_map[2]); Modified: projects/clang380-import/sys/arm/arm/fusu.S ============================================================================== --- projects/clang380-import/sys/arm/arm/fusu.S Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/arm/arm/fusu.S Wed Jan 13 20:16:53 2016 (r293850) @@ -139,8 +139,8 @@ EENTRY_NP(fueword32) mov r0, #0x00000000 str r0, [r2, #PCB_ONFAULT] RET -EEND(fuword32) -END(fuword) +EEND(fueword32) +END(fueword) /* * fusword(caddr_t uaddr); Modified: projects/clang380-import/sys/arm/arm/pmap-v6-new.c ============================================================================== --- projects/clang380-import/sys/arm/arm/pmap-v6-new.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/arm/arm/pmap-v6-new.c Wed Jan 13 20:16:53 2016 (r293850) @@ -1109,7 +1109,7 @@ pmap_bootstrap(vm_offset_t firstaddr) * mapping of pages. */ #define SYSMAP(c, p, v, n) do { \ - v = (c)pmap_preboot_reserve_pages(1); \ + v = (c)pmap_preboot_reserve_pages(n); \ p = pt2map_entry((vm_offset_t)v); \ } while (0) Modified: projects/clang380-import/sys/boot/arm64/libarm64/cache.c ============================================================================== --- projects/clang380-import/sys/boot/arm64/libarm64/cache.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/arm64/libarm64/cache.c Wed Jan 13 20:16:53 2016 (r293850) @@ -67,7 +67,7 @@ cpu_flush_dcache(const void *ptr, size_t cl_size = get_dcache_line_size(); /* Calculate end address to clean */ - end = (vm_offset_t)(ptr + len); + end = (vm_offset_t)ptr + (vm_offset_t)len; /* Align start address to cache line */ addr = (vm_offset_t)ptr; addr = rounddown2(addr, cl_size); Modified: projects/clang380-import/sys/boot/common/bootstrap.h ============================================================================== --- projects/clang380-import/sys/boot/common/bootstrap.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/bootstrap.h Wed Jan 13 20:16:53 2016 (r293850) @@ -56,7 +56,10 @@ typedef int (bootblk_cmd_t)(int argc, ch extern char *command_errmsg; extern char command_errbuf[]; /* XXX blah, length */ #define CMD_OK 0 -#define CMD_ERROR 1 +#define CMD_WARN 1 +#define CMD_ERROR 2 +#define CMD_CRIT 3 +#define CMD_FATAL 4 /* interp.c */ void interact(const char *rc); Modified: projects/clang380-import/sys/boot/common/interp_forth.c ============================================================================== --- projects/clang380-import/sys/boot/common/interp_forth.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/interp_forth.c Wed Jan 13 20:16:53 2016 (r293850) @@ -138,13 +138,23 @@ bf_command(FICL_VM *vm) } else { result=BF_PARSE; } + + switch (result) { + case CMD_CRIT: + printf("%s\n", command_errmsg); + break; + case CMD_FATAL: + panic("%s\n", command_errmsg); + } + free(line); /* * If there was error during nested ficlExec(), we may no longer have * valid environment to return. Throw all exceptions from here. */ - if (result != 0) + if (result != CMD_OK) vmThrow(vm, result); + /* This is going to be thrown!!! */ stackPushINT(vm->pStack,result); } Modified: projects/clang380-import/sys/boot/common/load_elf.c ============================================================================== --- projects/clang380-import/sys/boot/common/load_elf.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/load_elf.c Wed Jan 13 20:16:53 2016 (r293850) @@ -886,7 +886,7 @@ __elfN(parse_modmetadata)(struct preload error = __elfN(reloc_ptr)(fp, ef, v, &md, sizeof(md)); if (error == EOPNOTSUPP) { md.md_cval += ef->off; - md.md_data += ef->off; + md.md_data = (void *)((uintptr_t)md.md_data + ef->off); } else if (error != 0) return (error); #endif Modified: projects/clang380-import/sys/boot/common/load_elf_obj.c ============================================================================== --- projects/clang380-import/sys/boot/common/load_elf_obj.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/load_elf_obj.c Wed Jan 13 20:16:53 2016 (r293850) @@ -520,10 +520,8 @@ __elfN(obj_symaddr)(struct elf_file *ef, { Elf_Sym sym; Elf_Addr base; - int symcnt; - symcnt = ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym); - if (symidx >= symcnt) + if (symidx >= ef->e_shdr[ef->symtabindex].sh_size / sizeof(Elf_Sym)) return (0); COPYOUT(ef->e_shdr[ef->symtabindex].sh_addr + symidx * sizeof(Elf_Sym), &sym, sizeof(sym)); Modified: projects/clang380-import/sys/boot/common/misc.c ============================================================================== --- projects/clang380-import/sys/boot/common/misc.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/misc.c Wed Jan 13 20:16:53 2016 (r293850) @@ -118,7 +118,6 @@ kern_bzero(vm_offset_t dest, size_t len) int kern_pread(int fd, vm_offset_t dest, size_t len, off_t off) { - ssize_t nread; if (lseek(fd, off, SEEK_SET) == -1) { #ifdef DEBUG @@ -126,8 +125,7 @@ kern_pread(int fd, vm_offset_t dest, siz #endif return (-1); } - nread = archsw.arch_readin(fd, dest, len); - if (nread != len) { + if ((size_t)archsw.arch_readin(fd, dest, len) != len) { #ifdef DEBUG printf("\nreadin failed\n"); #endif @@ -144,7 +142,6 @@ void * alloc_pread(int fd, off_t off, size_t len) { void *buf; - ssize_t nread; buf = malloc(len); if (buf == NULL) { @@ -160,8 +157,7 @@ alloc_pread(int fd, off_t off, size_t le free(buf); return (NULL); } - nread = read(fd, buf, len); - if (nread != len) { + if ((size_t)read(fd, buf, len) != len) { #ifdef DEBUG printf("\nread failed\n"); #endif Modified: projects/clang380-import/sys/boot/common/module.c ============================================================================== --- projects/clang380-import/sys/boot/common/module.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/module.c Wed Jan 13 20:16:53 2016 (r293850) @@ -112,7 +112,7 @@ command_load(int argc, char *argv[]) typestr = NULL; if (argc == 1) { command_errmsg = "no filename specified"; - return(CMD_ERROR); + return (CMD_CRIT); } while ((ch = getopt(argc, argv, "kt:")) != -1) { switch(ch) { @@ -126,7 +126,7 @@ command_load(int argc, char *argv[]) case '?': default: /* getopt has already reported an error */ - return(CMD_OK); + return (CMD_OK); } } argv += (optind - 1); @@ -138,33 +138,46 @@ command_load(int argc, char *argv[]) if (dofile) { if ((argc != 2) || (typestr == NULL) || (*typestr == 0)) { command_errmsg = "invalid load type"; - return(CMD_ERROR); + return (CMD_CRIT); } fp = file_findfile(argv[1], typestr); if (fp) { sprintf(command_errbuf, "warning: file '%s' already loaded", argv[1]); - return (CMD_ERROR); + return (CMD_WARN); } - return (file_loadraw(argv[1], typestr, 1) ? CMD_OK : CMD_ERROR); + if (file_loadraw(argv[1], typestr, 1) != NULL) + return (CMD_OK); + + /* Failing to load mfs_root is never going to end well! */ + if (strcmp("mfs_root", typestr) == 0) + return (CMD_FATAL); + + return (CMD_ERROR); } /* * Do we have explicit KLD load ? */ if (dokld || file_havepath(argv[1])) { error = mod_loadkld(argv[1], argc - 2, argv + 2); - if (error == EEXIST) + if (error == EEXIST) { sprintf(command_errbuf, "warning: KLD '%s' already loaded", argv[1]); - return (error == 0 ? CMD_OK : CMD_ERROR); + return (CMD_WARN); + } + + return (error == 0 ? CMD_OK : CMD_CRIT); } /* * Looks like a request for a module. */ error = mod_load(argv[1], NULL, argc - 2, argv + 2); - if (error == EEXIST) + if (error == EEXIST) { sprintf(command_errbuf, "warning: module '%s' already loaded", argv[1]); - return (error == 0 ? CMD_OK : CMD_ERROR); + return (CMD_WARN); + } + + return (error == 0 ? CMD_OK : CMD_CRIT); } COMMAND_SET(load_geli, "load_geli", "load a geli key", command_load_geli); @@ -983,7 +996,7 @@ moduledir_rebuild(void) { struct moduledir *mdp, *mtmp; const char *path, *cp, *ep; - int cplen; + size_t cplen; path = getenv("module_path"); if (path == NULL) Modified: projects/clang380-import/sys/boot/common/part.c ============================================================================== --- projects/clang380-import/sys/boot/common/part.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/part.c Wed Jan 13 20:16:53 2016 (r293850) @@ -102,7 +102,7 @@ static struct parttypes { const char * parttype2str(enum partition_type type) { - int i; + size_t i; for (i = 0; i < sizeof(ptypes) / sizeof(ptypes[0]); i++) if (ptypes[i].type == type) @@ -203,7 +203,7 @@ gpt_checktbl(const struct gpt_hdr *hdr, uint64_t lba_last) { struct gpt_ent *ent; - int i, cnt; + uint32_t i, cnt; cnt = size / hdr->hdr_entsz; if (hdr->hdr_entries <= cnt) { @@ -234,8 +234,8 @@ ptable_gptread(struct ptable *table, voi struct gpt_ent *ent; u_char *buf, *tbl; uint64_t offset; - int pri, sec, i; - size_t size; + int pri, sec; + size_t size, i; buf = malloc(table->sectorsize); if (buf == NULL) @@ -358,7 +358,7 @@ mbr_parttype(uint8_t type) return (PART_UNKNOWN); } -struct ptable* +static struct ptable* ptable_ebrread(struct ptable *table, void *dev, diskread_t dread) { struct dos_partition *dp; @@ -436,7 +436,7 @@ bsd_parttype(uint8_t type) return (PART_UNKNOWN); } -struct ptable* +static struct ptable* ptable_bsdread(struct ptable *table, void *dev, diskread_t dread) { struct disklabel *dl; Modified: projects/clang380-import/sys/boot/common/self_reloc.c ============================================================================== --- projects/clang380-import/sys/boot/common/self_reloc.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/self_reloc.c Wed Jan 13 20:16:53 2016 (r293850) @@ -61,6 +61,8 @@ __FBSDID("$FreeBSD$"); #define RELOC_TYPE_RELATIVE R_386_RELATIVE #endif +void self_reloc(Elf_Addr baseaddr, ElfW_Dyn *dynamic); + /* * A simple elf relocator. */ @@ -118,6 +120,6 @@ self_reloc(Elf_Addr baseaddr, ElfW_Dyn * /* XXX: do we need other relocations ? */ break; } - rel = (ElfW_Rel *) ((caddr_t) rel + relent); + rel = (ElfW_Rel *)(void *)((caddr_t) rel + relent); } } Modified: projects/clang380-import/sys/boot/common/ufsread.c ============================================================================== --- projects/clang380-import/sys/boot/common/ufsread.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/common/ufsread.c Wed Jan 13 20:16:53 2016 (r293850) @@ -207,7 +207,7 @@ fsread(ufs_ino_t inode, void *buf, size_ #endif ) && fs.fs_bsize <= MAXBSIZE && - fs.fs_bsize >= sizeof(struct fs)) + fs.fs_bsize >= (int32_t)sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -231,10 +231,10 @@ fsread(ufs_ino_t inode, void *buf, size_ sizeof(struct ufs2_dinode)); #else if (fs.fs_magic == FS_UFS1_MAGIC) - memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + memcpy(&dp1, (struct ufs1_dinode *)(void *)blkbuf + n, sizeof(struct ufs1_dinode)); else - memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + memcpy(&dp2, (struct ufs2_dinode *)(void *)blkbuf + n, sizeof(struct ufs2_dinode)); #endif inomap = inode; @@ -283,7 +283,7 @@ fsread(ufs_ino_t inode, void *buf, size_ return -1; vbaddr = fsbtodb(&fs, addr2) + (off >> VBLKSHIFT) * DBPERVBLK; vboff = off & VBLKMASK; - n = sblksize(&fs, size, lbn) - (off & ~VBLKMASK); + n = sblksize(&fs, (off_t)size, lbn) - (off & ~VBLKMASK); if (n > VBLKSIZE) n = VBLKSIZE; if (blkmap != vbaddr) { Modified: projects/clang380-import/sys/boot/efi/boot1/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/Makefile Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/boot1/Makefile Wed Jan 13 20:16:53 2016 (r293850) @@ -11,6 +11,7 @@ MK_SSP= no PROG= boot1.sym INTERNALPROG= +WARNS?= 6 # architecture-specific loader code SRCS= boot1.c self_reloc.c start.S Modified: projects/clang380-import/sys/boot/efi/boot1/boot1.c ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/boot1.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/boot1/boot1.c Wed Jan 13 20:16:53 2016 (r293850) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); void panic(const char *fmt, ...) __dead2; void putchar(int c); +EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab); static int domount(EFI_DEVICE_PATH *device, EFI_BLOCK_IO *blkio, int quiet); static void load(const char *fname); @@ -62,7 +63,7 @@ EFI_STATUS efi_main(EFI_HANDLE Ximage, E EFI_BOOT_SERVICES *BS; EFI_CONSOLE_CONTROL_PROTOCOL *ConsoleControl = NULL; SIMPLE_TEXT_OUTPUT_INTERFACE *conout = NULL; - char *path = _PATH_LOADER; + const char *path = _PATH_LOADER; systab = Xsystab; image = Ximage; @@ -157,7 +158,6 @@ fsstat(ufs_ino_t inode) { #ifndef UFS2_ONLY static struct ufs1_dinode dp1; - ufs1_daddr_t addr1; #endif #ifndef UFS1_ONLY static struct ufs2_dinode dp2; @@ -166,11 +166,8 @@ fsstat(ufs_ino_t inode) static ufs_ino_t inomap; char *blkbuf; void *indbuf; - size_t n, nb, size, off, vboff; - ufs_lbn_t lbn; - ufs2_daddr_t addr2, vbaddr; + size_t n, size; static ufs2_daddr_t blkmap, indmap; - u_int u; blkbuf = dmadat->blkbuf; indbuf = dmadat->indbuf; @@ -194,7 +191,7 @@ fsstat(ufs_ino_t inode) #endif ) && fs.fs_bsize <= MAXBSIZE && - fs.fs_bsize >= sizeof(struct fs)) + fs.fs_bsize >= (int32_t)sizeof(struct fs)) break; } if (sblock_try[n] == -1) { @@ -218,10 +215,10 @@ fsstat(ufs_ino_t inode) sizeof(struct ufs2_dinode)); #else if (fs.fs_magic == FS_UFS1_MAGIC) - memcpy(&dp1, (struct ufs1_dinode *)blkbuf + n, + memcpy(&dp1, (struct ufs1_dinode *)(void *)blkbuf + n, sizeof(struct ufs1_dinode)); else - memcpy(&dp2, (struct ufs2_dinode *)blkbuf + n, + memcpy(&dp2, (struct ufs2_dinode *)(void *)blkbuf + n, sizeof(struct ufs2_dinode)); #endif inomap = inode; Modified: projects/clang380-import/sys/boot/efi/fdt/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/fdt/Makefile Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/fdt/Makefile Wed Jan 13 20:16:53 2016 (r293850) @@ -6,6 +6,7 @@ LIB= efi_fdt INTERNALLIB= +WARNS?= 6 SRCS= efi_fdt.c Modified: projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c ============================================================================== --- projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/fdt/efi_fdt.c Wed Jan 13 20:16:53 2016 (r293850) @@ -44,7 +44,6 @@ int fdt_platform_load_dtb(void) { struct fdt_header *hdr; - int err; hdr = efi_get_table(&fdtdtb); if (hdr != NULL) { @@ -54,7 +53,7 @@ fdt_platform_load_dtb(void) } } - return (err); + return (1); } void Modified: projects/clang380-import/sys/boot/efi/include/arm64/efibind.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/arm64/efibind.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/arm64/efibind.h Wed Jan 13 20:16:53 2016 (r293850) @@ -127,7 +127,6 @@ typedef uint64_t UINTN; #define BAD_POINTER 0xFBFBFBFBFBFBFBFB #define MAX_ADDRESS 0xFFFFFFFFFFFFFFFF -#pragma intrinsic (__break) #define BREAKPOINT() __break(0) // @@ -180,7 +179,6 @@ typedef uint64_t UINTN; // BugBug: Need to find out if this is portable accross compliers. // void __mfa (void); -#pragma intrinsic (__mfa) #define MEMORY_FENCE() __mfa() #ifdef EFI_NO_INTERFACE_DECL Modified: projects/clang380-import/sys/boot/efi/include/efi_nii.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efi_nii.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efi_nii.h Wed Jan 13 20:16:53 2016 (r293850) @@ -26,9 +26,9 @@ Revision history: --*/ #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL \ - { 0xE18541CD, 0xF755, 0x4f73, 0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29 } + { 0xE18541CD, 0xF755, 0x4f73, {0x92, 0x8D, 0x64, 0x3C, 0x8A, 0x79, 0xB2, 0x29} } #define EFI_NETWORK_INTERFACE_IDENTIFIER_PROTOCOL_31 \ - { 0x1ACED566, 0x76ED, 0x4218, 0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89 } + { 0x1ACED566, 0x76ED, 0x4218, {0xBC, 0x81, 0x76, 0x7F, 0x1F, 0x97, 0x7A, 0x89} } #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION 0x00010000 #define EFI_NETWORK_INTERFACE_IDENTIFIER_INTERFACE_REVISION_31 0x00010001 Modified: projects/clang380-import/sys/boot/efi/include/efiapi.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efiapi.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efiapi.h Wed Jan 13 20:16:53 2016 (r293850) @@ -214,8 +214,8 @@ VOID // EFI platform varibles // -#define EFI_GLOBAL_VARIABLE \ - { 0x8BE4DF61, 0x93CA, 0x11d2, 0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C } +#define EFI_GLOBAL_VARIABLE \ + { 0x8BE4DF61, 0x93CA, 0x11d2, {0xAA, 0x0D, 0x00, 0xE0, 0x98, 0x03, 0x2B, 0x8C} } // Variable attributes #define EFI_VARIABLE_NON_VOLATILE 0x00000001 @@ -363,8 +363,8 @@ EFI_STATUS // Image handle -#define LOADED_IMAGE_PROTOCOL \ - { 0x5B1B31A1, 0x9562, 0x11d2, 0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B } +#define LOADED_IMAGE_PROTOCOL \ + { 0x5B1B31A1, 0x9562, 0x11d2, {0x8E, 0x3F, 0x00, 0xA0, 0xC9, 0x69, 0x72, 0x3B} } #define EFI_LOADED_IMAGE_INFORMATION_REVISION 0x1000 typedef struct { @@ -827,35 +827,35 @@ typedef struct { // EFI Configuration Table and GUID definitions // -#define MPS_TABLE_GUID \ - { 0xeb9d2d2f, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define MPS_TABLE_GUID \ + { 0xeb9d2d2f, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_TABLE_GUID \ - { 0xeb9d2d30, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define ACPI_TABLE_GUID \ + { 0xeb9d2d30, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define ACPI_20_TABLE_GUID \ - { 0x8868e871, 0xe4f1, 0x11d3, 0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81 } +#define ACPI_20_TABLE_GUID \ + { 0x8868e871, 0xe4f1, 0x11d3, {0xbc, 0x22, 0x0, 0x80, 0xc7, 0x3c, 0x88, 0x81} } -#define SMBIOS_TABLE_GUID \ - { 0xeb9d2d31, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define SMBIOS_TABLE_GUID \ + { 0xeb9d2d31, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define SAL_SYSTEM_TABLE_GUID \ - { 0xeb9d2d32, 0x2d88, 0x11d3, 0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define SAL_SYSTEM_TABLE_GUID \ + { 0xeb9d2d32, 0x2d88, 0x11d3, {0x9a, 0x16, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } -#define FDT_TABLE_GUID \ - { 0xb1b621d5, 0xf19c, 0x41a5, 0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0 } +#define FDT_TABLE_GUID \ + { 0xb1b621d5, 0xf19c, 0x41a5, {0x83, 0x0b, 0xd9, 0x15, 0x2c, 0x69, 0xaa, 0xe0} } -#define DXE_SERVICES_TABLE_GUID \ - { 0x5ad34ba, 0x6f02, 0x4214, 0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9 } +#define DXE_SERVICES_TABLE_GUID \ + { 0x5ad34ba, 0x6f02, 0x4214, {0x95, 0x2e, 0x4d, 0xa0, 0x39, 0x8e, 0x2b, 0xb9} } -#define HOB_LIST_TABLE_GUID \ - { 0x7739f24c, 0x93d7, 0x11d4, 0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } +#define HOB_LIST_TABLE_GUID \ + { 0x7739f24c, 0x93d7, 0x11d4, {0x9a, 0x3a, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define MEMORY_TYPE_INFORMATION_TABLE_GUID \ - { 0x4c19049f, 0x4137, 0x4dd3, 0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa } + { 0x4c19049f, 0x4137, 0x4dd3, {0x9c, 0x10, 0x8b, 0x97, 0xa8, 0x3f, 0xfd, 0xfa} } #define DEBUG_IMAGE_INFO_TABLE_GUID \ - { 0x49152e77, 0x1ada, 0x4764, 0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b } + { 0x49152e77, 0x1ada, 0x4764, {0xb7, 0xa2, 0x7a, 0xfe, 0xfe, 0xd9, 0x5e, 0x8b} } typedef struct _EFI_CONFIGURATION_TABLE { EFI_GUID VendorGuid; Modified: projects/clang380-import/sys/boot/efi/include/eficon.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/eficon.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/eficon.h Wed Jan 13 20:16:53 2016 (r293850) @@ -32,7 +32,7 @@ Revision History // #define SIMPLE_TEXT_OUTPUT_PROTOCOL \ - { 0x387477c2, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x387477c2, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_SIMPLE_TEXT_OUTPUT_INTERFACE); @@ -239,8 +239,8 @@ typedef struct _SIMPLE_TEXT_OUTPUT_INTER // Text input protocol // -#define SIMPLE_TEXT_INPUT_PROTOCOL \ - { 0x387477c1, 0x69c7, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define SIMPLE_TEXT_INPUT_PROTOCOL \ + { 0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } INTERFACE_DECL(_SIMPLE_INPUT_INTERFACE); Modified: projects/clang380-import/sys/boot/efi/include/eficonsctl.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/eficonsctl.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/eficonsctl.h Wed Jan 13 20:16:53 2016 (r293850) @@ -35,7 +35,7 @@ #define _EFI_CONS_CTL_H #define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \ - { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } + { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} } typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL; Modified: projects/clang380-import/sys/boot/efi/include/efidevp.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efidevp.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efidevp.h Wed Jan 13 20:16:53 2016 (r293850) @@ -110,7 +110,7 @@ typedef struct _VENDOR_DEVICE_PATH { } VENDOR_DEVICE_PATH; #define UNKNOWN_DEVICE_GUID \ - { 0xcf31fac5, 0xc24e, 0x11d2, 0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b } + { 0xcf31fac5, 0xc24e, 0x11d2, {0x85, 0xf3, 0x0, 0xa0, 0xc9, 0x3e, 0xc9, 0x3b} } typedef struct _UKNOWN_DEVICE_VENDOR_DP { VENDOR_DEVICE_PATH DevicePath; @@ -274,16 +274,16 @@ typedef struct _UART_DEVICE_PATH { /* Use VENDOR_DEVICE_PATH struct */ #define DEVICE_PATH_MESSAGING_PC_ANSI \ - { 0xe0c14753, 0xf9be, 0x11d2, 0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xe0c14753, 0xf9be, 0x11d2, {0x9a, 0x0c, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define DEVICE_PATH_MESSAGING_VT_100 \ - { 0xdfa66065, 0xb419, 0x11d3, 0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xdfa66065, 0xb419, 0x11d3, {0x9a, 0x2d, 0x00, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } #define DEVICE_PATH_MESSAGING_VT_100_PLUS \ - { 0x7baec70b, 0x57e0, 0x4c76, 0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43 } + { 0x7baec70b, 0x57e0, 0x4c76, {0x8e, 0x87, 0x2f, 0x9e, 0x28, 0x08, 0x83, 0x43} } #define DEVICE_PATH_MESSAGING_VT_UTF8 \ - { 0xad15a0d6, 0x8bec, 0x4acf, 0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88 } + { 0xad15a0d6, 0x8bec, 0x4acf, {0xa0, 0x73, 0xd0, 0x1d, 0xe7, 0x7e, 0x2d, 0x88} } #define MEDIA_DEVICE_PATH 0x04 Modified: projects/clang380-import/sys/boot/efi/include/efierr.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efierr.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efierr.h Wed Jan 13 20:16:53 2016 (r293850) @@ -31,7 +31,7 @@ Revision History #define EFIWARN(a) (a) #define EFI_ERROR(a) (((INTN) a) < 0) -#define EFI_ERROR_CODE(a) (a & ~EFI_ERROR_MASK) +#define EFI_ERROR_CODE(a) (unsigned long)(a & ~EFI_ERROR_MASK) #define EFI_SUCCESS 0 Modified: projects/clang380-import/sys/boot/efi/include/efifpswa.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efifpswa.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efifpswa.h Wed Jan 13 20:16:53 2016 (r293850) @@ -7,7 +7,7 @@ */ #define EFI_INTEL_FPSWA \ - { 0xc41b6531, 0x97b9, 0x11d3, 0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d } + { 0xc41b6531, 0x97b9, 0x11d3, {0x9a, 0x29, 0x0, 0x90, 0x27, 0x3f, 0xc1, 0x4d} } INTERFACE_DECL(_FPSWA_INTERFACE); Modified: projects/clang380-import/sys/boot/efi/include/efigop.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efigop.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efigop.h Wed Jan 13 20:16:53 2016 (r293850) @@ -27,9 +27,8 @@ Revision History #ifndef _EFIGOP_H #define _EFIGOP_H -#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ - { 0x9042a9de, 0x23dc, 0x4a38, 0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, \ - 0x51, 0x6a } +#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ + { 0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a} } INTERFACE_DECL(_EFI_GRAPHICS_OUTPUT); Modified: projects/clang380-import/sys/boot/efi/include/efilib.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efilib.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efilib.h Wed Jan 13 20:16:53 2016 (r293850) @@ -50,3 +50,4 @@ time_t efi_time(EFI_TIME *); EFI_STATUS main(int argc, CHAR16 *argv[]); void exit(EFI_STATUS status); +void delay(int usecs); Modified: projects/clang380-import/sys/boot/efi/include/efinet.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efinet.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efinet.h Wed Jan 13 20:16:53 2016 (r293850) @@ -29,7 +29,7 @@ Revision History // #define EFI_SIMPLE_NETWORK_PROTOCOL \ - { 0xA19832B9, 0xAC25, 0x11D3, 0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D } + { 0xA19832B9, 0xAC25, 0x11D3, {0x9A, 0x2D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D} } INTERFACE_DECL(_EFI_SIMPLE_NETWORK); Modified: projects/clang380-import/sys/boot/efi/include/efipciio.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efipciio.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efipciio.h Wed Jan 13 20:16:53 2016 (r293850) @@ -21,9 +21,7 @@ /// Global ID for the PCI I/O Protocol /// #define EFI_PCI_IO_PROTOCOL_GUID \ - { \ - 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a } \ - } + { 0x4cf5b200, 0x68b8, 0x4ca5, {0x9e, 0xec, 0xb2, 0x3e, 0x3f, 0x50, 0x2, 0x9a} } typedef struct _EFI_PCI_IO_PROTOCOL EFI_PCI_IO_PROTOCOL; Modified: projects/clang380-import/sys/boot/efi/include/efiprot.h ============================================================================== --- projects/clang380-import/sys/boot/efi/include/efiprot.h Wed Jan 13 20:07:28 2016 (r293849) +++ projects/clang380-import/sys/boot/efi/include/efiprot.h Wed Jan 13 20:16:53 2016 (r293850) @@ -31,8 +31,8 @@ Revision History // Device Path protocol // -#define DEVICE_PATH_PROTOCOL \ - { 0x9576e91, 0x6d3f, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } +#define DEVICE_PATH_PROTOCOL \ + { 0x9576e91, 0x6d3f, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } // @@ -40,7 +40,7 @@ Revision History // #define BLOCK_IO_PROTOCOL \ - { 0x964e5b21, 0x6459, 0x11d2, 0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } + { 0x964e5b21, 0x6459, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b} } *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Thu Jan 14 13:29:19 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 22DDEA82EF9 for ; Thu, 14 Jan 2016 13:29:19 +0000 (UTC) (envelope-from gjb@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 B46991F96; Thu, 14 Jan 2016 13:29:18 +0000 (UTC) (envelope-from gjb@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0EDTHPi002815; Thu, 14 Jan 2016 13:29:17 GMT (envelope-from gjb@FreeBSD.org) Received: (from gjb@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0EDTDVk002765; Thu, 14 Jan 2016 13:29:13 GMT (envelope-from gjb@FreeBSD.org) Message-Id: <201601141329.u0EDTDVk002765@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: gjb set sender to gjb@FreeBSD.org using -f From: Glen Barber Date: Thu, 14 Jan 2016 13:29:12 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r293915 - in projects/release-pkg: cddl/contrib/opensolaris/tools/ctf/cvt etc etc/mtree lib/csu/aarch64 lib/libc/stdlib lib/libc/string lib/libc/sys lib/libdpv lib/libthr/thread libexec... 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.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jan 2016 13:29:19 -0000 Author: gjb Date: Thu Jan 14 13:29:12 2016 New Revision: 293915 URL: https://svnweb.freebsd.org/changeset/base/293915 Log: MFH Sponsored by: The FreeBSD Foundation Added: projects/release-pkg/sys/dev/hyperv/vmbus/hv_et.c - copied unchanged from r293914, head/sys/dev/hyperv/vmbus/hv_et.c projects/release-pkg/sys/dev/sfxge/common/efx_lic.c - copied unchanged from r293914, head/sys/dev/sfxge/common/efx_lic.c projects/release-pkg/tests/sys/geom/ - copied from r293914, head/tests/sys/geom/ projects/release-pkg/usr.sbin/kldxref/ef_aarch64.c - copied unchanged from r293914, head/usr.sbin/kldxref/ef_aarch64.c Deleted: projects/release-pkg/tools/regression/geom_concat/ projects/release-pkg/tools/regression/geom_eli/ projects/release-pkg/tools/regression/geom_gate/ projects/release-pkg/tools/regression/geom_mirror/ projects/release-pkg/tools/regression/geom_nop/ projects/release-pkg/tools/regression/geom_raid3/ projects/release-pkg/tools/regression/geom_shsec/ projects/release-pkg/tools/regression/geom_stripe/ projects/release-pkg/tools/regression/geom_subr.sh projects/release-pkg/tools/regression/geom_uzip/ Modified: projects/release-pkg/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c projects/release-pkg/etc/Makefile projects/release-pkg/etc/mtree/BSD.tests.dist projects/release-pkg/lib/csu/aarch64/crt1.c projects/release-pkg/lib/libc/stdlib/tdelete.c projects/release-pkg/lib/libc/string/wcslcat.c projects/release-pkg/lib/libc/string/wcsncat.c projects/release-pkg/lib/libc/sys/stat.2 projects/release-pkg/lib/libdpv/dpv.c projects/release-pkg/lib/libdpv/dpv.h projects/release-pkg/lib/libthr/thread/thr_umtx.c projects/release-pkg/libexec/rtld-elf/aarch64/rtld_start.S projects/release-pkg/release/amd64/mkisoimages.sh projects/release-pkg/share/examples/pf/pf.conf projects/release-pkg/share/mk/bsd.sys.mk projects/release-pkg/sys/amd64/amd64/pmap.c projects/release-pkg/sys/amd64/linux/linux_proto.h projects/release-pkg/sys/amd64/linux/linux_syscall.h projects/release-pkg/sys/amd64/linux/linux_syscalls.c projects/release-pkg/sys/amd64/linux/linux_sysent.c projects/release-pkg/sys/amd64/linux/linux_systrace_args.c projects/release-pkg/sys/amd64/linux/syscalls.master projects/release-pkg/sys/amd64/linux32/linux32_proto.h projects/release-pkg/sys/amd64/linux32/linux32_syscall.h projects/release-pkg/sys/amd64/linux32/linux32_syscalls.c projects/release-pkg/sys/amd64/linux32/linux32_sysent.c projects/release-pkg/sys/amd64/linux32/linux32_systrace_args.c projects/release-pkg/sys/amd64/linux32/syscalls.master projects/release-pkg/sys/arm/arm/fusu.S projects/release-pkg/sys/boot/arm/uboot/Makefile projects/release-pkg/sys/boot/common/bootstrap.h projects/release-pkg/sys/boot/common/interp_forth.c projects/release-pkg/sys/boot/common/module.c projects/release-pkg/sys/boot/efi/fdt/Makefile projects/release-pkg/sys/boot/efi/libefi/Makefile projects/release-pkg/sys/compat/linux/linux_futex.c projects/release-pkg/sys/compat/linux/linux_misc.c projects/release-pkg/sys/conf/files.amd64 projects/release-pkg/sys/conf/files.i386 projects/release-pkg/sys/dev/drm2/drm_crtc.c projects/release-pkg/sys/dev/drm2/drm_pci.c projects/release-pkg/sys/dev/drm2/i915/i915_gem.c projects/release-pkg/sys/dev/drm2/i915/i915_gem_execbuffer.c projects/release-pkg/sys/dev/drm2/i915/i915_gem_gtt.c projects/release-pkg/sys/dev/drm2/i915/i915_gem_tiling.c projects/release-pkg/sys/dev/drm2/i915/i915_irq.c projects/release-pkg/sys/dev/drm2/i915/intel_crt.c projects/release-pkg/sys/dev/drm2/i915/intel_display.c projects/release-pkg/sys/dev/drm2/i915/intel_overlay.c projects/release-pkg/sys/dev/e1000/if_em.c projects/release-pkg/sys/dev/e1000/if_em.h projects/release-pkg/sys/dev/e1000/if_igb.c projects/release-pkg/sys/dev/e1000/if_igb.h projects/release-pkg/sys/dev/e1000/if_lem.c projects/release-pkg/sys/dev/e1000/if_lem.h projects/release-pkg/sys/dev/gpio/gpiobus.c projects/release-pkg/sys/dev/hyperv/include/hyperv.h projects/release-pkg/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/release-pkg/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/release-pkg/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/release-pkg/sys/dev/hyperv/vmbus/hv_connection.c projects/release-pkg/sys/dev/hyperv/vmbus/hv_hv.c projects/release-pkg/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c projects/release-pkg/sys/dev/hyperv/vmbus/hv_vmbus_priv.h projects/release-pkg/sys/dev/pty/pty.c projects/release-pkg/sys/dev/sfxge/common/ef10_impl.h projects/release-pkg/sys/dev/sfxge/common/ef10_tlv_layout.h projects/release-pkg/sys/dev/sfxge/common/efsys.h projects/release-pkg/sys/dev/sfxge/common/efx.h projects/release-pkg/sys/dev/sfxge/common/efx_bootcfg.c projects/release-pkg/sys/dev/sfxge/common/efx_check.h projects/release-pkg/sys/dev/sfxge/common/efx_crc32.c projects/release-pkg/sys/dev/sfxge/common/efx_ev.c projects/release-pkg/sys/dev/sfxge/common/efx_filter.c projects/release-pkg/sys/dev/sfxge/common/efx_hash.c projects/release-pkg/sys/dev/sfxge/common/efx_impl.h projects/release-pkg/sys/dev/sfxge/common/efx_intr.c projects/release-pkg/sys/dev/sfxge/common/efx_mac.c projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.c projects/release-pkg/sys/dev/sfxge/common/efx_mcdi.h projects/release-pkg/sys/dev/sfxge/common/efx_mon.c projects/release-pkg/sys/dev/sfxge/common/efx_nic.c projects/release-pkg/sys/dev/sfxge/common/efx_nvram.c projects/release-pkg/sys/dev/sfxge/common/efx_phy.c projects/release-pkg/sys/dev/sfxge/common/efx_port.c projects/release-pkg/sys/dev/sfxge/common/efx_regs_ef10.h projects/release-pkg/sys/dev/sfxge/common/efx_rx.c projects/release-pkg/sys/dev/sfxge/common/efx_sram.c projects/release-pkg/sys/dev/sfxge/common/efx_tx.c projects/release-pkg/sys/dev/sfxge/common/efx_types.h projects/release-pkg/sys/dev/sfxge/common/efx_vpd.c projects/release-pkg/sys/dev/sfxge/common/efx_wol.c projects/release-pkg/sys/dev/sfxge/common/hunt_ev.c projects/release-pkg/sys/dev/sfxge/common/hunt_filter.c projects/release-pkg/sys/dev/sfxge/common/hunt_impl.h projects/release-pkg/sys/dev/sfxge/common/hunt_intr.c projects/release-pkg/sys/dev/sfxge/common/hunt_mac.c projects/release-pkg/sys/dev/sfxge/common/hunt_mcdi.c projects/release-pkg/sys/dev/sfxge/common/hunt_nic.c projects/release-pkg/sys/dev/sfxge/common/hunt_nvram.c projects/release-pkg/sys/dev/sfxge/common/hunt_phy.c projects/release-pkg/sys/dev/sfxge/common/hunt_rx.c projects/release-pkg/sys/dev/sfxge/common/hunt_sram.c projects/release-pkg/sys/dev/sfxge/common/hunt_tx.c projects/release-pkg/sys/dev/sfxge/common/hunt_vpd.c projects/release-pkg/sys/dev/sfxge/common/mcdi_mon.c projects/release-pkg/sys/dev/sfxge/common/medford_impl.h projects/release-pkg/sys/dev/sfxge/common/medford_nic.c projects/release-pkg/sys/dev/sfxge/common/siena_impl.h projects/release-pkg/sys/dev/sfxge/common/siena_mac.c projects/release-pkg/sys/dev/sfxge/common/siena_mcdi.c projects/release-pkg/sys/dev/sfxge/common/siena_nic.c projects/release-pkg/sys/dev/sfxge/common/siena_nvram.c projects/release-pkg/sys/dev/sfxge/common/siena_phy.c projects/release-pkg/sys/dev/sfxge/common/siena_sram.c projects/release-pkg/sys/dev/sfxge/common/siena_vpd.c projects/release-pkg/sys/fs/devfs/devfs_vnops.c projects/release-pkg/sys/i386/linux/linux_proto.h projects/release-pkg/sys/i386/linux/linux_syscall.h projects/release-pkg/sys/i386/linux/linux_syscalls.c projects/release-pkg/sys/i386/linux/linux_sysent.c projects/release-pkg/sys/i386/linux/syscalls.master projects/release-pkg/sys/kern/kern_prot.c projects/release-pkg/sys/modules/hyperv/vmbus/Makefile projects/release-pkg/sys/modules/sfxge/Makefile projects/release-pkg/sys/net/route.c projects/release-pkg/sys/net/route.h projects/release-pkg/sys/netgraph/netflow/netflow.c projects/release-pkg/sys/netinet/in_rmx.c projects/release-pkg/sys/netinet/in_var.h projects/release-pkg/sys/netinet/ip_mroute.c projects/release-pkg/sys/netinet/sctp_usrreq.c projects/release-pkg/sys/netinet/sctputil.c projects/release-pkg/sys/netinet/tcp_output.c projects/release-pkg/sys/netinet6/sctp6_usrreq.c projects/release-pkg/sys/security/audit/audit_pipe.c projects/release-pkg/sys/sys/conf.h projects/release-pkg/sys/sys/ucred.h projects/release-pkg/sys/x86/x86/identcpu.c projects/release-pkg/tests/sys/Makefile projects/release-pkg/usr.bin/numactl/numactl.c projects/release-pkg/usr.sbin/bsdinstall/scripts/auto projects/release-pkg/usr.sbin/pkg/config.c projects/release-pkg/usr.sbin/rpcbind/check_bound.c projects/release-pkg/usr.sbin/rpcbind/tests/addrmerge_test.c Directory Properties: projects/release-pkg/ (props changed) projects/release-pkg/cddl/ (props changed) projects/release-pkg/cddl/contrib/opensolaris/ (props changed) projects/release-pkg/lib/libc/ (props changed) projects/release-pkg/share/ (props changed) projects/release-pkg/sys/ (props changed) projects/release-pkg/sys/boot/ (props changed) projects/release-pkg/sys/conf/ (props changed) projects/release-pkg/sys/dev/hyperv/ (props changed) projects/release-pkg/sys/modules/hyperv/ (props changed) Modified: projects/release-pkg/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c ============================================================================== --- projects/release-pkg/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c Thu Jan 14 13:29:12 2016 (r293915) @@ -283,7 +283,6 @@ static int equiv_su(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) { mlist_t *ml1 = stdp->t_members, *ml2 = ttdp->t_members; - mlist_t *olm1 = NULL; while (ml1 && ml2) { if (ml1->ml_offset != ml2->ml_offset || @@ -292,7 +291,6 @@ equiv_su(tdesc_t *stdp, tdesc_t *ttdp, e !equiv_node(ml1->ml_type, ml2->ml_type, ed)) return (0); - olm1 = ml1; ml1 = ml1->ml_next; ml2 = ml2->ml_next; } Modified: projects/release-pkg/etc/Makefile ============================================================================== --- projects/release-pkg/etc/Makefile Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/etc/Makefile Thu Jan 14 13:29:12 2016 (r293915) @@ -82,10 +82,6 @@ BIN1+= apmd.conf BIN1+= auto_master .endif -.if ${MK_BSNMP} != "no" -BIN1+= snmpd.config -.endif - .if ${MK_FREEBSD_UPDATE} != "no" BIN1+= freebsd-update.conf .endif @@ -219,6 +215,11 @@ distribution: ${BIN2} ${DESTDIR}/etc; \ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; +.if ${MK_BSNMP} != "no" + cd ${.CURDIR}; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ + snmpd.config ${DESTDIR}/etc; +.endif .if ${MK_AT} == "no" sed -i "" -e 's;.*/usr/libexec/atrun;#&;' ${DESTDIR}/etc/crontab .endif Modified: projects/release-pkg/etc/mtree/BSD.tests.dist ============================================================================== --- projects/release-pkg/etc/mtree/BSD.tests.dist Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/etc/mtree/BSD.tests.dist Thu Jan 14 13:29:12 2016 (r293915) @@ -376,6 +376,32 @@ .. file .. + geom + class + concat + .. + eli + .. + gate + .. + gpt + .. + mirror + .. + nop + .. + raid3 + .. + shsec + .. + stripe + .. + uzip + etalon + .. + .. + .. + .. kern acct .. Modified: projects/release-pkg/lib/csu/aarch64/crt1.c ============================================================================== --- projects/release-pkg/lib/csu/aarch64/crt1.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/csu/aarch64/crt1.c Thu Jan 14 13:29:12 2016 (r293915) @@ -54,11 +54,7 @@ __asm(" .text \n" " .align 0 \n" " .globl _start \n" " _start: \n" -/* TODO: Remove this when the kernel correctly aligns the stack */ -" cbnz x0, 1f \n" /* Are we using a new kernel? */ -" mov x0, sp \n" /* No, load the args from sp */ -" and sp, x0, #~0xf \n" /* And align the stack */ -"1: mov x3, x2 \n" /* cleanup */ +" mov x3, x2 \n" /* cleanup */ " add x1, x0, #8 \n" /* load argv */ " ldr x0, [x0] \n" /* load argc */ " add x2, x1, x0, lsl #3 \n" /* env is after argv */ Modified: projects/release-pkg/lib/libc/stdlib/tdelete.c ============================================================================== --- projects/release-pkg/lib/libc/stdlib/tdelete.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libc/stdlib/tdelete.c Thu Jan 14 13:29:12 2016 (r293915) @@ -62,7 +62,6 @@ __FBSDID("$FreeBSD$"); base = leaf; \ path_init(&path); \ } \ - result = &(*leaf)->key; \ path_taking_right(&path); \ leaf = &(*leaf)->rlink; \ } while (0) Modified: projects/release-pkg/lib/libc/string/wcslcat.c ============================================================================== --- projects/release-pkg/lib/libc/string/wcslcat.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libc/string/wcslcat.c Thu Jan 14 13:29:12 2016 (r293915) @@ -54,7 +54,7 @@ wcslcat(wchar_t *dst, const wchar_t *src size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ - while (*d != '\0' && n-- != 0) + while (n-- != 0 && *d != '\0') d++; dlen = d - dst; n = siz - dlen; Modified: projects/release-pkg/lib/libc/string/wcsncat.c ============================================================================== --- projects/release-pkg/lib/libc/string/wcsncat.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libc/string/wcsncat.c Thu Jan 14 13:29:12 2016 (r293915) @@ -48,7 +48,7 @@ wcsncat(wchar_t * __restrict s1, const w p++; q = p; r = s2; - while (*r && n) { + while (n && *r) { *q++ = *r++; n--; } Modified: projects/release-pkg/lib/libc/sys/stat.2 ============================================================================== --- projects/release-pkg/lib/libc/sys/stat.2 Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libc/sys/stat.2 Thu Jan 14 13:29:12 2016 (r293915) @@ -28,7 +28,7 @@ .\" @(#)stat.2 8.4 (Berkeley) 5/1/95 .\" $FreeBSD$ .\" -.Dd June 2, 2012 +.Dd January 14, 2016 .Dt STAT 2 .Os .Sh NAME @@ -40,12 +40,11 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.In sys/types.h .In sys/stat.h .Ft int -.Fn stat "const char *path" "struct stat *sb" +.Fn stat "const char * restrict path" "struct stat * restrict sb" .Ft int -.Fn lstat "const char *path" "struct stat *sb" +.Fn lstat "const char * restrict path" "struct stat * restrict sb" .Ft int .Fn fstat "int fd" "struct stat *sb" .Ft int Modified: projects/release-pkg/lib/libdpv/dpv.c ============================================================================== --- projects/release-pkg/lib/libdpv/dpv.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libdpv/dpv.c Thu Jan 14 13:29:12 2016 (r293915) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -482,6 +483,11 @@ dpv(struct dpv_config *config, struct dp /* Reads: label_size pbar_size pprompt aprompt dpv_nfiles */ /* Inits: dheight and dwidth */ + /* Default localeconv(3) settings for dialog(3) status */ + setlocale(LC_NUMERIC, + getenv("LC_ALL") == NULL && getenv("LC_NUMERIC") == NULL ? + LC_NUMERIC_DEFAULT : ""); + if (!debug) { /* Internally create the initial `--gauge' prompt text */ dprompt_recreate(file_list, (struct dpv_file_node *)NULL, 0); Modified: projects/release-pkg/lib/libdpv/dpv.h ============================================================================== --- projects/release-pkg/lib/libdpv/dpv.h Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libdpv/dpv.h Thu Jan 14 13:29:12 2016 (r293915) @@ -38,6 +38,9 @@ #define FALSE 0 #endif +/* localeconv(3) */ +#define LC_NUMERIC_DEFAULT "en_US.ISO8859-1" + /* Data to process */ extern long long dpv_overall_read; Modified: projects/release-pkg/lib/libthr/thread/thr_umtx.c ============================================================================== --- projects/release-pkg/lib/libthr/thread/thr_umtx.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/lib/libthr/thread/thr_umtx.c Thu Jan 14 13:29:12 2016 (r293915) @@ -42,7 +42,7 @@ int _umtx_op_err(void *obj, int op, u_lo void _thr_umutex_init(struct umutex *mtx) { - static struct umutex default_mtx = DEFAULT_UMUTEX; + static const struct umutex default_mtx = DEFAULT_UMUTEX; *mtx = default_mtx; } @@ -50,7 +50,8 @@ _thr_umutex_init(struct umutex *mtx) void _thr_urwlock_init(struct urwlock *rwl) { - static struct urwlock default_rwl = DEFAULT_URWLOCK; + static const struct urwlock default_rwl = DEFAULT_URWLOCK; + *rwl = default_rwl; } Modified: projects/release-pkg/libexec/rtld-elf/aarch64/rtld_start.S ============================================================================== --- projects/release-pkg/libexec/rtld-elf/aarch64/rtld_start.S Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/libexec/rtld-elf/aarch64/rtld_start.S Thu Jan 14 13:29:12 2016 (r293915) @@ -34,13 +34,7 @@ ENTRY(.rtld_start) mov x19, x0 /* Put ps_strings in a callee-saved register */ mov x20, sp /* And the stack pointer */ - /* Handle the old style stack */ - /* TODO: Remove this when the kernel correctly aligns the stack */ - cbnz x0, 1f - mov x0, sp /* sp points to the args */ - and sp, x0, #~0xf /* Align the stack as needed */ - -1: sub sp, sp, #16 /* Make room for obj_main & exit proc */ + sub sp, sp, #16 /* Make room for obj_main & exit proc */ mov x1, sp /* exit_proc */ add x2, x1, #8 /* obj_main */ Modified: projects/release-pkg/release/amd64/mkisoimages.sh ============================================================================== --- projects/release-pkg/release/amd64/mkisoimages.sh Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/release/amd64/mkisoimages.sh Thu Jan 14 13:29:12 2016 (r293915) @@ -28,7 +28,7 @@ if [ "x$1" = "x-b" ]; then bootable="-o bootimage=i386;$4/boot/cdboot -o no-emul-boot" # Make EFI system partition (should be done with makefs in the future) - dd if=/dev/zero of=efiboot.img bs=4k count=100 + dd if=/dev/zero of=efiboot.img bs=4k count=200 device=`mdconfig -a -t vnode -f efiboot.img` newfs_msdos -F 12 -m 0xf8 /dev/$device mkdir efi Modified: projects/release-pkg/share/examples/pf/pf.conf ============================================================================== --- projects/release-pkg/share/examples/pf/pf.conf Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/share/examples/pf/pf.conf Thu Jan 14 13:29:12 2016 (r293915) @@ -2,8 +2,8 @@ # $OpenBSD: pf.conf,v 1.34 2007/02/24 19:30:59 millert Exp $ # # See pf.conf(5) and /usr/share/examples/pf for syntax and examples. -# Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 -# in /etc/sysctl.conf if packets are to be forwarded between interfaces. +# Remember to set gateway_enable="YES" and/or ipv6_gateway_enable="YES" +# in /etc/rc.conf if packets are to be forwarded between interfaces. #ext_if="ext0" #int_if="int0" Modified: projects/release-pkg/share/mk/bsd.sys.mk ============================================================================== --- projects/release-pkg/share/mk/bsd.sys.mk Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/share/mk/bsd.sys.mk Thu Jan 14 13:29:12 2016 (r293915) @@ -164,10 +164,11 @@ SSP_CFLAGS?= -fstack-protector CFLAGS+= ${SSP_CFLAGS} .endif # SSP && !ARM && !MIPS -# Allow user-specified additional warning flags, plus compiler specific flag overrides. -# Unless we've overriden this... +# Allow user-specified additional warning flags, plus compiler and file +# specific flag overrides, unless we've overriden this... .if ${MK_WARNS} != "no" CFLAGS+= ${CWARNFLAGS} ${CWARNFLAGS.${COMPILER_TYPE}} +CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} .endif CFLAGS+= ${CFLAGS.${COMPILER_TYPE}} Modified: projects/release-pkg/sys/amd64/amd64/pmap.c ============================================================================== --- projects/release-pkg/sys/amd64/amd64/pmap.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/amd64/pmap.c Thu Jan 14 13:29:12 2016 (r293915) @@ -3018,11 +3018,14 @@ reserve_pv_entries(pmap_t pmap, int need retry: avail = 0; TAILQ_FOREACH(pc, &pmap->pm_pvchunk, pc_list) { +#ifndef __POPCNT__ if ((cpu_feature2 & CPUID2_POPCNT) == 0) { free = bitcount64(pc->pc_map[0]); free += bitcount64(pc->pc_map[1]); free += bitcount64(pc->pc_map[2]); - } else { + } else +#endif + { free = popcnt_pc_map_elem_pq(pc->pc_map[0]); free += popcnt_pc_map_elem_pq(pc->pc_map[1]); free += popcnt_pc_map_elem_pq(pc->pc_map[2]); Modified: projects/release-pkg/sys/amd64/linux/linux_proto.h ============================================================================== --- projects/release-pkg/sys/amd64/linux/linux_proto.h Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux/linux_proto.h Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #ifndef _LINUX_SYSPROTO_H_ @@ -966,7 +966,7 @@ struct linux_set_robust_list_args { }; struct linux_get_robust_list_args { char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)]; - char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)]; + char head_l_[PADL_(struct linux_robust_list_head **)]; struct linux_robust_list_head ** head; char head_r_[PADR_(struct linux_robust_list_head **)]; char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { Modified: projects/release-pkg/sys/amd64/linux/linux_syscall.h ============================================================================== --- projects/release-pkg/sys/amd64/linux/linux_syscall.h Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux/linux_syscall.h Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #define LINUX_SYS_read 0 Modified: projects/release-pkg/sys/amd64/linux/linux_syscalls.c ============================================================================== --- projects/release-pkg/sys/amd64/linux/linux_syscalls.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux/linux_syscalls.c Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ const char *linux_syscallnames[] = { Modified: projects/release-pkg/sys/amd64/linux/linux_sysent.c ============================================================================== --- projects/release-pkg/sys/amd64/linux/linux_sysent.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux/linux_sysent.c Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #include Modified: projects/release-pkg/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- projects/release-pkg/sys/amd64/linux/linux_systrace_args.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux/linux_systrace_args.c Thu Jan 14 13:29:12 2016 (r293915) @@ -2020,7 +2020,7 @@ systrace_args(int sysnum, void *params, case 274: { struct linux_get_robust_list_args *p = params; iarg[0] = p->pid; /* l_int */ - uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head * */ + uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head ** */ uarg[2] = (intptr_t) p->len; /* l_size_t * */ *n_args = 3; break; @@ -5347,7 +5347,7 @@ systrace_entry_setargdesc(int sysnum, in p = "l_int"; break; case 1: - p = "struct linux_robust_list_head *"; + p = "struct linux_robust_list_head **"; break; case 2: p = "l_size_t *"; Modified: projects/release-pkg/sys/amd64/linux/syscalls.master ============================================================================== --- projects/release-pkg/sys/amd64/linux/syscalls.master Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux/syscalls.master Thu Jan 14 13:29:12 2016 (r293915) @@ -461,8 +461,8 @@ 272 AUE_NULL STD { int linux_unshare(void); } 273 AUE_NULL STD { int linux_set_robust_list(struct linux_robust_list_head *head, \ l_size_t len); } -274 AUE_NULL STD { int linux_get_robust_list(l_int pid, struct linux_robust_list_head *head, \ - l_size_t *len); } +274 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ + struct linux_robust_list_head **head, l_size_t *len); } 275 AUE_NULL STD { int linux_splice(void); } 276 AUE_NULL STD { int linux_tee(void); } 277 AUE_NULL STD { int linux_sync_file_range(void); } Modified: projects/release-pkg/sys/amd64/linux32/linux32_proto.h ============================================================================== --- projects/release-pkg/sys/amd64/linux32/linux32_proto.h Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux32/linux32_proto.h Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #ifndef _LINUX32_SYSPROTO_H_ @@ -1023,7 +1023,7 @@ struct linux_set_robust_list_args { }; struct linux_get_robust_list_args { char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)]; - char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)]; + char head_l_[PADL_(struct linux_robust_list_head **)]; struct linux_robust_list_head ** head; char head_r_[PADR_(struct linux_robust_list_head **)]; char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { Modified: projects/release-pkg/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- projects/release-pkg/sys/amd64/linux32/linux32_syscall.h Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux32/linux32_syscall.h Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #define LINUX32_SYS_linux_exit 1 Modified: projects/release-pkg/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- projects/release-pkg/sys/amd64/linux32/linux32_syscalls.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux32/linux32_syscalls.c Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ const char *linux32_syscallnames[] = { Modified: projects/release-pkg/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- projects/release-pkg/sys/amd64/linux32/linux32_sysent.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux32/linux32_sysent.c Thu Jan 14 13:29:12 2016 (r293915) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #include "opt_compat.h" Modified: projects/release-pkg/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- projects/release-pkg/sys/amd64/linux32/linux32_systrace_args.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux32/linux32_systrace_args.c Thu Jan 14 13:29:12 2016 (r293915) @@ -2122,7 +2122,7 @@ systrace_args(int sysnum, void *params, case 312: { struct linux_get_robust_list_args *p = params; iarg[0] = p->pid; /* l_int */ - uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head * */ + uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head ** */ uarg[2] = (intptr_t) p->len; /* l_size_t * */ *n_args = 3; break; @@ -5551,7 +5551,7 @@ systrace_entry_setargdesc(int sysnum, in p = "l_int"; break; case 1: - p = "struct linux_robust_list_head *"; + p = "struct linux_robust_list_head **"; break; case 2: p = "l_size_t *"; Modified: projects/release-pkg/sys/amd64/linux32/syscalls.master ============================================================================== --- projects/release-pkg/sys/amd64/linux32/syscalls.master Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/amd64/linux32/syscalls.master Thu Jan 14 13:29:12 2016 (r293915) @@ -520,8 +520,8 @@ ; linux 2.6.17: 311 AUE_NULL STD { int linux_set_robust_list(struct linux_robust_list_head *head, \ l_size_t len); } -312 AUE_NULL STD { int linux_get_robust_list(l_int pid, struct linux_robust_list_head *head, \ - l_size_t *len); } +312 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ + struct linux_robust_list_head **head, l_size_t *len); } 313 AUE_NULL STD { int linux_splice(void); } 314 AUE_NULL STD { int linux_sync_file_range(void); } 315 AUE_NULL STD { int linux_tee(void); } Modified: projects/release-pkg/sys/arm/arm/fusu.S ============================================================================== --- projects/release-pkg/sys/arm/arm/fusu.S Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/arm/arm/fusu.S Thu Jan 14 13:29:12 2016 (r293915) @@ -139,8 +139,8 @@ EENTRY_NP(fueword32) mov r0, #0x00000000 str r0, [r2, #PCB_ONFAULT] RET -EEND(fuword32) -END(fuword) +EEND(fueword32) +END(fueword) /* * fusword(caddr_t uaddr); Modified: projects/release-pkg/sys/boot/arm/uboot/Makefile ============================================================================== --- projects/release-pkg/sys/boot/arm/uboot/Makefile Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/boot/arm/uboot/Makefile Thu Jan 14 13:29:12 2016 (r293915) @@ -8,6 +8,8 @@ NEWVERSWHAT= "U-Boot loader" ${MACHINE_A BINDIR?= /boot INSTALLFLAGS= -b WARNS?= 1 +CWARNFLAGS.gcc+= -Wno-int-to-pointer-cast + # Address at which ubldr will be loaded. # This varies for different boards and SOCs. UBLDR_LOADADDR?= 0x1000000 Modified: projects/release-pkg/sys/boot/common/bootstrap.h ============================================================================== --- projects/release-pkg/sys/boot/common/bootstrap.h Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/boot/common/bootstrap.h Thu Jan 14 13:29:12 2016 (r293915) @@ -56,7 +56,10 @@ typedef int (bootblk_cmd_t)(int argc, ch extern char *command_errmsg; extern char command_errbuf[]; /* XXX blah, length */ #define CMD_OK 0 -#define CMD_ERROR 1 +#define CMD_WARN 1 +#define CMD_ERROR 2 +#define CMD_CRIT 3 +#define CMD_FATAL 4 /* interp.c */ void interact(const char *rc); Modified: projects/release-pkg/sys/boot/common/interp_forth.c ============================================================================== --- projects/release-pkg/sys/boot/common/interp_forth.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/boot/common/interp_forth.c Thu Jan 14 13:29:12 2016 (r293915) @@ -138,13 +138,23 @@ bf_command(FICL_VM *vm) } else { result=BF_PARSE; } + + switch (result) { + case CMD_CRIT: + printf("%s\n", command_errmsg); + break; + case CMD_FATAL: + panic("%s\n", command_errmsg); + } + free(line); /* * If there was error during nested ficlExec(), we may no longer have * valid environment to return. Throw all exceptions from here. */ - if (result != 0) + if (result != CMD_OK) vmThrow(vm, result); + /* This is going to be thrown!!! */ stackPushINT(vm->pStack,result); } Modified: projects/release-pkg/sys/boot/common/module.c ============================================================================== --- projects/release-pkg/sys/boot/common/module.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/boot/common/module.c Thu Jan 14 13:29:12 2016 (r293915) @@ -112,7 +112,7 @@ command_load(int argc, char *argv[]) typestr = NULL; if (argc == 1) { command_errmsg = "no filename specified"; - return(CMD_ERROR); + return (CMD_CRIT); } while ((ch = getopt(argc, argv, "kt:")) != -1) { switch(ch) { @@ -126,7 +126,7 @@ command_load(int argc, char *argv[]) case '?': default: /* getopt has already reported an error */ - return(CMD_OK); + return (CMD_OK); } } argv += (optind - 1); @@ -138,33 +138,46 @@ command_load(int argc, char *argv[]) if (dofile) { if ((argc != 2) || (typestr == NULL) || (*typestr == 0)) { command_errmsg = "invalid load type"; - return(CMD_ERROR); + return (CMD_CRIT); } fp = file_findfile(argv[1], typestr); if (fp) { sprintf(command_errbuf, "warning: file '%s' already loaded", argv[1]); - return (CMD_ERROR); + return (CMD_WARN); } - return (file_loadraw(argv[1], typestr, 1) ? CMD_OK : CMD_ERROR); + if (file_loadraw(argv[1], typestr, 1) != NULL) + return (CMD_OK); + + /* Failing to load mfs_root is never going to end well! */ + if (strcmp("mfs_root", typestr) == 0) + return (CMD_FATAL); + + return (CMD_ERROR); } /* * Do we have explicit KLD load ? */ if (dokld || file_havepath(argv[1])) { error = mod_loadkld(argv[1], argc - 2, argv + 2); - if (error == EEXIST) + if (error == EEXIST) { sprintf(command_errbuf, "warning: KLD '%s' already loaded", argv[1]); - return (error == 0 ? CMD_OK : CMD_ERROR); + return (CMD_WARN); + } + + return (error == 0 ? CMD_OK : CMD_CRIT); } /* * Looks like a request for a module. */ error = mod_load(argv[1], NULL, argc - 2, argv + 2); - if (error == EEXIST) + if (error == EEXIST) { sprintf(command_errbuf, "warning: module '%s' already loaded", argv[1]); - return (error == 0 ? CMD_OK : CMD_ERROR); + return (CMD_WARN); + } + + return (error == 0 ? CMD_OK : CMD_CRIT); } COMMAND_SET(load_geli, "load_geli", "load a geli key", command_load_geli); Modified: projects/release-pkg/sys/boot/efi/fdt/Makefile ============================================================================== --- projects/release-pkg/sys/boot/efi/fdt/Makefile Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/boot/efi/fdt/Makefile Thu Jan 14 13:29:12 2016 (r293915) @@ -7,6 +7,8 @@ LIB= efi_fdt INTERNALLIB= WARNS?= 6 +CWARNFLAGS.gcc+= -Wno-strict-prototypes +CWARNFLAGS.gcc+= -Wno-redundant-decls SRCS= efi_fdt.c Modified: projects/release-pkg/sys/boot/efi/libefi/Makefile ============================================================================== --- projects/release-pkg/sys/boot/efi/libefi/Makefile Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/boot/efi/libefi/Makefile Thu Jan 14 13:29:12 2016 (r293915) @@ -3,6 +3,7 @@ LIB= efi INTERNALLIB= WARNS?= 2 +CWARNFLAGS.gcc+= -Wno-attributes SRCS= delay.c efi_console.c efinet.c efipart.c errno.c handles.c \ libefi.c time.c Modified: projects/release-pkg/sys/compat/linux/linux_futex.c ============================================================================== --- projects/release-pkg/sys/compat/linux/linux_futex.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/compat/linux/linux_futex.c Thu Jan 14 13:29:12 2016 (r293915) @@ -1131,7 +1131,7 @@ linux_get_robust_list(struct thread *td, return (EFAULT); } - error = copyout(head, args->head, sizeof(struct linux_robust_list_head)); + error = copyout(&head, args->head, sizeof(head)); if (error) { LIN_SDT_PROBE1(futex, linux_get_robust_list, copyout_error, error); Modified: projects/release-pkg/sys/compat/linux/linux_misc.c ============================================================================== --- projects/release-pkg/sys/compat/linux/linux_misc.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/compat/linux/linux_misc.c Thu Jan 14 13:29:12 2016 (r293915) @@ -1304,9 +1304,11 @@ linux_setgroups(struct thread *td, struc if (error) goto out; newcred = crget(); + crextend(newcred, ngrp + 1); p = td->td_proc; PROC_LOCK(p); - oldcred = crcopysafe(p, newcred); + oldcred = p->p_ucred; + crcopy(newcred, oldcred); /* * cr_groups[0] holds egid. Setting the whole set from Modified: projects/release-pkg/sys/conf/files.amd64 ============================================================================== --- projects/release-pkg/sys/conf/files.amd64 Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/conf/files.amd64 Thu Jan 14 13:29:12 2016 (r293915) @@ -273,6 +273,7 @@ dev/hyperv/vmbus/hv_channel.c optiona dev/hyperv/vmbus/hv_channel_mgmt.c optional hyperv dev/hyperv/vmbus/hv_connection.c optional hyperv dev/hyperv/vmbus/hv_hv.c optional hyperv +dev/hyperv/vmbus/hv_et.c optional hyperv dev/hyperv/vmbus/hv_ring_buffer.c optional hyperv dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c optional hyperv dev/nfe/if_nfe.c optional nfe pci @@ -316,6 +317,7 @@ dev/sfxge/common/efx_ev.c optional sfxge dev/sfxge/common/efx_filter.c optional sfxge pci dev/sfxge/common/efx_hash.c optional sfxge pci dev/sfxge/common/efx_intr.c optional sfxge pci +dev/sfxge/common/efx_lic.c optional sfxge pci dev/sfxge/common/efx_mac.c optional sfxge pci dev/sfxge/common/efx_mcdi.c optional sfxge pci dev/sfxge/common/efx_mon.c optional sfxge pci Modified: projects/release-pkg/sys/conf/files.i386 ============================================================================== --- projects/release-pkg/sys/conf/files.i386 Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/conf/files.i386 Thu Jan 14 13:29:12 2016 (r293915) @@ -247,6 +247,7 @@ dev/hyperv/vmbus/hv_channel.c optiona dev/hyperv/vmbus/hv_channel_mgmt.c optional hyperv dev/hyperv/vmbus/hv_connection.c optional hyperv dev/hyperv/vmbus/hv_hv.c optional hyperv +dev/hyperv/vmbus/hv_et.c optional hyperv dev/hyperv/vmbus/hv_ring_buffer.c optional hyperv dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c optional hyperv dev/ichwd/ichwd.c optional ichwd Modified: projects/release-pkg/sys/dev/drm2/drm_crtc.c ============================================================================== --- projects/release-pkg/sys/dev/drm2/drm_crtc.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/dev/drm2/drm_crtc.c Thu Jan 14 13:29:12 2016 (r293915) @@ -663,7 +663,7 @@ int drm_plane_init(struct drm_device *de plane->dev = dev; plane->funcs = funcs; plane->format_types = malloc(sizeof(uint32_t) * format_count, - DRM_MEM_KMS, M_NOWAIT); + DRM_MEM_KMS, M_WAITOK); if (!plane->format_types) { DRM_DEBUG_KMS("out of memory when allocating plane\n"); drm_mode_object_put(dev, &plane->base); @@ -1010,7 +1010,7 @@ int drm_mode_group_init(struct drm_devic total_objects += dev->mode_config.num_encoder; group->id_list = malloc(total_objects * sizeof(uint32_t), - DRM_MEM_KMS, M_NOWAIT | M_ZERO); + DRM_MEM_KMS, M_WAITOK | M_ZERO); if (!group->id_list) return -ENOMEM; @@ -1998,7 +1998,7 @@ int drm_mode_setcrtc(struct drm_device * connector_set = malloc(crtc_req->count_connectors * sizeof(struct drm_connector *), - DRM_MEM_KMS, M_NOWAIT); + DRM_MEM_KMS, M_WAITOK); if (!connector_set) { ret = -ENOMEM; goto out; @@ -2523,7 +2523,7 @@ int drm_mode_dirtyfb_ioctl(struct drm_de goto out_err1; } clips = malloc(num_clips * sizeof(*clips), DRM_MEM_KMS, - M_NOWAIT | M_ZERO); + M_WAITOK | M_ZERO); if (!clips) { ret = -ENOMEM; goto out_err1; @@ -2774,13 +2774,13 @@ struct drm_property *drm_property_create int ret; property = malloc(sizeof(struct drm_property), DRM_MEM_KMS, - M_NOWAIT | M_ZERO); + M_WAITOK | M_ZERO); if (!property) return NULL; if (num_values) { property->values = malloc(sizeof(uint64_t)*num_values, DRM_MEM_KMS, - M_NOWAIT | M_ZERO); + M_WAITOK | M_ZERO); if (!property->values) goto fail; } @@ -2908,7 +2908,7 @@ int drm_property_add_enum(struct drm_pro } prop_enum = malloc(sizeof(struct drm_property_enum), DRM_MEM_KMS, - M_NOWAIT | M_ZERO); + M_WAITOK | M_ZERO); if (!prop_enum) return -ENOMEM; @@ -3104,7 +3104,7 @@ static struct drm_property_blob *drm_pro return NULL; blob = malloc(sizeof(struct drm_property_blob)+length, DRM_MEM_KMS, - M_NOWAIT | M_ZERO); + M_WAITOK | M_ZERO); if (!blob) return NULL; @@ -3434,7 +3434,7 @@ int drm_mode_crtc_set_gamma_size(struct crtc->gamma_size = gamma_size; crtc->gamma_store = malloc(gamma_size * sizeof(uint16_t) * 3, - DRM_MEM_KMS, M_NOWAIT | M_ZERO); + DRM_MEM_KMS, M_WAITOK | M_ZERO); if (!crtc->gamma_store) { crtc->gamma_size = 0; return -ENOMEM; @@ -3632,7 +3632,7 @@ int drm_mode_page_flip_ioctl(struct drm_ file_priv->event_space -= sizeof e->event; mtx_unlock(&dev->event_lock); - e = malloc(sizeof *e, DRM_MEM_KMS, M_NOWAIT | M_ZERO); + e = malloc(sizeof *e, DRM_MEM_KMS, M_WAITOK | M_ZERO); if (e == NULL) { mtx_lock(&dev->event_lock); file_priv->event_space += sizeof e->event; Modified: projects/release-pkg/sys/dev/drm2/drm_pci.c ============================================================================== --- projects/release-pkg/sys/dev/drm2/drm_pci.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/dev/drm2/drm_pci.c Thu Jan 14 13:29:12 2016 (r293915) @@ -225,7 +225,7 @@ int drm_pci_set_unique(struct drm_device master->unique_len = u->unique_len; master->unique_size = u->unique_len + 1; - master->unique = malloc(master->unique_size, DRM_MEM_DRIVER, M_NOWAIT); + master->unique = malloc(master->unique_size, DRM_MEM_DRIVER, M_WAITOK); if (!master->unique) { ret = -ENOMEM; goto err; Modified: projects/release-pkg/sys/dev/drm2/i915/i915_gem.c ============================================================================== --- projects/release-pkg/sys/dev/drm2/i915/i915_gem.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/dev/drm2/i915/i915_gem.c Thu Jan 14 13:29:12 2016 (r293915) @@ -156,7 +156,7 @@ i915_gem_wait_for_error(struct drm_devic int ret; if (!atomic_load_acq_int(&dev_priv->mm.wedged)) - return (0); + return 0; mtx_lock(&dev_priv->error_completion_lock); while (dev_priv->error_completion == 0) { @@ -166,7 +166,7 @@ i915_gem_wait_for_error(struct drm_devic ret = -ERESTARTSYS; if (ret != 0) { mtx_unlock(&dev_priv->error_completion_lock); - return (ret); + return ret; } } mtx_unlock(&dev_priv->error_completion_lock); @@ -1861,26 +1861,30 @@ i915_gem_object_put_pages_range(struct d static void i915_gem_object_put_pages_gtt(struct drm_i915_gem_object *obj) { - vm_page_t page; - int page_count, i; + int page_count = obj->base.size / PAGE_SIZE; + int i; KASSERT(obj->madv != I915_MADV_PURGED_INTERNAL, ("Purged object")); if (obj->tiling_mode != I915_TILING_NONE) i915_gem_object_save_bit_17_swizzle(obj); + if (obj->madv == I915_MADV_DONTNEED) obj->dirty = 0; - page_count = obj->base.size / PAGE_SIZE; + VM_OBJECT_WLOCK(obj->base.vm_obj); #if GEM_PARANOID_CHECK_GTT i915_gem_assert_pages_not_mapped(obj->base.dev, obj->pages, page_count); #endif for (i = 0; i < page_count; i++) { - page = obj->pages[i]; + vm_page_t page = obj->pages[i]; + if (obj->dirty) vm_page_dirty(page); + if (obj->madv == I915_MADV_WILLNEED) vm_page_reference(page); + vm_page_lock(page); vm_page_unwire(obj->pages[i], PQ_ACTIVE); vm_page_unlock(page); @@ -1888,6 +1892,7 @@ i915_gem_object_put_pages_gtt(struct drm } VM_OBJECT_WUNLOCK(obj->base.vm_obj); obj->dirty = 0; + free(obj->pages, DRM_I915_GEM); obj->pages = NULL; } Modified: projects/release-pkg/sys/dev/drm2/i915/i915_gem_execbuffer.c ============================================================================== --- projects/release-pkg/sys/dev/drm2/i915/i915_gem_execbuffer.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/dev/drm2/i915/i915_gem_execbuffer.c Thu Jan 14 13:29:12 2016 (r293915) @@ -411,8 +411,8 @@ i915_gem_execbuffer_relocate_entry(struc reloc->offset += obj->gtt_offset; reloc_page = pmap_mapdev_attr(dev->agp->base + (reloc->offset & ~PAGE_MASK), PAGE_SIZE, PAT_WRITE_COMBINING); - reloc_entry = (uint32_t *)(reloc_page + (reloc->offset & - PAGE_MASK)); + reloc_entry = (uint32_t *) + (reloc_page + (reloc->offset & PAGE_MASK)); *(volatile uint32_t *)reloc_entry = reloc->delta; pmap_unmapdev((vm_offset_t)reloc_page, PAGE_SIZE); } @@ -502,7 +502,7 @@ i915_gem_execbuffer_relocate(struct drm_ struct list_head *objects) { struct drm_i915_gem_object *obj; - int ret, pflags; + int ret = 0, pflags; /* Try to move as many of the relocation targets off the active list * to avoid unnecessary fallbacks to the slow path, as we cannot wait @@ -510,7 +510,6 @@ i915_gem_execbuffer_relocate(struct drm_ */ i915_gem_retire_requests(dev); - ret = 0; /* This is the fast path and we cannot handle a pagefault whilst * holding the device lock lest the user pass in the relocations * contained within a mmaped bo. For in such a case we, the page @@ -952,6 +951,7 @@ validate_exec_list(struct drm_i915_gem_e *map = malloc(count * sizeof(*ma), DRM_I915_GEM, M_WAITOK | M_ZERO); *maplen = malloc(count * sizeof(*maplen), DRM_I915_GEM, M_WAITOK | M_ZERO); + for (i = 0; i < count; i++) { /* First check for malicious input causing overflow */ if (exec[i].relocation_count > Modified: projects/release-pkg/sys/dev/drm2/i915/i915_gem_gtt.c ============================================================================== --- projects/release-pkg/sys/dev/drm2/i915/i915_gem_gtt.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/dev/drm2/i915/i915_gem_gtt.c Thu Jan 14 13:29:12 2016 (r293915) @@ -107,21 +107,22 @@ int i915_gem_init_aliasing_ppgtt(struct I915_PPGTT_PT_ENTRIES); ppgtt->pd_offset = (first_pd_entry_in_global_pt) * sizeof(uint32_t); dev_priv->mm.aliasing_ppgtt = ppgtt; - return (0); + + return 0; } -static void -i915_ppgtt_insert_pages(struct i915_hw_ppgtt *ppgtt, unsigned first_entry, - unsigned num_entries, vm_page_t *pages, uint32_t pte_flags) +static void i915_ppgtt_insert_pages(struct i915_hw_ppgtt *ppgtt, + unsigned first_entry, + unsigned num_entries, + vm_page_t *pages, + uint32_t pte_flags) { uint32_t *pt_vaddr, pte; - struct sf_buf *sf; - unsigned act_pd, first_pte; - unsigned last_pte, i; + unsigned act_pd = first_entry / I915_PPGTT_PT_ENTRIES; + unsigned first_pte = first_entry % I915_PPGTT_PT_ENTRIES; + unsigned j, last_pte; vm_paddr_t page_addr; - - act_pd = first_entry / I915_PPGTT_PT_ENTRIES; - first_pte = first_entry % I915_PPGTT_PT_ENTRIES; + struct sf_buf *sf; while (num_entries) { last_pte = first_pte + num_entries; @@ -132,10 +133,10 @@ i915_ppgtt_insert_pages(struct i915_hw_p sf = sf_buf_alloc(ppgtt->pt_pages[act_pd], SFB_CPUPRIVATE); pt_vaddr = (uint32_t *)(uintptr_t)sf_buf_kva(sf); - for (i = first_pte; i < last_pte; i++) { + for (j = first_pte; j < last_pte; j++) { page_addr = VM_PAGE_TO_PHYS(*pages); pte = GEN6_PTE_ADDR_ENCODE(page_addr); - pt_vaddr[i] = pte | pte_flags; + pt_vaddr[j] = pte | pte_flags; pages++; } @@ -194,18 +195,21 @@ void i915_gem_init_ppgtt(struct drm_devi struct intel_ring_buffer *ring; struct i915_hw_ppgtt *ppgtt = dev_priv->mm.aliasing_ppgtt; u_int first_pd_entry_in_global_pt; - vm_paddr_t pt_addr; uint32_t pd_entry; int i; if (!dev_priv->mm.aliasing_ppgtt) return; + first_pd_entry_in_global_pt = 512 * 1024 - I915_PPGTT_PD_ENTRIES; for (i = 0; i < ppgtt->num_pd_entries; i++) { + vm_paddr_t pt_addr; + pt_addr = VM_PAGE_TO_PHYS(ppgtt->pt_pages[i]); pd_entry = GEN6_PDE_ADDR_ENCODE(pt_addr); pd_entry |= GEN6_PDE_VALID; + intel_gtt_write(first_pd_entry_in_global_pt + i, pd_entry); } intel_gtt_read_pte(first_pd_entry_in_global_pt); @@ -217,7 +221,7 @@ void i915_gem_init_ppgtt(struct drm_devi if (INTEL_INFO(dev)->gen == 6) { uint32_t ecochk, gab_ctl, ecobits; - ecobits = I915_READ(GAC_ECO_BITS); + ecobits = I915_READ(GAC_ECO_BITS); I915_WRITE(GAC_ECO_BITS, ecobits | ECOBITS_PPGTT_CACHE64B); gab_ctl = I915_READ(GAB_CTL); @@ -336,9 +340,8 @@ int i915_gem_gtt_prepare_object(struct d return 0; } -void -i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj, - enum i915_cache_level cache_level) +void i915_gem_gtt_bind_object(struct drm_i915_gem_object *obj, + enum i915_cache_level cache_level) { struct drm_device *dev; struct drm_i915_private *dev_priv; @@ -375,15 +378,14 @@ void i915_gem_gtt_finish_object(struct d } int i915_gem_init_global_gtt(struct drm_device *dev, - unsigned long start, - unsigned long mappable_end, - unsigned long end) + unsigned long start, + unsigned long mappable_end, + unsigned long end) { - drm_i915_private_t *dev_priv; + drm_i915_private_t *dev_priv = dev->dev_private; unsigned long mappable; int error; - dev_priv = dev->dev_private; mappable = min(end, mappable_end) - start; /* Substract the guard page ... */ Modified: projects/release-pkg/sys/dev/drm2/i915/i915_gem_tiling.c ============================================================================== --- projects/release-pkg/sys/dev/drm2/i915/i915_gem_tiling.c Thu Jan 14 13:14:12 2016 (r293914) +++ projects/release-pkg/sys/dev/drm2/i915/i915_gem_tiling.c Thu Jan 14 13:29:12 2016 (r293915) @@ -453,15 +453,15 @@ i915_gem_get_tiling(struct drm_device *d * by the GPU. */ static void -i915_gem_swizzle_page(vm_page_t m) +i915_gem_swizzle_page(vm_page_t page) { char temp[64]; - char *vaddr; struct sf_buf *sf; + char *vaddr; int i; /* XXXKIB sleep */ - sf = sf_buf_alloc(m, SFB_DEFAULT); + sf = sf_buf_alloc(page, SFB_DEFAULT); vaddr = (char *)sf_buf_kva(sf); *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Thu Jan 14 17:42:49 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 7863DA830CD for ; Thu, 14 Jan 2016 17:42:49 +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 D58041965; Thu, 14 Jan 2016 17:42:48 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0EHglvO087430; Thu, 14 Jan 2016 17:42:47 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0EHglUl087422; Thu, 14 Jan 2016 17:42:47 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601141742.u0EHglUl087422@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Thu, 14 Jan 2016 17:42:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294024 - in projects/clang380-import: contrib/llvm/include/llvm contrib/llvm/include/llvm/ADT contrib/llvm/include/llvm/Analysis contrib/llvm/include/llvm/CodeGen contrib/llvm/include/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 14 Jan 2016 17:42:49 -0000 Author: dim Date: Thu Jan 14 17:42:46 2016 New Revision: 294024 URL: https://svnweb.freebsd.org/changeset/base/294024 Log: Update llvm, clang and lldb to trunk r257626, and update build glue. Added: projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerEmbeddedInt.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerSumType.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ADT/PointerSumType.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcArchitectureSupport.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcArchitectureSupport.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcError.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcError.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCChannel.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RPCChannel.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/RPCUtils.h - copied unchanged from r293886, vendor/llvm/dist/include/llvm/ExecutionEngine/Orc/RPCUtils.h projects/clang380-import/contrib/llvm/include/llvm/Support/ELFRelocs/WebAssembly.def - copied unchanged from r293886, vendor/llvm/dist/include/llvm/Support/ELFRelocs/WebAssembly.def projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcArchitectureSupport.cpp projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcError.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcError.cpp projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/AMDGPU/SIMachineScheduler.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIMachineScheduler.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/AMDGPU/SIMachineScheduler.h projects/clang380-import/contrib/llvm/lib/Target/AVR/AVR.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/AVR/AVR.h projects/clang380-import/contrib/llvm/lib/Target/AVR/AVRSelectionDAGInfo.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/AVR/AVRSelectionDAGInfo.h projects/clang380-import/contrib/llvm/lib/Target/AVR/AVRTargetObjectFile.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/AVR/AVRTargetObjectFile.cpp projects/clang380-import/contrib/llvm/lib/Target/AVR/AVRTargetObjectFile.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/AVR/AVRTargetObjectFile.h projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonRDF.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/HexagonRDF.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonRDF.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/HexagonRDF.h projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/HexagonRDFOpt.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFCopy.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFCopy.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFCopy.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFCopy.h projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFDeadCode.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFDeadCode.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFDeadCode.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFDeadCode.h projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFGraph.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFGraph.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFGraph.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFGraph.h projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFLiveness.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFLiveness.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/RDFLiveness.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/Hexagon/RDFLiveness.h projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/Disassembler/ - copied from r293886, vendor/llvm/dist/lib/Target/WebAssembly/Disassembler/ projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp - copied unchanged from r293886, vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h - copied unchanged from r293886, vendor/llvm/dist/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyTargetStreamer.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Core/LoadedModuleInfoList.h - copied unchanged from r293913, vendor/lldb/dist/include/lldb/Core/LoadedModuleInfoList.h projects/clang380-import/contrib/llvm/tools/lli/RemoteJITUtils.h - copied unchanged from r293886, vendor/llvm/dist/tools/lli/RemoteJITUtils.h Deleted: projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/OrcTargetSupport.h projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcTargetSupport.cpp projects/clang380-import/contrib/llvm/tools/lli/RPCChannel.h projects/clang380-import/contrib/llvm/tools/lli/RemoteMemoryManager.cpp projects/clang380-import/contrib/llvm/tools/lli/RemoteMemoryManager.h projects/clang380-import/contrib/llvm/tools/lli/RemoteTarget.cpp projects/clang380-import/contrib/llvm/tools/lli/RemoteTarget.h projects/clang380-import/contrib/llvm/tools/lli/RemoteTargetExternal.cpp projects/clang380-import/contrib/llvm/tools/lli/RemoteTargetExternal.h projects/clang380-import/contrib/llvm/tools/lli/RemoteTargetMessage.h projects/clang380-import/contrib/llvm/tools/lli/Unix/ projects/clang380-import/contrib/llvm/tools/lli/Windows/ Modified: projects/clang380-import/contrib/llvm/include/llvm/ADT/IntEqClasses.h projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerIntPair.h projects/clang380-import/contrib/llvm/include/llvm/ADT/Twine.h projects/clang380-import/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h projects/clang380-import/contrib/llvm/include/llvm/Analysis/LoopInfo.h projects/clang380-import/contrib/llvm/include/llvm/CodeGen/AsmPrinter.h projects/clang380-import/contrib/llvm/include/llvm/CodeGen/DIE.h projects/clang380-import/contrib/llvm/include/llvm/CodeGen/LiveInterval.h projects/clang380-import/contrib/llvm/include/llvm/CodeGen/RegisterPressure.h projects/clang380-import/contrib/llvm/include/llvm/CodeGen/WinEHFuncInfo.h projects/clang380-import/contrib/llvm/include/llvm/DebugInfo/Symbolize/DIPrinter.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/IndirectionUtils.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/RTDyldMemoryManager.h projects/clang380-import/contrib/llvm/include/llvm/ExecutionEngine/RuntimeDyld.h projects/clang380-import/contrib/llvm/include/llvm/IR/Attributes.td projects/clang380-import/contrib/llvm/include/llvm/IR/Function.h projects/clang380-import/contrib/llvm/include/llvm/IR/IRBuilder.h projects/clang380-import/contrib/llvm/include/llvm/IR/Intrinsics.td projects/clang380-import/contrib/llvm/include/llvm/IR/IntrinsicsX86.td projects/clang380-import/contrib/llvm/include/llvm/IR/LLVMContext.h projects/clang380-import/contrib/llvm/include/llvm/IR/Metadata.h projects/clang380-import/contrib/llvm/include/llvm/InitializePasses.h projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h projects/clang380-import/contrib/llvm/include/llvm/Linker/Linker.h projects/clang380-import/contrib/llvm/include/llvm/MC/MCExpr.h projects/clang380-import/contrib/llvm/include/llvm/MC/MCObjectFileInfo.h projects/clang380-import/contrib/llvm/include/llvm/MC/MCStreamer.h projects/clang380-import/contrib/llvm/include/llvm/Object/COFF.h projects/clang380-import/contrib/llvm/include/llvm/Object/ELFObjectFile.h projects/clang380-import/contrib/llvm/include/llvm/Pass.h projects/clang380-import/contrib/llvm/include/llvm/ProfileData/CoverageMapping.h projects/clang380-import/contrib/llvm/include/llvm/ProfileData/InstrProf.h projects/clang380-import/contrib/llvm/include/llvm/ProfileData/InstrProfData.inc projects/clang380-import/contrib/llvm/include/llvm/ProfileData/SampleProf.h projects/clang380-import/contrib/llvm/include/llvm/Support/Allocator.h projects/clang380-import/contrib/llvm/include/llvm/Support/COFF.h projects/clang380-import/contrib/llvm/include/llvm/Support/ELF.h projects/clang380-import/contrib/llvm/include/llvm/Support/GenericDomTree.h projects/clang380-import/contrib/llvm/include/llvm/Support/MathExtras.h projects/clang380-import/contrib/llvm/include/llvm/Transforms/IPO.h projects/clang380-import/contrib/llvm/include/llvm/Transforms/Utils/Cloning.h projects/clang380-import/contrib/llvm/include/llvm/Transforms/Utils/Local.h projects/clang380-import/contrib/llvm/include/llvm/module.modulemap projects/clang380-import/contrib/llvm/lib/Analysis/BasicAliasAnalysis.cpp projects/clang380-import/contrib/llvm/lib/Analysis/CallGraphSCCPass.cpp projects/clang380-import/contrib/llvm/lib/Analysis/GlobalsModRef.cpp projects/clang380-import/contrib/llvm/lib/Analysis/InstructionSimplify.cpp projects/clang380-import/contrib/llvm/lib/Analysis/LoopAccessAnalysis.cpp projects/clang380-import/contrib/llvm/lib/Analysis/LoopInfo.cpp projects/clang380-import/contrib/llvm/lib/Analysis/LoopPass.cpp projects/clang380-import/contrib/llvm/lib/Analysis/ScopedNoAliasAA.cpp projects/clang380-import/contrib/llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp projects/clang380-import/contrib/llvm/lib/Analysis/ValueTracking.cpp projects/clang380-import/contrib/llvm/lib/Bitcode/Reader/BitcodeReader.cpp projects/clang380-import/contrib/llvm/lib/Bitcode/Writer/BitcodeWriter.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DIE.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.h projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/WinCodeViewLineTables.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/BranchFolding.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/LiveDebugValues.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/LiveInterval.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/LiveIntervalAnalysis.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/MachineBasicBlock.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/MachineFunctionPrinterPass.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/MachineInstr.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/MachineLICM.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/MachineVerifier.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/RegisterCoalescer.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/RegisterPressure.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/ScheduleDAGInstrs.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/ShrinkWrap.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/StackColoring.cpp projects/clang380-import/contrib/llvm/lib/CodeGen/WinEHPrepare.cpp projects/clang380-import/contrib/llvm/lib/DebugInfo/Symbolize/DIPrinter.cpp projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.cpp projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcCBindingsStack.h projects/clang380-import/contrib/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h projects/clang380-import/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp projects/clang380-import/contrib/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h projects/clang380-import/contrib/llvm/lib/ExecutionEngine/SectionMemoryManager.cpp projects/clang380-import/contrib/llvm/lib/IR/AsmWriter.cpp projects/clang380-import/contrib/llvm/lib/IR/Core.cpp projects/clang380-import/contrib/llvm/lib/IR/Function.cpp projects/clang380-import/contrib/llvm/lib/IR/IRPrintingPasses.cpp projects/clang380-import/contrib/llvm/lib/IR/LLVMContext.cpp projects/clang380-import/contrib/llvm/lib/IR/LLVMContextImpl.h projects/clang380-import/contrib/llvm/lib/IR/LegacyPassManager.cpp projects/clang380-import/contrib/llvm/lib/IR/Metadata.cpp projects/clang380-import/contrib/llvm/lib/IR/Verifier.cpp projects/clang380-import/contrib/llvm/lib/LTO/LTOCodeGenerator.cpp projects/clang380-import/contrib/llvm/lib/Linker/IRMover.cpp projects/clang380-import/contrib/llvm/lib/Linker/LinkModules.cpp projects/clang380-import/contrib/llvm/lib/MC/MCExpr.cpp projects/clang380-import/contrib/llvm/lib/MC/MCObjectFileInfo.cpp projects/clang380-import/contrib/llvm/lib/MC/MCObjectStreamer.cpp projects/clang380-import/contrib/llvm/lib/MC/WinCOFFObjectWriter.cpp projects/clang380-import/contrib/llvm/lib/Object/COFFObjectFile.cpp projects/clang380-import/contrib/llvm/lib/Object/ELF.cpp projects/clang380-import/contrib/llvm/lib/ProfileData/CoverageMapping.cpp projects/clang380-import/contrib/llvm/lib/ProfileData/CoverageMappingReader.cpp projects/clang380-import/contrib/llvm/lib/ProfileData/InstrProf.cpp projects/clang380-import/contrib/llvm/lib/ProfileData/InstrProfWriter.cpp projects/clang380-import/contrib/llvm/lib/Support/Debug.cpp projects/clang380-import/contrib/llvm/lib/Support/IntEqClasses.cpp projects/clang380-import/contrib/llvm/lib/Support/Triple.cpp projects/clang380-import/contrib/llvm/lib/Support/Windows/Path.inc projects/clang380-import/contrib/llvm/lib/Support/Windows/Signals.inc projects/clang380-import/contrib/llvm/lib/Support/Windows/WindowsSupport.h projects/clang380-import/contrib/llvm/lib/Support/raw_ostream.cpp projects/clang380-import/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/AArch64/AArch64InstrInfo.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUCallingConv.td projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/EvergreenInstructions.td projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIDefines.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIFoldOperands.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIISelLowering.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIInsertWaits.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIInstrInfo.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIInstructions.td projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SIRegisterInfo.h projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/SITypeRewriter.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMBaseRegisterInfo.h projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMCallingConv.td projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMFastISel.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMISelDAGToDAG.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMISelLowering.h projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMInstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMInstrNEON.td projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMInstrThumb.td projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMInstrThumb2.td projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMInstrVFP.td projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/ARMMachineFunctionInfo.h projects/clang380-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/MCTargetDesc/ARMTargetStreamer.cpp projects/clang380-import/contrib/llvm/lib/Target/ARM/Thumb1FrameLowering.h projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonBitSimplify.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonInstrInfoV4.td projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonRegisterInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCCodeEmitter.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.cpp projects/clang380-import/contrib/llvm/lib/Target/Hexagon/MCTargetDesc/HexagonShuffler.h projects/clang380-import/contrib/llvm/lib/Target/Mips/MipsISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/Mips/MipsISelLowering.h projects/clang380-import/contrib/llvm/lib/Target/Mips/MipsInstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/Mips/MipsSEInstrInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/NVPTX/NVPTXTargetObjectFile.h projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCInstr64Bit.td projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCInstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCMachineFunctionInfo.h projects/clang380-import/contrib/llvm/lib/Target/PowerPC/PPCTLSDynamicCall.cpp projects/clang380-import/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/Sparc/SparcInstrInfo.h projects/clang380-import/contrib/llvm/lib/Target/SystemZ/SystemZInstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/InstPrinter/WebAssemblyInstPrinter.h projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyAsmBackend.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyELFObjectWriter.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCAsmInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCCodeEmitter.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.h projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyCFGStackify.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrControl.td projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyInstrMemory.td projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyMCInstLower.h projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyRegisterInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp projects/clang380-import/contrib/llvm/lib/Target/WebAssembly/known_gcc_test_failures.txt projects/clang380-import/contrib/llvm/lib/Target/X86/X86.h projects/clang380-import/contrib/llvm/lib/Target/X86/X86CallingConv.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86FastISel.cpp projects/clang380-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/X86/X86ISelLowering.h projects/clang380-import/contrib/llvm/lib/Target/X86/X86InstrAVX512.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86InstrExtension.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86InstrFragmentsSIMD.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86InstrInfo.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86InstrMPX.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86InstrSSE.td projects/clang380-import/contrib/llvm/lib/Target/X86/X86IntrinsicsInfo.h projects/clang380-import/contrib/llvm/lib/Target/X86/X86MachineFunctionInfo.h projects/clang380-import/contrib/llvm/lib/Target/X86/X86OptimizeLEAs.cpp projects/clang380-import/contrib/llvm/lib/Target/X86/X86RegisterInfo.cpp projects/clang380-import/contrib/llvm/lib/Target/X86/X86RegisterInfo.h projects/clang380-import/contrib/llvm/lib/Transforms/IPO/ForceFunctionAttrs.cpp projects/clang380-import/contrib/llvm/lib/Transforms/IPO/FunctionAttrs.cpp projects/clang380-import/contrib/llvm/lib/Transforms/IPO/FunctionImport.cpp projects/clang380-import/contrib/llvm/lib/Transforms/IPO/IPO.cpp projects/clang380-import/contrib/llvm/lib/Transforms/IPO/LoopExtractor.cpp projects/clang380-import/contrib/llvm/lib/Transforms/IPO/PassManagerBuilder.cpp projects/clang380-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp projects/clang380-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp projects/clang380-import/contrib/llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Instrumentation/InstrProfiling.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/JumpThreading.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/LICM.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/LoopDeletion.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/PlaceSafepoints.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/Reassociate.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/RewriteStatepointsForGC.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/SCCP.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/BasicBlockUtils.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/CloneFunction.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/Local.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/LoopUnroll.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/LoopUtils.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/SimplifyCFG.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/SimplifyLibCalls.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/ValueMapper.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Action.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/InputInfo.h projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/MinGWToolChain.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/clang380-import/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h projects/clang380-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Interpreter/CommandReturnObject.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Symbol/ClangASTContext.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Symbol/CompilerDeclContext.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Symbol/GoASTContext.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Symbol/SymbolFile.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Symbol/TypeSystem.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/CPPLanguageRuntime.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/Process.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/SystemRuntime.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/Thread.h projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanStepOut.h projects/clang380-import/contrib/llvm/tools/lldb/source/Commands/CommandObjectProcess.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Core/StringList.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Host/common/HostInfoBase.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Interpreter/CommandInterpreter.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Interpreter/CommandReturnObject.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ABI/SysV-mips64/ABISysV_mips64.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntime.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/LanguageRuntime/RenderScript/RenderScriptRuntime/RenderScriptRuntime.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/InferiorCallPOSIX.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/Utility/RegisterContextLLDB.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/Process/gdb-remote/ThreadGDBRemote.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DIERef.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h projects/clang380-import/contrib/llvm/tools/lldb/source/Plugins/UnwindAssembly/x86/UnwindAssembly-x86.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Symbol/ClangASTContext.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Symbol/CompilerDeclContext.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Symbol/LineTable.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Symbol/SymbolFile.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Target/Process.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Target/Thread.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Target/ThreadPlanShouldStopHere.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOut.cpp projects/clang380-import/contrib/llvm/tools/lldb/source/Target/ThreadPlanStepOverRange.cpp projects/clang380-import/contrib/llvm/tools/lli/ChildTarget/ChildTarget.cpp projects/clang380-import/contrib/llvm/tools/lli/OrcLazyJIT.cpp projects/clang380-import/contrib/llvm/tools/lli/OrcLazyJIT.h projects/clang380-import/contrib/llvm/tools/lli/lli.cpp projects/clang380-import/contrib/llvm/tools/llvm-lto/llvm-lto.cpp projects/clang380-import/contrib/llvm/tools/llvm-objdump/COFFDump.cpp projects/clang380-import/contrib/llvm/tools/llvm-objdump/MachODump.cpp projects/clang380-import/contrib/llvm/tools/llvm-objdump/llvm-objdump.cpp projects/clang380-import/contrib/llvm/tools/llvm-objdump/llvm-objdump.h projects/clang380-import/contrib/llvm/tools/llvm-readobj/COFFDumper.cpp projects/clang380-import/contrib/llvm/tools/llvm-readobj/ELFDumper.cpp projects/clang380-import/contrib/llvm/tools/llvm-symbolizer/llvm-symbolizer.cpp projects/clang380-import/contrib/llvm/utils/TableGen/AsmWriterEmitter.cpp projects/clang380-import/contrib/llvm/utils/TableGen/AsmWriterInst.cpp projects/clang380-import/lib/clang/include/clang/Basic/Version.inc projects/clang380-import/lib/clang/libllvmorcjit/Makefile projects/clang380-import/lib/clang/libllvmsupport/Makefile projects/clang380-import/usr.bin/clang/lli/Makefile Directory Properties: projects/clang380-import/contrib/llvm/ (props changed) projects/clang380-import/contrib/llvm/tools/clang/ (props changed) projects/clang380-import/contrib/llvm/tools/lldb/ (props changed) projects/clang380-import/contrib/llvm/tools/llvm-lto/ (props changed) Modified: projects/clang380-import/contrib/llvm/include/llvm/ADT/IntEqClasses.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/ADT/IntEqClasses.h Thu Jan 14 17:16:47 2016 (r294023) +++ projects/clang380-import/contrib/llvm/include/llvm/ADT/IntEqClasses.h Thu Jan 14 17:42:46 2016 (r294024) @@ -53,10 +53,10 @@ public: NumClasses = 0; } - /// join - Join the equivalence classes of a and b. After joining classes, - /// findLeader(a) == findLeader(b). - /// This requires an uncompressed map. - void join(unsigned a, unsigned b); + /// Join the equivalence classes of a and b. After joining classes, + /// findLeader(a) == findLeader(b). This requires an uncompressed map. + /// Returns the new leader. + unsigned join(unsigned a, unsigned b); /// findLeader - Compute the leader of a's equivalence class. This is the /// smallest member of the class. Copied: projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerEmbeddedInt.h (from r293886, vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerEmbeddedInt.h Thu Jan 14 17:42:46 2016 (r294024, copy of r293886, vendor/llvm/dist/include/llvm/ADT/PointerEmbeddedInt.h) @@ -0,0 +1,103 @@ +//===- llvm/ADT/PointerEmbeddedInt.h ----------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_POINTEREMBEDDEDINT_H +#define LLVM_ADT_POINTEREMBEDDEDINT_H + +#include "llvm/ADT/DenseMapInfo.h" +#include "llvm/Support/PointerLikeTypeTraits.h" +#include + +namespace llvm { + +/// Utility to embed an integer into a pointer-like type. This is specifically +/// intended to allow embedding integers where fewer bits are required than +/// exist in a pointer, and the integer can participate in abstractions along +/// side other pointer-like types. For example it can be placed into a \c +/// PointerSumType or \c PointerUnion. +/// +/// Note that much like pointers, an integer value of zero has special utility +/// due to boolean conversions. For example, a non-null value can be tested for +/// in the above abstractions without testing the particular active member. +/// Also, the default constructed value zero initializes the integer. +template +class PointerEmbeddedInt { + uintptr_t Value; + + static_assert(Bits < sizeof(uintptr_t) * CHAR_BIT, + "Cannot embed more bits than we have in a pointer!"); + + enum : uintptr_t { + // We shift as many zeros into the value as we can while preserving the + // number of bits desired for the integer. + Shift = sizeof(uintptr_t) * CHAR_BIT - Bits, + + // We also want to be able to mask out the preserved bits for asserts. + Mask = static_cast(-1) << Bits + }; + + friend class PointerLikeTypeTraits; + + explicit PointerEmbeddedInt(uintptr_t Value) : Value(Value) {} + +public: + PointerEmbeddedInt() : Value(0) {} + + PointerEmbeddedInt(IntT I) : Value(static_cast(I) << Shift) { + assert((I & Mask) == 0 && "Integer has bits outside those preserved!"); + } + + PointerEmbeddedInt &operator=(IntT I) { + assert((I & Mask) == 0 && "Integer has bits outside those preserved!"); + Value = static_cast(I) << Shift; + } + + // Note that this imilict conversion additionally allows all of the basic + // comparison operators to work transparently, etc. + operator IntT() const { return static_cast(Value >> Shift); } +}; + +// Provide pointer like traits to support use with pointer unions and sum +// types. +template +class PointerLikeTypeTraits> { + typedef PointerEmbeddedInt T; + +public: + static inline void *getAsVoidPointer(const T &P) { + return reinterpret_cast(P.Value); + } + static inline T getFromVoidPointer(void *P) { + return T(reinterpret_cast(P)); + } + static inline T getFromVoidPointer(const void *P) { + return T(reinterpret_cast(P)); + } + + enum { NumLowBitsAvailable = T::Shift }; +}; + +// Teach DenseMap how to use PointerEmbeddedInt objects as keys if the Int type +// itself can be a key. +template +struct DenseMapInfo> { + typedef PointerEmbeddedInt T; + + typedef DenseMapInfo IntInfo; + + static inline T getEmptyKey() { return IntInfo::getEmptyKey(); } + static inline T getTombstoneKey() { return IntInfo::getTombstoneKey(); } + static unsigned getHashValue(const T &Arg) { + return IntInfo::getHashValue(Arg); + } + static bool isEqual(const T &LHS, const T &RHS) { return LHS == RHS; } +}; +} + +#endif Modified: projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerIntPair.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerIntPair.h Thu Jan 14 17:16:47 2016 (r294023) +++ projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerIntPair.h Thu Jan 14 17:42:46 2016 (r294024) @@ -55,20 +55,25 @@ public: PointerTy getPointer() const { return Info::getPointer(Value); } - IntType getInt() const { return (IntType)Info::getInt(Value); } + IntType getInt() const { + return (IntType)Info::getInt(Value); + } void setPointer(PointerTy PtrVal) { Value = Info::updatePointer(Value, PtrVal); } - void setInt(IntType IntVal) { Value = Info::updateInt(Value, IntVal); } + void setInt(IntType IntVal) { + Value = Info::updateInt(Value, static_cast(IntVal)); + } void initWithPointer(PointerTy PtrVal) { Value = Info::updatePointer(0, PtrVal); } void setPointerAndInt(PointerTy PtrVal, IntType IntVal) { - Value = Info::updateInt(Info::updatePointer(0, PtrVal), IntVal); + Value = Info::updateInt(Info::updatePointer(0, PtrVal), + static_cast(IntVal)); } PointerTy const *getAddrOfPointer() const { Copied: projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerSumType.h (from r293886, vendor/llvm/dist/include/llvm/ADT/PointerSumType.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang380-import/contrib/llvm/include/llvm/ADT/PointerSumType.h Thu Jan 14 17:42:46 2016 (r294024, copy of r293886, vendor/llvm/dist/include/llvm/ADT/PointerSumType.h) @@ -0,0 +1,205 @@ +//===- llvm/ADT/PointerSumType.h --------------------------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_ADT_POINTERSUMTYPE_H +#define LLVM_ADT_POINTERSUMTYPE_H + +#include "llvm/ADT/DenseMapInfo.h" +#include "llvm/Support/Compiler.h" +#include "llvm/Support/PointerLikeTypeTraits.h" + +namespace llvm { + +/// A compile time pair of an integer tag and the pointer-like type which it +/// indexes within a sum type. Also allows the user to specify a particular +/// traits class for pointer types with custom behavior such as over-aligned +/// allocation. +template > +struct PointerSumTypeMember { + enum { Tag = N }; + typedef PointerArgT PointerT; + typedef TraitsArgT TraitsT; +}; + +namespace detail { + +template +struct PointerSumTypeHelper; + +} + +/// A sum type over pointer-like types. +/// +/// This is a normal tagged union across pointer-like types that uses the low +/// bits of the pointers to store the tag. +/// +/// Each member of the sum type is specified by passing a \c +/// PointerSumTypeMember specialization in the variadic member argument list. +/// This allows the user to control the particular tag value associated with +/// a particular type, use the same type for multiple different tags, and +/// customize the pointer-like traits used for a particular member. Note that +/// these *must* be specializations of \c PointerSumTypeMember, no other type +/// will suffice, even if it provides a compatible interface. +/// +/// This type implements all of the comparison operators and even hash table +/// support by comparing the underlying storage of the pointer values. It +/// doesn't support delegating to particular members for comparisons. +/// +/// It also default constructs to a zero tag with a null pointer, whatever that +/// would be. This means that the zero value for the tag type is significant +/// and may be desireable to set to a state that is particularly desirable to +/// default construct. +/// +/// There is no support for constructing or accessing with a dynamic tag as +/// that would fundamentally violate the type safety provided by the sum type. +template class PointerSumType { + uintptr_t Value; + + typedef detail::PointerSumTypeHelper HelperT; + +public: + PointerSumType() : Value(0) {} + + /// A typed constructor for a specific tagged member of the sum type. + template + static PointerSumType + create(typename HelperT::template Lookup::PointerT Pointer) { + PointerSumType Result; + void *V = HelperT::template Lookup::TraitsT::getAsVoidPointer(Pointer); + assert((reinterpret_cast(V) & HelperT::TagMask) == 0 && + "Pointer is insufficiently aligned to store the discriminant!"); + Result.Value = reinterpret_cast(V) | N; + return Result; + } + + TagT getTag() const { return static_cast(Value & HelperT::TagMask); } + + template bool is() const { return N == getTag(); } + + template typename HelperT::template Lookup::PointerT get() const { + void *P = is() ? getImpl() : nullptr; + return HelperT::template Lookup::TraitsT::getFromVoidPointer(P); + } + + template + typename HelperT::template Lookup::PointerT cast() const { + assert(is() && "This instance has a different active member."); + return HelperT::template Lookup::TraitsT::getFromVoidPointer(getImpl()); + } + + operator bool() const { return Value & HelperT::PointerMask; } + bool operator==(const PointerSumType &R) const { return Value == R.Value; } + bool operator!=(const PointerSumType &R) const { return Value != R.Value; } + bool operator<(const PointerSumType &R) const { return Value < R.Value; } + bool operator>(const PointerSumType &R) const { return Value > R.Value; } + bool operator<=(const PointerSumType &R) const { return Value <= R.Value; } + bool operator>=(const PointerSumType &R) const { return Value >= R.Value; } + + uintptr_t getOpaqueValue() const { return Value; } + +protected: + void *getImpl() const { + return reinterpret_cast(Value & HelperT::PointerMask); + } +}; + +namespace detail { + +/// A helper template for implementing \c PointerSumType. It provides fast +/// compile-time lookup of the member from a particular tag value, along with +/// useful constants and compile time checking infrastructure.. +template +struct PointerSumTypeHelper : MemberTs... { + // First we use a trick to allow quickly looking up information about + // a particular member of the sum type. This works because we arranged to + // have this type derive from all of the member type templates. We can select + // the matching member for a tag using type deduction during overload + // resolution. + template + static PointerSumTypeMember + LookupOverload(PointerSumTypeMember *); + template static void LookupOverload(...); + template struct Lookup { + // Compute a particular member type by resolving the lookup helper ovorload. + typedef decltype(LookupOverload( + static_cast(nullptr))) MemberT; + + /// The Nth member's pointer type. + typedef typename MemberT::PointerT PointerT; + + /// The Nth member's traits type. + typedef typename MemberT::TraitsT TraitsT; + }; + + // Next we need to compute the number of bits available for the discriminant + // by taking the min of the bits available for each member. Much of this + // would be amazingly easier with good constexpr support. + template + struct Min : std::integral_constant< + uintptr_t, (V < Min::value ? V : Min::value)> { + }; + template + struct Min : std::integral_constant {}; + enum { NumTagBits = Min::value }; + + // Also compute the smallest discriminant and various masks for convenience. + enum : uint64_t { + MinTag = Min::value, + PointerMask = static_cast(-1) << NumTagBits, + TagMask = ~PointerMask + }; + + // Finally we need a recursive template to do static checks of each + // member. + template + struct Checker : Checker { + static_assert(MemberT::Tag < (1 << NumTagBits), + "This discriminant value requires too many bits!"); + }; + template struct Checker : std::true_type { + static_assert(MemberT::Tag < (1 << NumTagBits), + "This discriminant value requires too many bits!"); + }; + static_assert(Checker::value, + "Each member must pass the checker."); +}; + +} + +// Teach DenseMap how to use PointerSumTypes as keys. +template +struct DenseMapInfo> { + typedef PointerSumType SumType; + + typedef detail::PointerSumTypeHelper HelperT; + enum { SomeTag = HelperT::MinTag }; + typedef typename HelperT::template Lookup::PointerT + SomePointerT; + typedef DenseMapInfo SomePointerInfo; + + static inline SumType getEmptyKey() { + return SumType::create(SomePointerInfo::getEmptyKey()); + } + static inline SumType getTombstoneKey() { + return SumType::create( + SomePointerInfo::getTombstoneKey()); + } + static unsigned getHashValue(const SumType &Arg) { + uintptr_t OpaqueValue = Arg.getOpaqueValue(); + return DenseMapInfo::getHashValue(OpaqueValue); + } + static bool isEqual(const SumType &LHS, const SumType &RHS) { + return LHS == RHS; + } +}; + +} + +#endif Modified: projects/clang380-import/contrib/llvm/include/llvm/ADT/Twine.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/ADT/Twine.h Thu Jan 14 17:16:47 2016 (r294023) +++ projects/clang380-import/contrib/llvm/include/llvm/ADT/Twine.h Thu Jan 14 17:42:46 2016 (r294024) @@ -101,15 +101,13 @@ namespace llvm { /// A pointer to a SmallString instance. SmallStringKind, - /// A char value reinterpreted as a pointer, to render as a character. + /// A char value, to render as a character. CharKind, - /// An unsigned int value reinterpreted as a pointer, to render as an - /// unsigned decimal integer. + /// An unsigned int value, to render as an unsigned decimal integer. DecUIKind, - /// An int value reinterpreted as a pointer, to render as a signed - /// decimal integer. + /// An int value, to render as a signed decimal integer. DecIKind, /// A pointer to an unsigned long value, to render as an unsigned decimal Modified: projects/clang380-import/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h Thu Jan 14 17:16:47 2016 (r294023) +++ projects/clang380-import/contrib/llvm/include/llvm/Analysis/LazyCallGraph.h Thu Jan 14 17:42:46 2016 (r294024) @@ -104,54 +104,10 @@ class LazyCallGraph { public: class Node; class SCC; + class iterator; typedef SmallVector, 4> NodeVectorT; typedef SmallVectorImpl> NodeVectorImplT; - /// A lazy iterator used for both the entry nodes and child nodes. - /// - /// When this iterator is dereferenced, if not yet available, a function will - /// be scanned for "calls" or uses of functions and its child information - /// will be constructed. All of these results are accumulated and cached in - /// the graph. - class iterator - : public iterator_adaptor_base { - friend class LazyCallGraph; - friend class LazyCallGraph::Node; - - LazyCallGraph *G; - NodeVectorImplT::iterator E; - - // Build the iterator for a specific position in a node list. - iterator(LazyCallGraph &G, NodeVectorImplT::iterator NI, - NodeVectorImplT::iterator E) - : iterator_adaptor_base(NI), G(&G), E(E) { - while (I != E && I->isNull()) - ++I; - } - - public: - iterator() {} - - using iterator_adaptor_base::operator++; - iterator &operator++() { - do { - ++I; - } while (I != E && I->isNull()); - return *this; - } - - reference operator*() const { - if (I->is()) - return *I->get(); - - Function *F = I->get(); - Node &ChildN = G->get(*F); - *I = &ChildN; - return ChildN; - } - }; - /// A node in the call graph. /// /// This represents a single node. It's primary roles are to cache the list of @@ -200,6 +156,51 @@ public: bool operator!=(const Node &N) const { return !operator==(N); } }; + /// A lazy iterator used for both the entry nodes and child nodes. + /// + /// When this iterator is dereferenced, if not yet available, a function will + /// be scanned for "calls" or uses of functions and its child information + /// will be constructed. All of these results are accumulated and cached in + /// the graph. + class iterator + : public iterator_adaptor_base { + friend class LazyCallGraph; + friend class LazyCallGraph::Node; + + LazyCallGraph *G; + NodeVectorImplT::iterator E; + + // Build the iterator for a specific position in a node list. + iterator(LazyCallGraph &G, NodeVectorImplT::iterator NI, + NodeVectorImplT::iterator E) + : iterator_adaptor_base(NI), G(&G), E(E) { + while (I != E && I->isNull()) + ++I; + } + + public: + iterator() {} + + using iterator_adaptor_base::operator++; + iterator &operator++() { + do { + ++I; + } while (I != E && I->isNull()); + return *this; + } + + reference operator*() const { + if (I->is()) + return *I->get(); + + Function *F = I->get(); + Node &ChildN = G->get(*F); + *I = &ChildN; + return ChildN; + } + }; + /// An SCC of the call graph. /// /// This represents a Strongly Connected Component of the call graph as Modified: projects/clang380-import/contrib/llvm/include/llvm/Analysis/LoopInfo.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/Analysis/LoopInfo.h Thu Jan 14 17:16:47 2016 (r294023) +++ projects/clang380-import/contrib/llvm/include/llvm/Analysis/LoopInfo.h Thu Jan 14 17:42:46 2016 (r294024) @@ -59,38 +59,37 @@ template class LoopInf template class LoopBase; //===----------------------------------------------------------------------===// -/// LoopBase class - Instances of this class are used to represent loops that -/// are detected in the flow graph +/// Instances of this class are used to represent loops that are detected in the +/// flow graph. /// template class LoopBase { LoopT *ParentLoop; - // SubLoops - Loops contained entirely within this one. + // Loops contained entirely within this one. std::vector SubLoops; - // Blocks - The list of blocks in this loop. First entry is the header node. + // The list of blocks in this loop. First entry is the header node. std::vector Blocks; SmallPtrSet DenseBlockSet; - /// Indicator that this loops has been "unlooped", so there's no loop here - /// anymore. - bool IsUnloop = false; + /// Indicator that this loop is no longer a valid loop. + bool IsInvalid = false; LoopBase(const LoopBase &) = delete; const LoopBase& operator=(const LoopBase &) = delete; public: - /// Loop ctor - This creates an empty loop. + /// This creates an empty loop. LoopBase() : ParentLoop(nullptr) {} ~LoopBase() { for (size_t i = 0, e = SubLoops.size(); i != e; ++i) delete SubLoops[i]; } - /// getLoopDepth - Return the nesting level of this loop. An outer-most - /// loop has depth 1, for consistency with loop depth values used for basic - /// blocks, where depth 0 is used for blocks not inside any loops. + /// Return the nesting level of this loop. An outer-most loop has depth 1, + /// for consistency with loop depth values used for basic blocks, where depth + /// 0 is used for blocks not inside any loops. unsigned getLoopDepth() const { unsigned D = 1; for (const LoopT *CurLoop = ParentLoop; CurLoop; @@ -101,33 +100,28 @@ public: BlockT *getHeader() const { return Blocks.front(); } LoopT *getParentLoop() const { return ParentLoop; } - /// setParentLoop is a raw interface for bypassing addChildLoop. + /// This is a raw interface for bypassing addChildLoop. void setParentLoop(LoopT *L) { ParentLoop = L; } - /// contains - Return true if the specified loop is contained within in - /// this loop. - /// + /// Return true if the specified loop is contained within in this loop. bool contains(const LoopT *L) const { if (L == this) return true; if (!L) return false; return contains(L->getParentLoop()); } - /// contains - Return true if the specified basic block is in this loop. - /// + /// Return true if the specified basic block is in this loop. bool contains(const BlockT *BB) const { return DenseBlockSet.count(BB); } - /// contains - Return true if the specified instruction is in this loop. - /// + /// Return true if the specified instruction is in this loop. template bool contains(const InstT *Inst) const { return contains(Inst->getParent()); } - /// iterator/begin/end - Return the loops contained entirely within this loop. - /// + /// Return the loops contained entirely within this loop. const std::vector &getSubLoops() const { return SubLoops; } std::vector &getSubLoopsVector() { return SubLoops; } typedef typename std::vector::const_iterator iterator; @@ -139,8 +133,7 @@ public: reverse_iterator rend() const { return SubLoops.rend(); } bool empty() const { return SubLoops.empty(); } - /// getBlocks - Get a list of the basic blocks which make up this loop. - /// + /// Get a list of the basic blocks which make up this loop. const std::vector &getBlocks() const { return Blocks; } typedef typename std::vector::const_iterator block_iterator; block_iterator block_begin() const { return Blocks.begin(); } @@ -149,21 +142,19 @@ public: return make_range(block_begin(), block_end()); } - /// getNumBlocks - Get the number of blocks in this loop in constant time. + /// Get the number of blocks in this loop in constant time. unsigned getNumBlocks() const { return Blocks.size(); } - /// Mark this loop as having been unlooped - the last backedge was removed and - /// we no longer have a loop. - void markUnlooped() { IsUnloop = true; } + /// Invalidate the loop, indicating that it is no longer a loop. + void invalidate() { IsInvalid = true; } - /// Return true if this no longer represents a loop. - bool isUnloop() const { return IsUnloop; } + /// Return true if this loop is no longer valid. + bool isInvalid() { return IsInvalid; } - /// isLoopExiting - True if terminator in the block can branch to another - /// block that is outside of the current loop. - /// + /// True if terminator in the block can branch to another block that is + /// outside of the current loop. bool isLoopExiting(const BlockT *BB) const { typedef GraphTraits BlockTraits; for (typename BlockTraits::ChildIteratorType SI = @@ -175,8 +166,7 @@ public: return false; } - /// getNumBackEdges - Calculate the number of back edges to the loop header - /// + /// Calculate the number of back edges to the loop header. unsigned getNumBackEdges() const { unsigned NumBackEdges = 0; BlockT *H = getHeader(); @@ -199,53 +189,49 @@ public: // induction variable canonicalization pass should be used to normalize loops // for easy analysis. These methods assume canonical loops. - /// getExitingBlocks - Return all blocks inside the loop that have successors - /// outside of the loop. These are the blocks _inside of the current loop_ - /// which branch out. The returned list is always unique. - /// + /// Return all blocks inside the loop that have successors outside of the + /// loop. These are the blocks _inside of the current loop_ which branch out. + /// The returned list is always unique. void getExitingBlocks(SmallVectorImpl &ExitingBlocks) const; - /// getExitingBlock - If getExitingBlocks would return exactly one block, - /// return that block. Otherwise return null. + /// If getExitingBlocks would return exactly one block, return that block. + /// Otherwise return null. BlockT *getExitingBlock() const; - /// getExitBlocks - Return all of the successor blocks of this loop. These - /// are the blocks _outside of the current loop_ which are branched to. - /// + /// Return all of the successor blocks of this loop. These are the blocks + /// _outside of the current loop_ which are branched to. void getExitBlocks(SmallVectorImpl &ExitBlocks) const; - /// getExitBlock - If getExitBlocks would return exactly one block, - /// return that block. Otherwise return null. + /// If getExitBlocks would return exactly one block, return that block. + /// Otherwise return null. BlockT *getExitBlock() const; /// Edge type. typedef std::pair Edge; - /// getExitEdges - Return all pairs of (_inside_block_,_outside_block_). + /// Return all pairs of (_inside_block_,_outside_block_). void getExitEdges(SmallVectorImpl &ExitEdges) const; - /// getLoopPreheader - If there is a preheader for this loop, return it. A - /// loop has a preheader if there is only one edge to the header of the loop - /// from outside of the loop. If this is the case, the block branching to the - /// header of the loop is the preheader node. + /// If there is a preheader for this loop, return it. A loop has a preheader + /// if there is only one edge to the header of the loop from outside of the + /// loop. If this is the case, the block branching to the header of the loop + /// is the preheader node. /// /// This method returns null if there is no preheader for the loop. - /// BlockT *getLoopPreheader() const; - /// getLoopPredecessor - If the given loop's header has exactly one unique - /// predecessor outside the loop, return it. Otherwise return null. - /// This is less strict that the loop "preheader" concept, which requires + /// If the given loop's header has exactly one unique predecessor outside the + /// loop, return it. Otherwise return null. + /// This is less strict that the loop "preheader" concept, which requires /// the predecessor to have exactly one successor. - /// BlockT *getLoopPredecessor() const; - /// getLoopLatch - If there is a single latch block for this loop, return it. + /// If there is a single latch block for this loop, return it. /// A latch block is a block that contains a branch back to the header. BlockT *getLoopLatch() const; - /// getLoopLatches - Return all loop latch blocks of this loop. A latch block - /// is a block that contains a branch back to the header. + /// Return all loop latch blocks of this loop. A latch block is a block that + /// contains a branch back to the header. void getLoopLatches(SmallVectorImpl &LoopLatches) const { BlockT *H = getHeader(); typedef GraphTraits > InvBlockTraits; @@ -260,32 +246,29 @@ public: // APIs for updating loop information after changing the CFG // - /// addBasicBlockToLoop - This method is used by other analyses to update loop - /// information. NewBB is set to be a new member of the current loop. + /// This method is used by other analyses to update loop information. + /// NewBB is set to be a new member of the current loop. /// Because of this, it is added as a member of all parent loops, and is added /// to the specified LoopInfo object as being in the current basic block. It /// is not valid to replace the loop header with this method. - /// void addBasicBlockToLoop(BlockT *NewBB, LoopInfoBase &LI); - /// replaceChildLoopWith - This is used when splitting loops up. It replaces - /// the OldChild entry in our children list with NewChild, and updates the - /// parent pointer of OldChild to be null and the NewChild to be this loop. + /// This is used when splitting loops up. It replaces the OldChild entry in + /// our children list with NewChild, and updates the parent pointer of + /// OldChild to be null and the NewChild to be this loop. /// This updates the loop depth of the new child. void replaceChildLoopWith(LoopT *OldChild, LoopT *NewChild); - /// addChildLoop - Add the specified loop to be a child of this loop. This - /// updates the loop depth of the new child. - /// + /// Add the specified loop to be a child of this loop. + /// This updates the loop depth of the new child. void addChildLoop(LoopT *NewChild) { assert(!NewChild->ParentLoop && "NewChild already has a parent!"); NewChild->ParentLoop = static_cast(this); SubLoops.push_back(NewChild); } - /// removeChildLoop - This removes the specified child from being a subloop of - /// this loop. The loop is not deleted, as it will presumably be inserted - /// into another loop. + /// This removes the specified child from being a subloop of this loop. The + /// loop is not deleted, as it will presumably be inserted into another loop. LoopT *removeChildLoop(iterator I) { assert(I != SubLoops.end() && "Cannot remove end iterator!"); LoopT *Child = *I; @@ -295,7 +278,7 @@ public: return Child; } - /// addBlockEntry - This adds a basic block directly to the basic block list. + /// This adds a basic block directly to the basic block list. /// This should only be used by transformations that create new loops. Other /// transformations should use addBasicBlockToLoop. void addBlockEntry(BlockT *BB) { @@ -303,19 +286,18 @@ public: DenseBlockSet.insert(BB); } - /// reverseBlocks - interface to reverse Blocks[from, end of loop] in this loop + /// interface to reverse Blocks[from, end of loop] in this loop void reverseBlock(unsigned from) { std::reverse(Blocks.begin() + from, Blocks.end()); } - /// reserveBlocks- interface to do reserve() for Blocks + /// interface to do reserve() for Blocks void reserveBlocks(unsigned size) { Blocks.reserve(size); } - /// moveToHeader - This method is used to move BB (which must be part of this - /// loop) to be the loop header of the loop (the block that dominates all - /// others). + /// This method is used to move BB (which must be part of this loop) to be the + /// loop header of the loop (the block that dominates all others). void moveToHeader(BlockT *BB) { if (Blocks[0] == BB) return; for (unsigned i = 0; ; ++i) { @@ -328,9 +310,9 @@ public: } } - /// removeBlockFromLoop - This removes the specified basic block from the - /// current loop, updating the Blocks as appropriate. This does not update - /// the mapping in the LoopInfo class. + /// This removes the specified basic block from the current loop, updating the + /// Blocks as appropriate. This does not update the mapping in the LoopInfo + /// class. void removeBlockFromLoop(BlockT *BB) { auto I = std::find(Blocks.begin(), Blocks.end(), BB); assert(I != Blocks.end() && "N is not in this list!"); @@ -339,10 +321,10 @@ public: DenseBlockSet.erase(BB); } - /// verifyLoop - Verify loop structure + /// Verify loop structure void verifyLoop() const; - /// verifyLoop - Verify loop structure of this loop and all nested loops. + /// Verify loop structure of this loop and all nested loops. void verifyLoopNest(DenseSet *Loops) const; void print(raw_ostream &OS, unsigned Depth = 0) const; @@ -368,28 +350,26 @@ class Loop : public LoopBase &ExitBlocks) const; - /// getUniqueExitBlock - If getUniqueExitBlocks would return exactly one - /// block, return that block. Otherwise return null. + /// If getUniqueExitBlocks would return exactly one block, return that block. + /// Otherwise return null. BasicBlock *getUniqueExitBlock() const; void dump() const; - /// \brief Return the debug location of the start of this loop. + /// Return the debug location of the start of this loop. /// This looks for a BB terminating instruction with a known debug /// location by looking at the preheader and header blocks. If it /// cannot find a terminating instruction with location information, @@ -498,7 +475,7 @@ private: }; //===----------------------------------------------------------------------===// -/// LoopInfo - This class builds and contains all of the top level loop +/// This class builds and contains all of the top-level loop /// structures in the specified function. /// @@ -507,6 +484,8 @@ class LoopInfoBase { // BBMap - Mapping of basic blocks to the inner most loop they occur in DenseMap BBMap; std::vector TopLevelLoops; + std::vector RemovedLoops; + friend class LoopBase; friend class LoopInfo; @@ -538,6 +517,9 @@ public: for (auto *L : TopLevelLoops) delete L; TopLevelLoops.clear(); + for (auto *L : RemovedLoops) + delete L; + RemovedLoops.clear(); } /// iterator/begin/end - The interface to the top-level loops in the current @@ -552,33 +534,30 @@ public: reverse_iterator rend() const { return TopLevelLoops.rend(); } bool empty() const { return TopLevelLoops.empty(); } - /// getLoopFor - Return the inner most loop that BB lives in. If a basic - /// block is in no loop (for example the entry node), null is returned. - /// + /// Return the inner most loop that BB lives in. If a basic block is in no + /// loop (for example the entry node), null is returned. LoopT *getLoopFor(const BlockT *BB) const { return BBMap.lookup(BB); } - /// operator[] - same as getLoopFor... - /// + /// Same as getLoopFor. const LoopT *operator[](const BlockT *BB) const { return getLoopFor(BB); } - /// getLoopDepth - Return the loop nesting level of the specified block. A - /// depth of 0 means the block is not inside any loop. - /// + /// Return the loop nesting level of the specified block. A depth of 0 means + /// the block is not inside any loop. unsigned getLoopDepth(const BlockT *BB) const { const LoopT *L = getLoopFor(BB); return L ? L->getLoopDepth() : 0; } - // isLoopHeader - True if the block is a loop header node + // True if the block is a loop header node bool isLoopHeader(const BlockT *BB) const { const LoopT *L = getLoopFor(BB); return L && L->getHeader() == BB; } - /// removeLoop - This removes the specified top-level loop from this loop info - /// object. The loop is not deleted, as it will presumably be inserted into + /// This removes the specified top-level loop from this loop info object. + /// The loop is not deleted, as it will presumably be inserted into /// another loop. LoopT *removeLoop(iterator I) { assert(I != end() && "Cannot remove end iterator!"); @@ -588,9 +567,9 @@ public: return L; } - /// changeLoopFor - Change the top-level loop that contains BB to the - /// specified loop. This should be used by transformations that restructure - /// the loop hierarchy tree. + /// Change the top-level loop that contains BB to the specified loop. + /// This should be used by transformations that restructure the loop hierarchy + /// tree. void changeLoopFor(BlockT *BB, LoopT *L) { if (!L) { BBMap.erase(BB); @@ -599,8 +578,8 @@ public: BBMap[BB] = L; } - /// changeTopLevelLoop - Replace the specified loop in the top-level loops - /// list with the indicated loop. + /// Replace the specified loop in the top-level loops list with the indicated *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Fri Jan 15 17:55:06 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 AD528A843F4 for ; Fri, 15 Jan 2016 17:55:06 +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 58AC91DA2; Fri, 15 Jan 2016 17:55:06 +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 u0FHt5h7018704; Fri, 15 Jan 2016 17:55:05 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0FHt1Ec018661; Fri, 15 Jan 2016 17:55:01 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601151755.u0FHt1Ec018661@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Fri, 15 Jan 2016 17:55:01 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294096 - in projects/clang380-import: cddl/contrib/opensolaris/tools/ctf/cvt crypto/openssh etc etc/rc.d lib/clang lib/libc++ lib/libc/stdlib lib/libc/string lib/libc/sys lib/libdpv li... 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.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 15 Jan 2016 17:55:06 -0000 Author: dim Date: Fri Jan 15 17:55:00 2016 New Revision: 294096 URL: https://svnweb.freebsd.org/changeset/base/294096 Log: Merge ^/head r293850 through r294089. Added: projects/clang380-import/sys/boot/efi/boot1/boot_module.h - copied unchanged from r294089, head/sys/boot/efi/boot1/boot_module.h projects/clang380-import/sys/boot/efi/boot1/ufs_module.c - copied unchanged from r294089, head/sys/boot/efi/boot1/ufs_module.c projects/clang380-import/sys/boot/efi/boot1/zfs_module.c - copied unchanged from r294089, head/sys/boot/efi/boot1/zfs_module.c projects/clang380-import/sys/dev/hyperv/vmbus/hv_et.c - copied unchanged from r294089, head/sys/dev/hyperv/vmbus/hv_et.c projects/clang380-import/sys/dev/sfxge/common/efx_lic.c - copied unchanged from r294089, head/sys/dev/sfxge/common/efx_lic.c projects/clang380-import/usr.sbin/kldxref/ef_aarch64.c - copied unchanged from r294089, head/usr.sbin/kldxref/ef_aarch64.c Modified: projects/clang380-import/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c projects/clang380-import/crypto/openssh/readconf.c projects/clang380-import/etc/Makefile projects/clang380-import/etc/rc.d/mountcritlocal projects/clang380-import/lib/clang/clang.lib.mk projects/clang380-import/lib/libc++/Makefile projects/clang380-import/lib/libc/stdlib/tdelete.c projects/clang380-import/lib/libc/string/wcslcat.c projects/clang380-import/lib/libc/string/wcsncat.c projects/clang380-import/lib/libc/sys/stat.2 projects/clang380-import/lib/libdpv/dpv.c projects/clang380-import/lib/libdpv/dpv.h projects/clang380-import/lib/libkvm/kvm_i386.h projects/clang380-import/lib/libmd/mdXhl.c projects/clang380-import/lib/libthr/thread/thr_umtx.c projects/clang380-import/share/examples/pf/pf.conf projects/clang380-import/share/man/man4/ddb.4 projects/clang380-import/share/man/man4/ioat.4 projects/clang380-import/share/man/man4/sfxge.4 projects/clang380-import/share/mk/bsd.sys.mk projects/clang380-import/sys/amd64/linux/linux_proto.h projects/clang380-import/sys/amd64/linux/linux_syscall.h projects/clang380-import/sys/amd64/linux/linux_syscalls.c projects/clang380-import/sys/amd64/linux/linux_sysent.c projects/clang380-import/sys/amd64/linux/linux_systrace_args.c projects/clang380-import/sys/amd64/linux/syscalls.master projects/clang380-import/sys/amd64/linux32/linux32_proto.h projects/clang380-import/sys/amd64/linux32/linux32_syscall.h projects/clang380-import/sys/amd64/linux32/linux32_syscalls.c projects/clang380-import/sys/amd64/linux32/linux32_sysent.c projects/clang380-import/sys/amd64/linux32/linux32_systrace_args.c projects/clang380-import/sys/amd64/linux32/syscalls.master projects/clang380-import/sys/arm/at91/at91_mci.c projects/clang380-import/sys/arm/conf/IMX53 projects/clang380-import/sys/arm/conf/IMX6 projects/clang380-import/sys/boot/common/bootstrap.h projects/clang380-import/sys/boot/common/module.c projects/clang380-import/sys/boot/common/ufsread.c projects/clang380-import/sys/boot/efi/Makefile projects/clang380-import/sys/boot/efi/boot1/Makefile projects/clang380-import/sys/boot/efi/boot1/boot1.c projects/clang380-import/sys/boot/efi/include/efilib.h projects/clang380-import/sys/boot/efi/libefi/handles.c projects/clang380-import/sys/boot/efi/loader/Makefile projects/clang380-import/sys/boot/efi/loader/conf.c projects/clang380-import/sys/boot/efi/loader/devicename.c projects/clang380-import/sys/boot/efi/loader/main.c projects/clang380-import/sys/boot/fdt/fdt_loader_cmd.c projects/clang380-import/sys/boot/i386/loader/main.c projects/clang380-import/sys/boot/userboot/test/test.c projects/clang380-import/sys/boot/userboot/userboot/main.c projects/clang380-import/sys/boot/zfs/libzfs.h projects/clang380-import/sys/boot/zfs/zfs.c projects/clang380-import/sys/boot/zfs/zfsimpl.c projects/clang380-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c projects/clang380-import/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c projects/clang380-import/sys/compat/linux/linux_futex.c projects/clang380-import/sys/compat/linux/linux_misc.c projects/clang380-import/sys/compat/linuxkpi/common/include/linux/pci.h projects/clang380-import/sys/compat/linuxkpi/common/src/linux_pci.c projects/clang380-import/sys/conf/files.amd64 projects/clang380-import/sys/conf/files.i386 projects/clang380-import/sys/contrib/vchiq/interface/vchiq_arm/vchiq_kmod.c projects/clang380-import/sys/dev/drm2/drm_crtc.c projects/clang380-import/sys/dev/drm2/drm_pci.c projects/clang380-import/sys/dev/e1000/if_em.c projects/clang380-import/sys/dev/e1000/if_em.h projects/clang380-import/sys/dev/e1000/if_igb.c projects/clang380-import/sys/dev/e1000/if_igb.h projects/clang380-import/sys/dev/e1000/if_lem.c projects/clang380-import/sys/dev/e1000/if_lem.h projects/clang380-import/sys/dev/gpio/gpiobus.c projects/clang380-import/sys/dev/hyperv/include/hyperv.h projects/clang380-import/sys/dev/hyperv/netvsc/hv_net_vsc.c projects/clang380-import/sys/dev/hyperv/netvsc/hv_net_vsc.h projects/clang380-import/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c projects/clang380-import/sys/dev/hyperv/vmbus/hv_connection.c projects/clang380-import/sys/dev/hyperv/vmbus/hv_hv.c projects/clang380-import/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c projects/clang380-import/sys/dev/hyperv/vmbus/hv_vmbus_priv.h projects/clang380-import/sys/dev/ioat/ioat.c projects/clang380-import/sys/dev/ioat/ioat.h projects/clang380-import/sys/dev/sfxge/common/ef10_impl.h projects/clang380-import/sys/dev/sfxge/common/efsys.h projects/clang380-import/sys/dev/sfxge/common/efx.h projects/clang380-import/sys/dev/sfxge/common/efx_check.h projects/clang380-import/sys/dev/sfxge/common/efx_impl.h projects/clang380-import/sys/dev/sfxge/common/efx_mcdi.c projects/clang380-import/sys/dev/sfxge/common/efx_mcdi.h projects/clang380-import/sys/dev/sfxge/common/efx_nic.c projects/clang380-import/sys/dev/sfxge/common/efx_nvram.c projects/clang380-import/sys/dev/sfxge/common/efx_rx.c projects/clang380-import/sys/dev/sfxge/common/efx_tx.c projects/clang380-import/sys/dev/sfxge/common/efx_vpd.c projects/clang380-import/sys/dev/sfxge/common/hunt_ev.c projects/clang380-import/sys/dev/sfxge/common/hunt_impl.h projects/clang380-import/sys/dev/sfxge/common/hunt_mac.c projects/clang380-import/sys/dev/sfxge/common/hunt_mcdi.c projects/clang380-import/sys/dev/sfxge/common/hunt_nic.c projects/clang380-import/sys/dev/sfxge/common/hunt_nvram.c projects/clang380-import/sys/dev/sfxge/common/hunt_phy.c projects/clang380-import/sys/dev/sfxge/common/hunt_tx.c projects/clang380-import/sys/dev/sfxge/common/hunt_vpd.c projects/clang380-import/sys/dev/sfxge/common/medford_impl.h projects/clang380-import/sys/dev/sfxge/common/medford_nic.c projects/clang380-import/sys/dev/sfxge/common/siena_impl.h projects/clang380-import/sys/dev/sfxge/common/siena_mcdi.c projects/clang380-import/sys/dev/sfxge/common/siena_nic.c projects/clang380-import/sys/dev/sfxge/common/siena_nvram.c projects/clang380-import/sys/dev/sfxge/common/siena_vpd.c projects/clang380-import/sys/dev/sfxge/sfxge.h projects/clang380-import/sys/dev/sfxge/sfxge_tx.c projects/clang380-import/sys/dev/sfxge/sfxge_tx.h projects/clang380-import/sys/dev/usb/usb_device.c projects/clang380-import/sys/fs/nfs/nfs_var.h projects/clang380-import/sys/fs/nfsclient/nfs_clport.c projects/clang380-import/sys/fs/nfsclient/nfs_clrpcops.c projects/clang380-import/sys/geom/geom_disk.c projects/clang380-import/sys/i386/linux/linux_proto.h projects/clang380-import/sys/i386/linux/linux_syscall.h projects/clang380-import/sys/i386/linux/linux_syscalls.c projects/clang380-import/sys/i386/linux/linux_sysent.c projects/clang380-import/sys/i386/linux/syscalls.master projects/clang380-import/sys/kern/kern_prot.c projects/clang380-import/sys/kern/vfs_aio.c projects/clang380-import/sys/modules/hyperv/vmbus/Makefile projects/clang380-import/sys/modules/sfxge/Makefile projects/clang380-import/sys/net/radix_mpath.c projects/clang380-import/sys/net/route.c projects/clang380-import/sys/net/route.h projects/clang380-import/sys/netgraph/netflow/netflow.c projects/clang380-import/sys/netinet/in_rmx.c projects/clang380-import/sys/netinet/in_var.h projects/clang380-import/sys/netinet/ip_mroute.c projects/clang380-import/sys/netinet/sctp_pcb.c projects/clang380-import/sys/netinet/sctp_usrreq.c projects/clang380-import/sys/netinet/tcp_output.c projects/clang380-import/sys/netinet6/sctp6_usrreq.c projects/clang380-import/sys/powerpc/include/vmparam.h projects/clang380-import/sys/sys/param.h projects/clang380-import/sys/sys/ucred.h projects/clang380-import/sys/x86/x86/identcpu.c projects/clang380-import/tests/sys/geom/class/gate/1_test.sh projects/clang380-import/tests/sys/geom/class/gate/conf.sh projects/clang380-import/usr.bin/clang/clang/Makefile projects/clang380-import/usr.bin/clang/lldb/Makefile projects/clang380-import/usr.bin/numactl/numactl.c projects/clang380-import/usr.sbin/boot0cfg/boot0cfg.c projects/clang380-import/usr.sbin/bsdinstall/scripts/auto Directory Properties: projects/clang380-import/ (props changed) projects/clang380-import/cddl/ (props changed) projects/clang380-import/cddl/contrib/opensolaris/ (props changed) projects/clang380-import/crypto/openssh/ (props changed) projects/clang380-import/lib/libc/ (props changed) projects/clang380-import/share/ (props changed) projects/clang380-import/share/man/man4/ (props changed) projects/clang380-import/sys/ (props changed) projects/clang380-import/sys/boot/ (props changed) projects/clang380-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang380-import/sys/conf/ (props changed) projects/clang380-import/sys/dev/hyperv/ (props changed) projects/clang380-import/sys/modules/hyperv/ (props changed) Modified: projects/clang380-import/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c ============================================================================== --- projects/clang380-import/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/cddl/contrib/opensolaris/tools/ctf/cvt/merge.c Fri Jan 15 17:55:00 2016 (r294096) @@ -283,7 +283,6 @@ static int equiv_su(tdesc_t *stdp, tdesc_t *ttdp, equiv_data_t *ed) { mlist_t *ml1 = stdp->t_members, *ml2 = ttdp->t_members; - mlist_t *olm1 = NULL; while (ml1 && ml2) { if (ml1->ml_offset != ml2->ml_offset || @@ -292,7 +291,6 @@ equiv_su(tdesc_t *stdp, tdesc_t *ttdp, e !equiv_node(ml1->ml_type, ml2->ml_type, ed)) return (0); - olm1 = ml1; ml1 = ml1->ml_next; ml2 = ml2->ml_next; } Modified: projects/clang380-import/crypto/openssh/readconf.c ============================================================================== --- projects/clang380-import/crypto/openssh/readconf.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/crypto/openssh/readconf.c Fri Jan 15 17:55:00 2016 (r294096) @@ -1610,7 +1610,7 @@ initialize_options(Options * options) options->tun_remote = -1; options->local_command = NULL; options->permit_local_command = -1; - options->use_roaming = -1; + options->use_roaming = 0; options->visual_host_key = -1; options->ip_qos_interactive = -1; options->ip_qos_bulk = -1; @@ -1788,8 +1788,7 @@ fill_default_options(Options * options) options->tun_remote = SSH_TUNID_ANY; if (options->permit_local_command == -1) options->permit_local_command = 0; - if (options->use_roaming == -1) - options->use_roaming = 1; + options->use_roaming = 0; if (options->visual_host_key == -1) options->visual_host_key = 0; if (options->ip_qos_interactive == -1) Modified: projects/clang380-import/etc/Makefile ============================================================================== --- projects/clang380-import/etc/Makefile Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/etc/Makefile Fri Jan 15 17:55:00 2016 (r294096) @@ -82,10 +82,6 @@ BIN1+= apmd.conf BIN1+= auto_master .endif -.if ${MK_BSNMP} != "no" -BIN1+= snmpd.config -.endif - .if ${MK_FREEBSD_UPDATE} != "no" BIN1+= freebsd-update.conf .endif @@ -219,6 +215,11 @@ distribution: ${BIN2} ${DESTDIR}/etc; \ ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ master.passwd nsmb.conf opieaccess ${DESTDIR}/etc; +.if ${MK_BSNMP} != "no" + cd ${.CURDIR}; \ + ${INSTALL} -o ${BINOWN} -g ${BINGRP} -m 600 \ + snmpd.config ${DESTDIR}/etc; +.endif .if ${MK_AT} == "no" sed -i "" -e 's;.*/usr/libexec/atrun;#&;' ${DESTDIR}/etc/crontab .endif Modified: projects/clang380-import/etc/rc.d/mountcritlocal ============================================================================== --- projects/clang380-import/etc/rc.d/mountcritlocal Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/etc/rc.d/mountcritlocal Fri Jan 15 17:55:00 2016 (r294096) @@ -36,15 +36,15 @@ mountcritlocal_start() done mount_excludes=${mount_excludes%,} - # Originally, root mount hold had to be released before mounting the root - # filesystem. This delayed the boot, so it was changed to only wait if - # the root device isn't readily available. This can result in this script - # executing before all the devices - such as graid(8) - are available. - # Thus, should the mount fail, we will wait for the root mount hold release - # and retry. + # Originally, root mount hold had to be released before mounting + # the root filesystem. This delayed the boot, so it was changed + # to only wait if the root device isn't readily available. This + # can result in this script executing before all the devices - such + # as graid(8) - are available. Thus, should the mount fail, + # we will wait for the root mount hold release and retry. mount -a -t ${mount_excludes} err=$? - if [ $? -ne 0 ]; then + if [ ${err} -ne 0 ]; then echo echo 'Mounting /etc/fstab filesystems failed,' \ 'will retry after root mount hold release' Modified: projects/clang380-import/lib/clang/clang.lib.mk ============================================================================== --- projects/clang380-import/lib/clang/clang.lib.mk Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/clang/clang.lib.mk Fri Jan 15 17:55:00 2016 (r294096) @@ -6,4 +6,8 @@ LLVM_SRCS= ${.CURDIR}/../../../contrib/l INTERNALLIB= +.if ${MACHINE_CPUARCH} == "arm" +STATIC_CXXFLAGS+= -mlong-calls +.endif + .include Modified: projects/clang380-import/lib/libc++/Makefile ============================================================================== --- projects/clang380-import/lib/libc++/Makefile Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libc++/Makefile Fri Jan 15 17:55:00 2016 (r294096) @@ -6,6 +6,9 @@ _LIBCXXRTDIR= ${.CURDIR}/../../contrib/l HDRDIR= ${.CURDIR}/../../contrib/libc++/include SRCDIR= ${.CURDIR}/../../contrib/libc++/src CXXINCLUDEDIR= ${INCLUDEDIR}/c++/v${SHLIB_MAJOR} +.if ${MACHINE_CPUARCH} == "arm" +STATIC_CXXFLAGS+= -mlong-calls +.endif .PATH: ${SRCDIR} Modified: projects/clang380-import/lib/libc/stdlib/tdelete.c ============================================================================== --- projects/clang380-import/lib/libc/stdlib/tdelete.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libc/stdlib/tdelete.c Fri Jan 15 17:55:00 2016 (r294096) @@ -62,7 +62,6 @@ __FBSDID("$FreeBSD$"); base = leaf; \ path_init(&path); \ } \ - result = &(*leaf)->key; \ path_taking_right(&path); \ leaf = &(*leaf)->rlink; \ } while (0) Modified: projects/clang380-import/lib/libc/string/wcslcat.c ============================================================================== --- projects/clang380-import/lib/libc/string/wcslcat.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libc/string/wcslcat.c Fri Jan 15 17:55:00 2016 (r294096) @@ -54,7 +54,7 @@ wcslcat(wchar_t *dst, const wchar_t *src size_t dlen; /* Find the end of dst and adjust bytes left but don't go past end */ - while (*d != '\0' && n-- != 0) + while (n-- != 0 && *d != '\0') d++; dlen = d - dst; n = siz - dlen; Modified: projects/clang380-import/lib/libc/string/wcsncat.c ============================================================================== --- projects/clang380-import/lib/libc/string/wcsncat.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libc/string/wcsncat.c Fri Jan 15 17:55:00 2016 (r294096) @@ -48,7 +48,7 @@ wcsncat(wchar_t * __restrict s1, const w p++; q = p; r = s2; - while (*r && n) { + while (n && *r) { *q++ = *r++; n--; } Modified: projects/clang380-import/lib/libc/sys/stat.2 ============================================================================== --- projects/clang380-import/lib/libc/sys/stat.2 Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libc/sys/stat.2 Fri Jan 15 17:55:00 2016 (r294096) @@ -28,7 +28,7 @@ .\" @(#)stat.2 8.4 (Berkeley) 5/1/95 .\" $FreeBSD$ .\" -.Dd June 2, 2012 +.Dd January 14, 2016 .Dt STAT 2 .Os .Sh NAME @@ -40,12 +40,11 @@ .Sh LIBRARY .Lb libc .Sh SYNOPSIS -.In sys/types.h .In sys/stat.h .Ft int -.Fn stat "const char *path" "struct stat *sb" +.Fn stat "const char * restrict path" "struct stat * restrict sb" .Ft int -.Fn lstat "const char *path" "struct stat *sb" +.Fn lstat "const char * restrict path" "struct stat * restrict sb" .Ft int .Fn fstat "int fd" "struct stat *sb" .Ft int Modified: projects/clang380-import/lib/libdpv/dpv.c ============================================================================== --- projects/clang380-import/lib/libdpv/dpv.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libdpv/dpv.c Fri Jan 15 17:55:00 2016 (r294096) @@ -36,6 +36,7 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include #include #include #include @@ -482,6 +483,11 @@ dpv(struct dpv_config *config, struct dp /* Reads: label_size pbar_size pprompt aprompt dpv_nfiles */ /* Inits: dheight and dwidth */ + /* Default localeconv(3) settings for dialog(3) status */ + setlocale(LC_NUMERIC, + getenv("LC_ALL") == NULL && getenv("LC_NUMERIC") == NULL ? + LC_NUMERIC_DEFAULT : ""); + if (!debug) { /* Internally create the initial `--gauge' prompt text */ dprompt_recreate(file_list, (struct dpv_file_node *)NULL, 0); Modified: projects/clang380-import/lib/libdpv/dpv.h ============================================================================== --- projects/clang380-import/lib/libdpv/dpv.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libdpv/dpv.h Fri Jan 15 17:55:00 2016 (r294096) @@ -38,6 +38,9 @@ #define FALSE 0 #endif +/* localeconv(3) */ +#define LC_NUMERIC_DEFAULT "en_US.ISO8859-1" + /* Data to process */ extern long long dpv_overall_read; Modified: projects/clang380-import/lib/libkvm/kvm_i386.h ============================================================================== --- projects/clang380-import/lib/libkvm/kvm_i386.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libkvm/kvm_i386.h Fri Jan 15 17:55:00 2016 (r294096) @@ -70,7 +70,7 @@ _Static_assert(NBPDR == I386_NBPDR, "NBP _Static_assert(PG_V == I386_PG_V, "PG_V mismatch"); _Static_assert(PG_PS == I386_PG_PS, "PG_PS mismatch"); -_Static_assert(PG_FRAME == I386_PG_FRAME, "PG_FRAME mismatch"); +_Static_assert((u_int)PG_FRAME == I386_PG_FRAME, "PG_FRAME mismatch"); _Static_assert(PG_PS_FRAME == I386_PG_PS_FRAME, "PG_PS_FRAME mismatch"); #endif Modified: projects/clang380-import/lib/libmd/mdXhl.c ============================================================================== --- projects/clang380-import/lib/libmd/mdXhl.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libmd/mdXhl.c Fri Jan 15 17:55:00 2016 (r294096) @@ -1,4 +1,5 @@ -/* mdXhl.c * ---------------------------------------------------------------------------- +/* mdXhl.c + * ---------------------------------------------------------------------------- * "THE BEER-WARE LICENSE" (Revision 42): * wrote this file. As long as you retain this notice you * can do whatever you want with this stuff. If we meet some day, and you think @@ -52,43 +53,44 @@ MDXFileChunk(const char *filename, char unsigned char buffer[16*1024]; MDX_CTX ctx; struct stat stbuf; - int f, i, e; - off_t n; + int fd, readrv, e; + off_t remain; - MDXInit(&ctx); - f = open(filename, O_RDONLY); - if (f < 0) - return 0; - if (fstat(f, &stbuf) < 0) { - i = -1; - goto error; + if (len < 0) { + errno = EINVAL; + return NULL; } - if (ofs > stbuf.st_size) - ofs = stbuf.st_size; - if ((len == 0) || (len > stbuf.st_size - ofs)) - len = stbuf.st_size - ofs; - if (lseek(f, ofs, SEEK_SET) < 0) { - i = -1; - goto error; + + MDXInit(&ctx); + fd = open(filename, O_RDONLY); + if (fd < 0) + return NULL; + if (ofs != 0) { + errno = 0; + if (lseek(fd, ofs, SEEK_SET) != ofs || + (ofs == -1 && errno != 0)) { + readrv = -1; + goto error; + } } - n = len; - i = 0; - while (n > 0) { - if (n > sizeof(buffer)) - i = read(f, buffer, sizeof(buffer)); + remain = len; + readrv = 0; + while (len == 0 || remain > 0) { + if (len == 0 || remain > sizeof(buffer)) + readrv = read(fd, buffer, sizeof(buffer)); else - i = read(f, buffer, n); - if (i <= 0) + readrv = read(fd, buffer, remain); + if (readrv <= 0) break; - MDXUpdate(&ctx, buffer, i); - n -= i; + MDXUpdate(&ctx, buffer, readrv); + remain -= readrv; } error: e = errno; - close(f); + close(fd); errno = e; - if (i < 0) - return 0; + if (readrv < 0) + return NULL; return (MDXEnd(&ctx, buf)); } Modified: projects/clang380-import/lib/libthr/thread/thr_umtx.c ============================================================================== --- projects/clang380-import/lib/libthr/thread/thr_umtx.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/lib/libthr/thread/thr_umtx.c Fri Jan 15 17:55:00 2016 (r294096) @@ -42,7 +42,7 @@ int _umtx_op_err(void *obj, int op, u_lo void _thr_umutex_init(struct umutex *mtx) { - static struct umutex default_mtx = DEFAULT_UMUTEX; + static const struct umutex default_mtx = DEFAULT_UMUTEX; *mtx = default_mtx; } @@ -50,7 +50,8 @@ _thr_umutex_init(struct umutex *mtx) void _thr_urwlock_init(struct urwlock *rwl) { - static struct urwlock default_rwl = DEFAULT_URWLOCK; + static const struct urwlock default_rwl = DEFAULT_URWLOCK; + *rwl = default_rwl; } Modified: projects/clang380-import/share/examples/pf/pf.conf ============================================================================== --- projects/clang380-import/share/examples/pf/pf.conf Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/share/examples/pf/pf.conf Fri Jan 15 17:55:00 2016 (r294096) @@ -2,8 +2,8 @@ # $OpenBSD: pf.conf,v 1.34 2007/02/24 19:30:59 millert Exp $ # # See pf.conf(5) and /usr/share/examples/pf for syntax and examples. -# Remember to set net.inet.ip.forwarding=1 and/or net.inet6.ip6.forwarding=1 -# in /etc/sysctl.conf if packets are to be forwarded between interfaces. +# Remember to set gateway_enable="YES" and/or ipv6_gateway_enable="YES" +# in /etc/rc.conf if packets are to be forwarded between interfaces. #ext_if="ext0" #int_if="int0" Modified: projects/clang380-import/share/man/man4/ddb.4 ============================================================================== --- projects/clang380-import/share/man/man4/ddb.4 Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/share/man/man4/ddb.4 Fri Jan 15 17:55:00 2016 (r294096) @@ -60,7 +60,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 5, 2015 +.Dd January 14, 2016 .Dt DDB 4 .Os .Sh NAME @@ -1435,6 +1435,47 @@ The NMI allows one to break into the deb diagnose problems. Other bus' bridge chipsets may be able to generate NMI using bus specific methods. +There are many PCI and PCIe add-in cards which can generate NMI for +debugging. +Modern systems typically use IPMI to generate signals to enter the +debugger. +The +.Dv devel/ipmitool +port can be used to send the +.Cd chassis power diag +command which delivers an NMI to the processor. +.Pp +For serial consoles, you can break to the debugger by sending a BREAK +condition on the serial line if +.Cd options BREAK_TO_DEBUGGER +is specified in the kernel. +Most terminal emulation programs can send a break sequence with a +special key sequence or via a menu item. +However, in some setups, sending the break can be difficult to arrange +or happens spuriously, so if the kernel contains +.Cd options ALT_BREAK_TO_DEBUGGER +then the sequence of CR TILDE CTRL-B enters the debugger; +CR TILDE CTRL-P causes a panic instead of entering the +debugger; and +CR TILDE CTRL-R causes an immediate reboot. +In all the above sequences, CR is a Carriage Return and is usually +sent by hitting the Enter or Return key. +TILDE is the ASCII tilde character (~). +CTRL-x is Control x created by hitting the control key and then x +and then releasing both. +.Pp +The break to debugger behavior may also be enabled by setting the +.Xr sysctl 8 +.Dv debug.kdb.break_to_debugger +to 1. +The alt break to debugger behavior may also be enabled by setting the +.Xr sysctl 8 +.Dv debug.kdb.alt_break_to_debugger +to 1. +The debugger may be entered by setting the +.Xr sysctl 8 +.Dv debug.kdb.enter +to 1. .Sh FILES Header files mentioned in this manual page can be found below .Pa /usr/include Modified: projects/clang380-import/share/man/man4/ioat.4 ============================================================================== --- projects/clang380-import/share/man/man4/ioat.4 Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/share/man/man4/ioat.4 Fri Jan 15 17:55:00 2016 (r294096) @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd January 7, 2016 +.Dd January 14, 2016 .Dt IOAT 4 .Os .Sh NAME @@ -134,7 +134,7 @@ Null operations do nothing, but may be u mechanism. .Pp All operations can optionally trigger an interrupt at completion with the -.Ar DMA_EN_INT +.Ar DMA_INT_EN flag. For example, a user might submit multiple operations to the same channel and only enable an interrupt and callback for the last operation. @@ -160,6 +160,17 @@ flag. .Ar DMA_NO_WAIT may return NULL.) .Pp +Operations that depend on the result of prior operations should use +.Ar DMA_FENCE . +For example, such a scenario can happen when two related DMA operations are +queued. +First, a DMA copy to one location (A), followed directly by a DMA copy +from A to B. +In this scenario, some classes of I/OAT hardware may prefetch A for the second +operation before it is written by the first operation. +To avoid reading a stale value in sequences of dependent operations, use +.Ar DMA_FENCE . +.Pp All operations, as well as .Fn ioat_get_dmaengine , can return NULL in special circumstances. Modified: projects/clang380-import/share/man/man4/sfxge.4 ============================================================================== --- projects/clang380-import/share/man/man4/sfxge.4 Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/share/man/man4/sfxge.4 Fri Jan 15 17:55:00 2016 (r294096) @@ -121,8 +121,10 @@ If a packet is dropped, the counter is incremented and the local sender receives ENOBUFS. The value must be greater than or equal to 0. .It Va hw.sfxge.tso_fw_assisted -Enable/disable usage of FW-assisted TSO if supported by NIC firmware. -Enabled by default. +Bitmask to enable/disable usage of FW-assisted TSO version if supported +by NIC firmware. +FATSOv1 (bit 0) and FATSOv2 (bit 1) are supported. +All enabled by default. .It Va hw.sfxge.N.max_rss_channels The maximum number of allocated RSS channels for the Nth adapter. If set to 0 or unset, the number of channels is determined by the number Modified: projects/clang380-import/share/mk/bsd.sys.mk ============================================================================== --- projects/clang380-import/share/mk/bsd.sys.mk Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/share/mk/bsd.sys.mk Fri Jan 15 17:55:00 2016 (r294096) @@ -164,10 +164,11 @@ SSP_CFLAGS?= -fstack-protector CFLAGS+= ${SSP_CFLAGS} .endif # SSP && !ARM && !MIPS -# Allow user-specified additional warning flags, plus compiler specific flag overrides. -# Unless we've overriden this... +# Allow user-specified additional warning flags, plus compiler and file +# specific flag overrides, unless we've overriden this... .if ${MK_WARNS} != "no" CFLAGS+= ${CWARNFLAGS} ${CWARNFLAGS.${COMPILER_TYPE}} +CFLAGS+= ${CWARNFLAGS.${.IMPSRC:T}} .endif CFLAGS+= ${CFLAGS.${COMPILER_TYPE}} Modified: projects/clang380-import/sys/amd64/linux/linux_proto.h ============================================================================== --- projects/clang380-import/sys/amd64/linux/linux_proto.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux/linux_proto.h Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #ifndef _LINUX_SYSPROTO_H_ @@ -966,7 +966,7 @@ struct linux_set_robust_list_args { }; struct linux_get_robust_list_args { char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)]; - char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)]; + char head_l_[PADL_(struct linux_robust_list_head **)]; struct linux_robust_list_head ** head; char head_r_[PADR_(struct linux_robust_list_head **)]; char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { Modified: projects/clang380-import/sys/amd64/linux/linux_syscall.h ============================================================================== --- projects/clang380-import/sys/amd64/linux/linux_syscall.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux/linux_syscall.h Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #define LINUX_SYS_read 0 Modified: projects/clang380-import/sys/amd64/linux/linux_syscalls.c ============================================================================== --- projects/clang380-import/sys/amd64/linux/linux_syscalls.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux/linux_syscalls.c Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ const char *linux_syscallnames[] = { Modified: projects/clang380-import/sys/amd64/linux/linux_sysent.c ============================================================================== --- projects/clang380-import/sys/amd64/linux/linux_sysent.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux/linux_sysent.c Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #include Modified: projects/clang380-import/sys/amd64/linux/linux_systrace_args.c ============================================================================== --- projects/clang380-import/sys/amd64/linux/linux_systrace_args.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux/linux_systrace_args.c Fri Jan 15 17:55:00 2016 (r294096) @@ -2020,7 +2020,7 @@ systrace_args(int sysnum, void *params, case 274: { struct linux_get_robust_list_args *p = params; iarg[0] = p->pid; /* l_int */ - uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head * */ + uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head ** */ uarg[2] = (intptr_t) p->len; /* l_size_t * */ *n_args = 3; break; @@ -5347,7 +5347,7 @@ systrace_entry_setargdesc(int sysnum, in p = "l_int"; break; case 1: - p = "struct linux_robust_list_head *"; + p = "struct linux_robust_list_head **"; break; case 2: p = "l_size_t *"; Modified: projects/clang380-import/sys/amd64/linux/syscalls.master ============================================================================== --- projects/clang380-import/sys/amd64/linux/syscalls.master Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux/syscalls.master Fri Jan 15 17:55:00 2016 (r294096) @@ -461,8 +461,8 @@ 272 AUE_NULL STD { int linux_unshare(void); } 273 AUE_NULL STD { int linux_set_robust_list(struct linux_robust_list_head *head, \ l_size_t len); } -274 AUE_NULL STD { int linux_get_robust_list(l_int pid, struct linux_robust_list_head *head, \ - l_size_t *len); } +274 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ + struct linux_robust_list_head **head, l_size_t *len); } 275 AUE_NULL STD { int linux_splice(void); } 276 AUE_NULL STD { int linux_tee(void); } 277 AUE_NULL STD { int linux_sync_file_range(void); } Modified: projects/clang380-import/sys/amd64/linux32/linux32_proto.h ============================================================================== --- projects/clang380-import/sys/amd64/linux32/linux32_proto.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux32/linux32_proto.h Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #ifndef _LINUX32_SYSPROTO_H_ @@ -1023,7 +1023,7 @@ struct linux_set_robust_list_args { }; struct linux_get_robust_list_args { char pid_l_[PADL_(l_int)]; l_int pid; char pid_r_[PADR_(l_int)]; - char head_l_[PADL_(struct linux_robust_list_head *)]; struct linux_robust_list_head * head; char head_r_[PADR_(struct linux_robust_list_head *)]; + char head_l_[PADL_(struct linux_robust_list_head **)]; struct linux_robust_list_head ** head; char head_r_[PADR_(struct linux_robust_list_head **)]; char len_l_[PADL_(l_size_t *)]; l_size_t * len; char len_r_[PADR_(l_size_t *)]; }; struct linux_splice_args { Modified: projects/clang380-import/sys/amd64/linux32/linux32_syscall.h ============================================================================== --- projects/clang380-import/sys/amd64/linux32/linux32_syscall.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux32/linux32_syscall.h Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #define LINUX32_SYS_linux_exit 1 Modified: projects/clang380-import/sys/amd64/linux32/linux32_syscalls.c ============================================================================== --- projects/clang380-import/sys/amd64/linux32/linux32_syscalls.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux32/linux32_syscalls.c Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ const char *linux32_syscallnames[] = { Modified: projects/clang380-import/sys/amd64/linux32/linux32_sysent.c ============================================================================== --- projects/clang380-import/sys/amd64/linux32/linux32_sysent.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux32/linux32_sysent.c Fri Jan 15 17:55:00 2016 (r294096) @@ -3,7 +3,7 @@ * * DO NOT EDIT-- this file is automatically generated. * $FreeBSD$ - * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 289769 2015-10-22 21:28:20Z jhb + * created from FreeBSD: head/sys/amd64/linux32/syscalls.master 293907 2016-01-14 10:13:58Z glebius */ #include "opt_compat.h" Modified: projects/clang380-import/sys/amd64/linux32/linux32_systrace_args.c ============================================================================== --- projects/clang380-import/sys/amd64/linux32/linux32_systrace_args.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux32/linux32_systrace_args.c Fri Jan 15 17:55:00 2016 (r294096) @@ -2122,7 +2122,7 @@ systrace_args(int sysnum, void *params, case 312: { struct linux_get_robust_list_args *p = params; iarg[0] = p->pid; /* l_int */ - uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head * */ + uarg[1] = (intptr_t) p->head; /* struct linux_robust_list_head ** */ uarg[2] = (intptr_t) p->len; /* l_size_t * */ *n_args = 3; break; @@ -5551,7 +5551,7 @@ systrace_entry_setargdesc(int sysnum, in p = "l_int"; break; case 1: - p = "struct linux_robust_list_head *"; + p = "struct linux_robust_list_head **"; break; case 2: p = "l_size_t *"; Modified: projects/clang380-import/sys/amd64/linux32/syscalls.master ============================================================================== --- projects/clang380-import/sys/amd64/linux32/syscalls.master Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/amd64/linux32/syscalls.master Fri Jan 15 17:55:00 2016 (r294096) @@ -520,8 +520,8 @@ ; linux 2.6.17: 311 AUE_NULL STD { int linux_set_robust_list(struct linux_robust_list_head *head, \ l_size_t len); } -312 AUE_NULL STD { int linux_get_robust_list(l_int pid, struct linux_robust_list_head *head, \ - l_size_t *len); } +312 AUE_NULL STD { int linux_get_robust_list(l_int pid, \ + struct linux_robust_list_head **head, l_size_t *len); } 313 AUE_NULL STD { int linux_splice(void); } 314 AUE_NULL STD { int linux_sync_file_range(void); } 315 AUE_NULL STD { int linux_tee(void); } Modified: projects/clang380-import/sys/arm/at91/at91_mci.c ============================================================================== --- projects/clang380-import/sys/arm/at91/at91_mci.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/arm/at91/at91_mci.c Fri Jan 15 17:55:00 2016 (r294096) @@ -446,6 +446,9 @@ at91_mci_attach(device_t dev) CTLFLAG_RW, &sc->allow_overclock, 0, "Allow up to 30MHz clock for 25MHz request when next highest speed 15MHz or less."); + SYSCTL_ADD_UINT(sctx, SYSCTL_CHILDREN(soid), OID_AUTO, "debug", + CTLFLAG_RWTUN, &mci_debug, 0, "enable debug output"); + /* * Our real min freq is master_clock/512, but upper driver layers are * going to set the min speed during card discovery, and the right speed @@ -783,15 +786,6 @@ at91_mci_start_cmd(struct at91_mci_softc WR4(sc, PDC_PTCR, PDC_PTCR_RXTEN); } else { len = min(BBSIZE, remaining); - /* - * If this is MCI1 revision 2xx controller, apply - * a work-around for the "Data Write Operation and - * number of bytes" erratum. - */ - if ((sc->sc_cap & CAP_MCI1_REV2XX) && len < 12) { - len = 12; - memset(sc->bbuf_vaddr[0], 0, 12); - } at91_bswap_buf(sc, sc->bbuf_vaddr[0], data->data, len); err = bus_dmamap_load(sc->dmatag, sc->bbuf_map[0], sc->bbuf_vaddr[0], len, at91_mci_getaddr, @@ -800,8 +794,13 @@ at91_mci_start_cmd(struct at91_mci_softc panic("IO write dmamap_load failed\n"); bus_dmamap_sync(sc->dmatag, sc->bbuf_map[0], BUS_DMASYNC_PREWRITE); + /* + * Erratum workaround: PDC transfer length on a write + * must not be smaller than 12 bytes (3 words); only + * blklen bytes (set above) are actually transferred. + */ WR4(sc, PDC_TPR,paddr); - WR4(sc, PDC_TCR, len / 4); + WR4(sc, PDC_TCR, (len < 12) ? 3 : len / 4); sc->bbuf_len[0] = len; remaining -= len; if (remaining == 0) { @@ -818,7 +817,7 @@ at91_mci_start_cmd(struct at91_mci_softc bus_dmamap_sync(sc->dmatag, sc->bbuf_map[1], BUS_DMASYNC_PREWRITE); WR4(sc, PDC_TNPR, paddr); - WR4(sc, PDC_TNCR, len / 4); + WR4(sc, PDC_TNCR, (len < 12) ? 3 : len / 4); sc->bbuf_len[1] = len; remaining -= len; } Modified: projects/clang380-import/sys/arm/conf/IMX53 ============================================================================== --- projects/clang380-import/sys/arm/conf/IMX53 Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/arm/conf/IMX53 Fri Jan 15 17:55:00 2016 (r294096) @@ -136,11 +136,3 @@ device wlan_amrr # AMRR transmit rate # Flattened Device Tree options FDT # Configure using FDT/DTB data - -# NOTE: serial console will be disabled if syscons enabled -# Uncomment following lines for framebuffer/syscons support -#device sc -#device vt -#device kbdmux -#options SC_DFLT_FONT # compile font in -#makeoptions SC_DFLT_FONT=cp437 Modified: projects/clang380-import/sys/arm/conf/IMX6 ============================================================================== --- projects/clang380-import/sys/arm/conf/IMX6 Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/arm/conf/IMX6 Fri Jan 15 17:55:00 2016 (r294096) @@ -125,14 +125,6 @@ device u3g # USB modems #device wlan_tkip # 802.11 TKIP support #device wlan_amrr # AMRR transmit rate control algorithm -# NOTE: serial console will be disabled if syscons enabled -# Uncomment following lines for framebuffer/syscons support -# Wandboard has no video console support yet. -#device sc -#device kbdmux -#options SC_DFLT_FONT # compile font in -#makeoptions SC_DFLT_FONT=cp437 - device vt device kbdmux device ukbd Modified: projects/clang380-import/sys/boot/common/bootstrap.h ============================================================================== --- projects/clang380-import/sys/boot/common/bootstrap.h Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/boot/common/bootstrap.h Fri Jan 15 17:55:00 2016 (r294096) @@ -237,7 +237,7 @@ void unload(void); struct preloaded_file *file_alloc(void); struct preloaded_file *file_findfile(const char *name, const char *type); struct file_metadata *file_findmetadata(struct preloaded_file *fp, int type); -struct preloaded_file *file_loadraw(char *name, char *type, int insert); +struct preloaded_file *file_loadraw(const char *name, char *type, int insert); void file_discard(struct preloaded_file *fp); void file_addmetadata(struct preloaded_file *fp, int type, size_t size, void *p); int file_addmodule(struct preloaded_file *fp, char *modname, int version, Modified: projects/clang380-import/sys/boot/common/module.c ============================================================================== --- projects/clang380-import/sys/boot/common/module.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/boot/common/module.c Fri Jan 15 17:55:00 2016 (r294096) @@ -388,14 +388,14 @@ file_load_dependencies(struct preloaded_ } /* - * We've been asked to load (name) as (type), so just suck it in, + * We've been asked to load (fname) as (type), so just suck it in, * no arguments or anything. */ struct preloaded_file * -file_loadraw(char *name, char *type, int insert) +file_loadraw(const char *fname, char *type, int insert) { struct preloaded_file *fp; - char *cp; + char *name; int fd, got; vm_offset_t laddr; @@ -406,12 +406,11 @@ file_loadraw(char *name, char *type, int } /* locate the file on the load path */ - cp = file_search(name, NULL); - if (cp == NULL) { - sprintf(command_errbuf, "can't find '%s'", name); + name = file_search(fname, NULL); + if (name == NULL) { + sprintf(command_errbuf, "can't find '%s'", fname); return(NULL); } - name = cp; if ((fd = open(name, O_RDONLY)) < 0) { sprintf(command_errbuf, "can't open '%s': %s", name, strerror(errno)); Modified: projects/clang380-import/sys/boot/common/ufsread.c ============================================================================== --- projects/clang380-import/sys/boot/common/ufsread.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/boot/common/ufsread.c Fri Jan 15 17:55:00 2016 (r294096) @@ -187,8 +187,15 @@ fsread(ufs_ino_t inode, void *buf, size_ blkbuf = dmadat->blkbuf; indbuf = dmadat->indbuf; - if (!dsk_meta) { + + /* + * Force probe if inode is zero to ensure we have a valid fs, otherwise + * when probing multiple paritions, reads from subsequent parititions + * will incorrectly succeed. + */ + if (!dsk_meta || inode == 0) { inomap = 0; + dsk_meta = 0; for (n = 0; sblock_try[n] != -1; n++) { if (dskread(dmadat->sbbuf, sblock_try[n] / DEV_BSIZE, SBLOCKSIZE / DEV_BSIZE)) Modified: projects/clang380-import/sys/boot/efi/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/Makefile Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/boot/efi/Makefile Fri Jan 15 17:55:00 2016 (r294096) @@ -2,7 +2,8 @@ .include -SUBDIR= libefi +# In-tree GCC does not support __attribute__((ms_abi)). +.if ${COMPILER_TYPE} != "gcc" .if ${MACHINE_CPUARCH} == "aarch64" || ${MACHINE_CPUARCH} == "arm" .if ${MK_FDT} != "no" @@ -13,7 +14,10 @@ SUBDIR+= fdt .if ${MACHINE_CPUARCH} == "aarch64" || \ ${MACHINE_CPUARCH} == "amd64" || \ ${MACHINE_CPUARCH} == "arm" -SUBDIR+= loader boot1 +SUBDIR+= libefi loader boot1 .endif +.endif # ${COMPILER_TYPE} != "gcc" + .include + Modified: projects/clang380-import/sys/boot/efi/boot1/Makefile ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/Makefile Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/boot/efi/boot1/Makefile Fri Jan 15 17:55:00 2016 (r294096) @@ -2,10 +2,7 @@ MAN= -.include - -# In-tree GCC does not support __attribute__((ms_abi)). -.if ${COMPILER_TYPE} != "gcc" +.include MK_SSP= no @@ -13,14 +10,35 @@ PROG= boot1.sym INTERNALPROG= WARNS?= 6 +.if ${MK_ZFS} != "no" +# Disable warnings that are currently incompatible with the zfs boot code +CWARNFLAGS.zfs_module.c += -Wno-array-bounds +CWARNFLAGS.zfs_module.c += -Wno-cast-align +CWARNFLAGS.zfs_module.c += -Wno-cast-qual +CWARNFLAGS.zfs_module.c += -Wno-missing-prototypes +CWARNFLAGS.zfs_module.c += -Wno-sign-compare +CWARNFLAGS.zfs_module.c += -Wno-unused-parameter +CWARNFLAGS.zfs_module.c += -Wno-unused-function +.endif + # architecture-specific loader code -SRCS= boot1.c self_reloc.c start.S +SRCS= boot1.c self_reloc.c start.S ufs_module.c +.if ${MK_ZFS} != "no" +SRCS+= zfs_module.c +.endif CFLAGS+= -I. CFLAGS+= -I${.CURDIR}/../include CFLAGS+= -I${.CURDIR}/../include/${MACHINE} CFLAGS+= -I${.CURDIR}/../../../contrib/dev/acpica/include CFLAGS+= -I${.CURDIR}/../../.. +CFLAGS+= -DEFI_UFS_BOOT + +.if ${MK_ZFS} != "no" +CFLAGS+= -I${.CURDIR}/../../zfs/ +CFLAGS+= -I${.CURDIR}/../../../cddl/boot/zfs/ +CFLAGS+= -DEFI_ZFS_BOOT +.endif # Always add MI sources and REGULAR efi loader bits .PATH: ${.CURDIR}/../loader/arch/${MACHINE} @@ -96,8 +114,6 @@ boot1.efifat: boot1.efi CLEANFILES= boot1.efi boot1.efifat -.endif # ${COMPILER_TYPE} != "gcc" - .include beforedepend ${OBJS}: machine Modified: projects/clang380-import/sys/boot/efi/boot1/boot1.c ============================================================================== --- projects/clang380-import/sys/boot/efi/boot1/boot1.c Fri Jan 15 16:45:36 2016 (r294095) +++ projects/clang380-import/sys/boot/efi/boot1/boot1.c Fri Jan 15 17:55:00 2016 (r294096) @@ -5,6 +5,8 @@ * All rights reserved. * Copyright (c) 2014 Nathan Whitehorn * All rights reserved. + * Copyright (c) 2015 Eric McCorkle + * All rights reserved. * * Redistribution and use in source and binary forms are freely * permitted provided that the above copyright notice and this @@ -21,7 +23,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include #include @@ -29,19 +30,32 @@ __FBSDID("$FreeBSD$"); #include #include +#include "boot_module.h" + #define _PATH_LOADER "/boot/loader.efi" -#define _PATH_KERNEL "/boot/kernel/kernel" -#define BSIZEMAX 16384 +static const boot_module_t *boot_modules[] = +{ +#ifdef EFI_ZFS_BOOT + &zfs_module, +#endif +#ifdef EFI_UFS_BOOT + &ufs_module +#endif +}; + +#define NUM_BOOT_MODULES (sizeof(boot_modules) / sizeof(boot_module_t*)) +/* The initial number of handles used to query EFI for partitions. */ +#define NUM_HANDLES_INIT 24 -void panic(const char *fmt, ...) __dead2; void putchar(int c); EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab); -static int domount(EFI_DEVICE_PATH *device, EFI_BLOCK_IO *blkio, int quiet); -static void load(const char *fname); +static void try_load(const boot_module_t* mod); +static EFI_STATUS probe_handle(EFI_HANDLE h); -static EFI_SYSTEM_TABLE *systab; +EFI_SYSTEM_TABLE *systab; +EFI_BOOT_SERVICES *bs; static EFI_HANDLE *image; static EFI_GUID BlockIoProtocolGUID = BLOCK_IO_PROTOCOL; @@ -49,27 +63,92 @@ static EFI_GUID DevicePathGUID = DEVICE_ static EFI_GUID LoadedImageGUID = LOADED_IMAGE_PROTOCOL; static EFI_GUID ConsoleControlGUID = EFI_CONSOLE_CONTROL_PROTOCOL_GUID; -static EFI_BLOCK_IO *bootdev; -static EFI_DEVICE_PATH *bootdevpath; -static EFI_HANDLE *bootdevhandle; +/* + * Provide Malloc / Free backed by EFIs AllocatePool / FreePool which ensures + * memory is correctly aligned avoiding EFI_INVALID_PARAMETER returns from + * EFI methods. + */ +void * +Malloc(size_t len, const char *file __unused, int line __unused) +{ + void *out; + + if (bs->AllocatePool(EfiLoaderData, len, &out) == EFI_SUCCESS) + return (out); -EFI_STATUS efi_main(EFI_HANDLE Ximage, EFI_SYSTEM_TABLE* Xsystab) + return (NULL); +} + +void +Free(void *buf, const char *file __unused, int line __unused) { - EFI_HANDLE handles[128]; - EFI_BLOCK_IO *blkio; - UINTN i, nparts = sizeof(handles), cols, rows, max_dim, best_mode; + (void)bs->FreePool(buf); +} + +/* + * This function only returns if it fails to load the kernel. If it + * succeeds, it simply boots the kernel. + */ +void +try_load(const boot_module_t *mod) +{ + size_t bufsize; + void *buf; + dev_info_t *dev; + EFI_HANDLE loaderhandle; + EFI_LOADED_IMAGE *loaded_image; + EFI_STATUS status; + + status = mod->load(_PATH_LOADER, &dev, &buf, &bufsize); + if (status == EFI_NOT_FOUND) + return; + + if (status != EFI_SUCCESS) { + printf("%s failed to load %s (%lu)\n", mod->name, _PATH_LOADER, + EFI_ERROR_CODE(status)); + return; + } + + if ((status = bs->LoadImage(TRUE, image, dev->devpath, buf, bufsize, + &loaderhandle)) != EFI_SUCCESS) { + printf("Failed to load image provided by %s, size: %zu, (%lu)\n", + mod->name, bufsize, EFI_ERROR_CODE(status)); + return; + } + + if ((status = bs->HandleProtocol(loaderhandle, &LoadedImageGUID, + (VOID**)&loaded_image)) != EFI_SUCCESS) { + printf("Failed to query LoadedImage provided by %s (%lu)\n", + mod->name, EFI_ERROR_CODE(status)); + return; + } + + loaded_image->DeviceHandle = dev->devhandle; + + if ((status = bs->StartImage(loaderhandle, NULL, NULL)) != + EFI_SUCCESS) { + printf("Failed start image provided by %s (%lu)\n", mod->name, + EFI_ERROR_CODE(status)); + return; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Jan 16 17:33:12 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 DE73BA85363 for ; Sat, 16 Jan 2016 17:33:11 +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 96A751373; Sat, 16 Jan 2016 17:33:11 +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 u0GHXA2u046235; Sat, 16 Jan 2016 17:33:10 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0GHX9f6046224; Sat, 16 Jan 2016 17:33:09 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601161733.u0GHX9f6046224@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 16 Jan 2016 17:33:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294169 - in projects/clang380-import: . contrib/mdocml etc/mtree lib/libkvm share/man/man4 share/man/man5 share/man/man9 share/mk sys/arm/arm sys/arm/at91 sys/arm/include sys/conf sys/... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 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: Sat, 16 Jan 2016 17:33:12 -0000 Author: dim Date: Sat Jan 16 17:33:09 2016 New Revision: 294169 URL: https://svnweb.freebsd.org/changeset/base/294169 Log: Merge ^head r294090 through r294168. Added: projects/clang380-import/contrib/mdocml/compat_err.c - copied unchanged from r294168, head/contrib/mdocml/compat_err.c projects/clang380-import/contrib/mdocml/compat_getline.c - copied unchanged from r294168, head/contrib/mdocml/compat_getline.c projects/clang380-import/contrib/mdocml/compat_isblank.c - copied unchanged from r294168, head/contrib/mdocml/compat_isblank.c projects/clang380-import/contrib/mdocml/compat_mkdtemp.c - copied unchanged from r294168, head/contrib/mdocml/compat_mkdtemp.c projects/clang380-import/contrib/mdocml/compat_progname.c - copied unchanged from r294168, head/contrib/mdocml/compat_progname.c projects/clang380-import/contrib/mdocml/compat_stringlist.c - copied unchanged from r294168, head/contrib/mdocml/compat_stringlist.c projects/clang380-import/contrib/mdocml/compat_stringlist.h - copied unchanged from r294168, head/contrib/mdocml/compat_stringlist.h projects/clang380-import/contrib/mdocml/compat_vasprintf.c - copied unchanged from r294168, head/contrib/mdocml/compat_vasprintf.c projects/clang380-import/contrib/mdocml/config.log - copied unchanged from r294168, head/contrib/mdocml/config.log projects/clang380-import/contrib/mdocml/man.conf.5 - copied unchanged from r294168, head/contrib/mdocml/man.conf.5 projects/clang380-import/contrib/mdocml/manconf.h - copied unchanged from r294168, head/contrib/mdocml/manconf.h projects/clang380-import/contrib/mdocml/mandoc.css - copied unchanged from r294168, head/contrib/mdocml/mandoc.css projects/clang380-import/contrib/mdocml/mandoc_ohash.c - copied unchanged from r294168, head/contrib/mdocml/mandoc_ohash.c projects/clang380-import/contrib/mdocml/mandoc_ohash.h - copied unchanged from r294168, head/contrib/mdocml/mandoc_ohash.h projects/clang380-import/contrib/mdocml/mdoc_state.c - copied unchanged from r294168, head/contrib/mdocml/mdoc_state.c projects/clang380-import/contrib/mdocml/roff.h - copied unchanged from r294168, head/contrib/mdocml/roff.h projects/clang380-import/contrib/mdocml/roff_int.h - copied unchanged from r294168, head/contrib/mdocml/roff_int.h projects/clang380-import/contrib/mdocml/soelim.1 - copied unchanged from r294168, head/contrib/mdocml/soelim.1 projects/clang380-import/contrib/mdocml/soelim.c - copied unchanged from r294168, head/contrib/mdocml/soelim.c projects/clang380-import/contrib/mdocml/tag.c - copied unchanged from r294168, head/contrib/mdocml/tag.c projects/clang380-import/contrib/mdocml/tag.h - copied unchanged from r294168, head/contrib/mdocml/tag.h projects/clang380-import/contrib/mdocml/test-err.c - copied unchanged from r294168, head/contrib/mdocml/test-err.c projects/clang380-import/contrib/mdocml/test-getline.c - copied unchanged from r294168, head/contrib/mdocml/test-getline.c projects/clang380-import/contrib/mdocml/test-isblank.c - copied unchanged from r294168, head/contrib/mdocml/test-isblank.c projects/clang380-import/contrib/mdocml/test-mkdtemp.c - copied unchanged from r294168, head/contrib/mdocml/test-mkdtemp.c projects/clang380-import/contrib/mdocml/test-pledge.c - copied unchanged from r294168, head/contrib/mdocml/test-pledge.c projects/clang380-import/contrib/mdocml/test-progname.c - copied unchanged from r294168, head/contrib/mdocml/test-progname.c projects/clang380-import/contrib/mdocml/test-rewb-bsd.c - copied unchanged from r294168, head/contrib/mdocml/test-rewb-bsd.c projects/clang380-import/contrib/mdocml/test-rewb-sysv.c - copied unchanged from r294168, head/contrib/mdocml/test-rewb-sysv.c projects/clang380-import/contrib/mdocml/test-stringlist.c - copied unchanged from r294168, head/contrib/mdocml/test-stringlist.c projects/clang380-import/contrib/mdocml/test-vasprintf.c - copied unchanged from r294168, head/contrib/mdocml/test-vasprintf.c projects/clang380-import/sys/arm/at91/at91_ohci.c - copied unchanged from r294168, head/sys/arm/at91/at91_ohci.c projects/clang380-import/sys/arm/at91/at91_ohci_fdt.c - copied unchanged from r294168, head/sys/arm/at91/at91_ohci_fdt.c Deleted: projects/clang380-import/contrib/mdocml/chars.in projects/clang380-import/contrib/mdocml/compat_fgetln.c projects/clang380-import/contrib/mdocml/example.style.css projects/clang380-import/contrib/mdocml/style.css projects/clang380-import/sys/dev/usb/controller/ohci_atmelarm.c projects/clang380-import/sys/dev/usb/controller/ohci_fdt.c Modified: projects/clang380-import/ObsoleteFiles.inc projects/clang380-import/contrib/mdocml/INSTALL projects/clang380-import/contrib/mdocml/LICENSE projects/clang380-import/contrib/mdocml/Makefile projects/clang380-import/contrib/mdocml/Makefile.depend projects/clang380-import/contrib/mdocml/NEWS projects/clang380-import/contrib/mdocml/TODO projects/clang380-import/contrib/mdocml/apropos.1 projects/clang380-import/contrib/mdocml/att.c projects/clang380-import/contrib/mdocml/cgi.c projects/clang380-import/contrib/mdocml/cgi.h.example projects/clang380-import/contrib/mdocml/chars.c projects/clang380-import/contrib/mdocml/compat_fts.c projects/clang380-import/contrib/mdocml/compat_fts.h projects/clang380-import/contrib/mdocml/compat_ohash.h projects/clang380-import/contrib/mdocml/compat_sqlite3_errstr.c projects/clang380-import/contrib/mdocml/config.h projects/clang380-import/contrib/mdocml/configure projects/clang380-import/contrib/mdocml/configure.local.example projects/clang380-import/contrib/mdocml/demandoc.c projects/clang380-import/contrib/mdocml/eqn.7 projects/clang380-import/contrib/mdocml/eqn.c projects/clang380-import/contrib/mdocml/gmdiff projects/clang380-import/contrib/mdocml/html.c projects/clang380-import/contrib/mdocml/html.h projects/clang380-import/contrib/mdocml/lib.c projects/clang380-import/contrib/mdocml/libman.h projects/clang380-import/contrib/mdocml/libmandoc.h projects/clang380-import/contrib/mdocml/libmdoc.h projects/clang380-import/contrib/mdocml/libroff.h projects/clang380-import/contrib/mdocml/main.c projects/clang380-import/contrib/mdocml/main.h projects/clang380-import/contrib/mdocml/man.1 projects/clang380-import/contrib/mdocml/man.c projects/clang380-import/contrib/mdocml/man.cgi.8 projects/clang380-import/contrib/mdocml/man.h projects/clang380-import/contrib/mdocml/man_hash.c projects/clang380-import/contrib/mdocml/man_html.c projects/clang380-import/contrib/mdocml/man_macro.c projects/clang380-import/contrib/mdocml/man_term.c projects/clang380-import/contrib/mdocml/man_validate.c projects/clang380-import/contrib/mdocml/mandoc.1 projects/clang380-import/contrib/mdocml/mandoc.3 projects/clang380-import/contrib/mdocml/mandoc.c projects/clang380-import/contrib/mdocml/mandoc.h projects/clang380-import/contrib/mdocml/mandoc_aux.c projects/clang380-import/contrib/mdocml/mandoc_aux.h projects/clang380-import/contrib/mdocml/mandoc_char.7 projects/clang380-import/contrib/mdocml/mandoc_headers.3 projects/clang380-import/contrib/mdocml/mandocdb.c projects/clang380-import/contrib/mdocml/manpage.c projects/clang380-import/contrib/mdocml/manpath.c projects/clang380-import/contrib/mdocml/mansearch.3 projects/clang380-import/contrib/mdocml/mansearch.c projects/clang380-import/contrib/mdocml/mansearch.h projects/clang380-import/contrib/mdocml/mchars_alloc.3 projects/clang380-import/contrib/mdocml/mdoc.7 projects/clang380-import/contrib/mdocml/mdoc.c projects/clang380-import/contrib/mdocml/mdoc.h projects/clang380-import/contrib/mdocml/mdoc_argv.c projects/clang380-import/contrib/mdocml/mdoc_hash.c projects/clang380-import/contrib/mdocml/mdoc_html.c projects/clang380-import/contrib/mdocml/mdoc_macro.c projects/clang380-import/contrib/mdocml/mdoc_man.c projects/clang380-import/contrib/mdocml/mdoc_term.c projects/clang380-import/contrib/mdocml/mdoc_validate.c projects/clang380-import/contrib/mdocml/msec.c projects/clang380-import/contrib/mdocml/out.c projects/clang380-import/contrib/mdocml/out.h projects/clang380-import/contrib/mdocml/preconv.c projects/clang380-import/contrib/mdocml/read.c projects/clang380-import/contrib/mdocml/roff.7 projects/clang380-import/contrib/mdocml/roff.c projects/clang380-import/contrib/mdocml/st.c projects/clang380-import/contrib/mdocml/tbl.c projects/clang380-import/contrib/mdocml/tbl_data.c projects/clang380-import/contrib/mdocml/tbl_html.c projects/clang380-import/contrib/mdocml/tbl_layout.c projects/clang380-import/contrib/mdocml/tbl_opts.c projects/clang380-import/contrib/mdocml/tbl_term.c projects/clang380-import/contrib/mdocml/term.c projects/clang380-import/contrib/mdocml/term.h projects/clang380-import/contrib/mdocml/term_ascii.c projects/clang380-import/contrib/mdocml/term_ps.c projects/clang380-import/contrib/mdocml/test-dirent-namlen.c projects/clang380-import/contrib/mdocml/test-fts.c projects/clang380-import/contrib/mdocml/test-getsubopt.c projects/clang380-import/contrib/mdocml/test-mmap.c projects/clang380-import/contrib/mdocml/test-ohash.c projects/clang380-import/contrib/mdocml/test-reallocarray.c projects/clang380-import/contrib/mdocml/test-sqlite3.c projects/clang380-import/contrib/mdocml/test-sqlite3_errstr.c projects/clang380-import/contrib/mdocml/test-strcasestr.c projects/clang380-import/contrib/mdocml/test-strlcat.c projects/clang380-import/contrib/mdocml/test-strlcpy.c projects/clang380-import/contrib/mdocml/test-strptime.c projects/clang380-import/contrib/mdocml/test-strsep.c projects/clang380-import/contrib/mdocml/test-strtonum.c projects/clang380-import/contrib/mdocml/test-wchar.c projects/clang380-import/contrib/mdocml/tree.c projects/clang380-import/etc/mtree/BSD.usr.dist projects/clang380-import/lib/libkvm/kvm_arm.h projects/clang380-import/lib/libkvm/kvm_minidump_arm.c projects/clang380-import/share/man/man4/acpi_panasonic.4 projects/clang380-import/share/man/man4/ddb.4 projects/clang380-import/share/man/man4/ffclock.4 projects/clang380-import/share/man/man4/geom_uncompress.4 projects/clang380-import/share/man/man4/geom_uzip.4 projects/clang380-import/share/man/man4/sctp.4 projects/clang380-import/share/man/man5/nandfs.5 projects/clang380-import/share/man/man9/cd.9 projects/clang380-import/share/man/man9/zone.9 projects/clang380-import/share/mk/bsd.dep.mk projects/clang380-import/sys/arm/arm/minidump_machdep.c projects/clang380-import/sys/arm/at91/at91.c projects/clang380-import/sys/arm/at91/at91_common.c projects/clang380-import/sys/arm/at91/at91_machdep.c projects/clang380-import/sys/arm/at91/board_tsc4370.c projects/clang380-import/sys/arm/at91/files.at91 projects/clang380-import/sys/arm/at91/uart_cpu_at91usart.c projects/clang380-import/sys/arm/include/minidump.h projects/clang380-import/sys/arm/include/sysarch.h projects/clang380-import/sys/conf/files projects/clang380-import/sys/conf/kern.post.mk projects/clang380-import/sys/dev/sfxge/common/efx_impl.h projects/clang380-import/sys/dev/sfxge/common/efx_mac.c projects/clang380-import/sys/dev/sfxge/common/efx_nvram.c projects/clang380-import/sys/dev/sfxge/common/efx_phy.c projects/clang380-import/sys/dev/sfxge/common/hunt_ev.c projects/clang380-import/sys/dev/sfxge/common/hunt_impl.h projects/clang380-import/sys/dev/sfxge/common/hunt_mac.c projects/clang380-import/sys/dev/sfxge/common/hunt_nic.c projects/clang380-import/sys/dev/sfxge/common/hunt_nvram.c projects/clang380-import/sys/dev/sfxge/common/hunt_phy.c projects/clang380-import/sys/dev/sfxge/common/medford_nic.c projects/clang380-import/sys/dev/sfxge/common/siena_impl.h projects/clang380-import/sys/dev/sfxge/common/siena_nvram.c projects/clang380-import/sys/fs/nfsclient/nfs_clport.c projects/clang380-import/sys/security/audit/audit_worker.c projects/clang380-import/sys/vm/vm_phys.c projects/clang380-import/sys/xen/xenbus/xenbusvar.h projects/clang380-import/tools/regression/sockets/accf_data_attach/accf_data_attach.c projects/clang380-import/tools/regression/sockets/reconnect/reconnect.c projects/clang380-import/tools/regression/sockets/rtsocket/rtsocket.c projects/clang380-import/tools/regression/sockets/sendfile/sendfile.c projects/clang380-import/tools/regression/sockets/so_setfib/so_setfib.c projects/clang380-import/tools/regression/sockets/unix_gc/Makefile projects/clang380-import/tools/regression/sockets/unix_gc/unix_gc.c projects/clang380-import/tools/regression/sockets/unix_socket/unix_socket.c projects/clang380-import/tools/regression/sockets/zerosend/Makefile projects/clang380-import/tools/regression/sockets/zerosend/zerosend.c projects/clang380-import/tools/tools/nanobsd/embedded/rpi2.cfg projects/clang380-import/usr.bin/less/lesspipe.sh projects/clang380-import/usr.bin/mandoc/Makefile projects/clang380-import/usr.bin/unzip/unzip.1 projects/clang380-import/usr.bin/unzip/unzip.c Directory Properties: projects/clang380-import/ (props changed) projects/clang380-import/contrib/mdocml/ (props changed) projects/clang380-import/share/ (props changed) projects/clang380-import/share/man/man4/ (props changed) projects/clang380-import/sys/ (props changed) projects/clang380-import/sys/cddl/contrib/opensolaris/ (props changed) projects/clang380-import/sys/conf/ (props changed) Modified: projects/clang380-import/ObsoleteFiles.inc ============================================================================== --- projects/clang380-import/ObsoleteFiles.inc Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/ObsoleteFiles.inc Sat Jan 16 17:33:09 2016 (r294169) @@ -121,6 +121,10 @@ OLD_FILES+=usr/lib/clang/3.7.1/lib/freeb OLD_DIRS+=usr/lib/clang/3.7.1/lib/freebsd OLD_DIRS+=usr/lib/clang/3.7.1/lib OLD_DIRS+=usr/lib/clang/3.7.1 +# 20160116: Update mandoc to cvs snapshot 20160116 +OLD_FILES+=/usr/share/mdocml/example.style.css +OLD_FILES+=/usr/share/mdocml/style.css +OLD_DIRS+=/usr/share/mdocml # 20151225: new clang import which bumps version from 3.7.0 to 3.7.1. OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/allocator_interface.h OLD_FILES+=usr/lib/clang/3.7.0/include/sanitizer/asan_interface.h Modified: projects/clang380-import/contrib/mdocml/INSTALL ============================================================================== --- projects/clang380-import/contrib/mdocml/INSTALL Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/INSTALL Sat Jan 16 17:33:09 2016 (r294169) @@ -1,4 +1,4 @@ -$Id: INSTALL,v 1.10 2015/03/09 21:00:14 schwarze Exp $ +$Id: INSTALL,v 1.13 2015/11/07 14:01:16 schwarze Exp $ About mdocml, the portable mandoc distribution ---------------------------------------------- @@ -42,6 +42,8 @@ generates. If anything looks wrong or d wish, read the file "configure.local.example", create and edit a file "configure.local", and re-run "./configure" until the result seems right to you. +On Solaris 10 and earlier, you may have to run "ksh ./configure" +because the native /bin/sh lacks some POSIX features. 3. Run "make". Any POSIX-compatible make, in particular both BSD make and GNU make, @@ -82,9 +84,10 @@ manual page source. Understanding mandoc dependencies --------------------------------- -The mandoc(1), man(1), and demandoc(1) utilities have no external -dependencies, but makewhatis(8) and apropos(1) depend on the -following software: +The mandoc(1), man(1), and demandoc(1) utilities only depend +on the zlib library for decompressing gzipped manual pages, +but makewhatis(8) and apropos(1) depend on the following +additional software: 1. The SQLite database system, see . The recommended version of SQLite is 3.8.4.3 or newer. The mandoc @@ -107,6 +110,11 @@ If you run into that problem, set "HAVE_ If your system does not have it, the bundled compatibility version will be used, so you probably need not worry about it. +One of the chief design goals of the mandoc toolbox is to make +sure that nothing related to documentation requires C++. +Consequently, linking mandoc against any kind of C++ program +would defeat the purpose and is not supported. + Checking autoconfiguration quality ---------------------------------- Modified: projects/clang380-import/contrib/mdocml/LICENSE ============================================================================== --- projects/clang380-import/contrib/mdocml/LICENSE Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/LICENSE Sat Jan 16 17:33:09 2016 (r294169) @@ -1,4 +1,4 @@ -$Id: LICENSE,v 1.7 2015/02/16 14:56:22 schwarze Exp $ +$Id: LICENSE,v 1.11 2015/11/07 17:58:55 schwarze Exp $ With the exceptions noted below, all code and documentation contained in the mdocml toolkit is protected by the Copyright @@ -8,10 +8,12 @@ Copyright (c) 2008-2012, 2014 Kristaps D Copyright (c) 2010-2015 Ingo Schwarze Copyright (c) 2009, 2010, 2011, 2012 Joerg Sonnenberger Copyright (c) 2013 Franco Fichtner +Copyright (c) 2014 Baptiste Daroussin Copyright (c) 1999, 2004 Marc Espie Copyright (c) 1998, 2004, 2010 Todd C. Miller Copyright (c) 2008 Otto Moerbeek Copyright (c) 2004 Ted Unangst +Copyright (c) 1994 Christos Zoulas Copyright (c) 2003, 2007, 2008, 2014 Jason McIntyre See the individual source files for information about who contributed @@ -35,13 +37,16 @@ OR IN CONNECTION WITH THE USE OR PERFORM The following files included from outside sources are protected by -other people's Copyright and are distributed under a 3-clause BSD -license; see these individual files for details. +other people's Copyright and are distributed under various 2-clause +and 3-clause BSD licenses; see these individual files for details. -compat_fts.c, compat_fts.h, +soelim.c, soelim.1: +Copyright (c) 2014 Baptiste Daroussin + +compat_err.c, compat_fts.c, compat_fts.h, compat_getsubopt.c, compat_strcasestr.c, compat_strsep.c, man.1: Copyright (c) 1989,1990,1993,1994 The Regents of the University of California -compat_fgetln.c: -Copyright (c) 1998 The NetBSD Foundation, Inc. +compat_stringlist.c, compat_stringlist.h: +Copyright (c) 1994 Christos Zoulas Modified: projects/clang380-import/contrib/mdocml/Makefile ============================================================================== --- projects/clang380-import/contrib/mdocml/Makefile Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/Makefile Sat Jan 16 17:33:09 2016 (r294169) @@ -1,4 +1,4 @@ -# $Id: Makefile,v 1.457 2015/03/13 12:35:32 schwarze Exp $ +# $Id: Makefile,v 1.480 2015/11/07 21:53:14 schwarze Exp $ # # Copyright (c) 2010, 2011, 2012 Kristaps Dzonsons # Copyright (c) 2011, 2013, 2014, 2015 Ingo Schwarze @@ -20,36 +20,49 @@ VERSION = 1.13.3 # === LIST OF FILES ==================================================== TESTSRCS = test-dirent-namlen.c \ - test-fgetln.c \ + test-err.c \ test-fts.c \ + test-getline.c \ test-getsubopt.c \ + test-isblank.c \ + test-mkdtemp.c \ test-mmap.c \ test-ohash.c \ + test-pledge.c \ + test-progname.c \ test-reallocarray.c \ test-sqlite3.c \ test-sqlite3_errstr.c \ test-strcasestr.c \ + test-stringlist.c \ test-strlcat.c \ test-strlcpy.c \ test-strptime.c \ test-strsep.c \ test-strtonum.c \ + test-vasprintf.c \ test-wchar.c SRCS = att.c \ cgi.c \ chars.c \ - compat_fgetln.c \ + compat_err.c \ compat_fts.c \ + compat_getline.c \ compat_getsubopt.c \ + compat_isblank.c \ + compat_mkdtemp.c \ compat_ohash.c \ + compat_progname.c \ compat_reallocarray.c \ compat_sqlite3_errstr.c \ compat_strcasestr.c \ + compat_stringlist.c \ compat_strlcat.c \ compat_strlcpy.c \ compat_strsep.c \ compat_strtonum.c \ + compat_vasprintf.c \ demandoc.c \ eqn.c \ eqn_html.c \ @@ -65,6 +78,7 @@ SRCS = att.c \ man_validate.c \ mandoc.c \ mandoc_aux.c \ + mandoc_ohash.c \ mandocdb.c \ manpage.c \ manpath.c \ @@ -76,6 +90,7 @@ SRCS = att.c \ mdoc_html.c \ mdoc_macro.c \ mdoc_man.c \ + mdoc_state.c \ mdoc_term.c \ mdoc_validate.c \ msec.c \ @@ -83,7 +98,9 @@ SRCS = att.c \ preconv.c \ read.c \ roff.c \ + soelim.c \ st.c \ + tag.c \ tbl.c \ tbl_data.c \ tbl_html.c \ @@ -93,8 +110,7 @@ SRCS = att.c \ term.c \ term_ascii.c \ term_ps.c \ - tree.c \ - $(TESTSRCS) + tree.c DISTFILES = INSTALL \ LICENSE \ @@ -104,14 +120,13 @@ DISTFILES = INSTALL \ TODO \ apropos.1 \ cgi.h.example \ - chars.in \ compat_fts.h \ compat_ohash.h \ + compat_stringlist.h \ configure \ configure.local.example \ demandoc.1 \ eqn.7 \ - example.style.css \ gmdiff \ html.h \ lib.in \ @@ -121,13 +136,15 @@ DISTFILES = INSTALL \ libroff.h \ main.h \ makewhatis.8 \ - man-cgi.css \ man.1 \ man.7 \ man.cgi.8 \ + man.conf.5 \ man.h \ + manconf.h \ mandoc.1 \ mandoc.3 \ + mandoc.css \ mandoc.db.5 \ mandoc.h \ mandoc_aux.h \ @@ -136,7 +153,7 @@ DISTFILES = INSTALL \ mandoc_headers.3 \ mandoc_html.3 \ mandoc_malloc.3 \ - manpath.h \ + mandoc_ohash.h \ mansearch.3 \ mansearch.h \ mchars_alloc.3 \ @@ -146,12 +163,15 @@ DISTFILES = INSTALL \ out.h \ predefs.in \ roff.7 \ + roff.h \ + soelim.1 \ st.in \ - style.css \ + tag.h \ tbl.3 \ tbl.7 \ term.h \ - $(SRCS) + $(SRCS) \ + $(TESTSRCS) LIBMAN_OBJS = man.o \ man_hash.o \ @@ -164,6 +184,7 @@ LIBMDOC_OBJS = att.o \ mdoc_argv.o \ mdoc_hash.o \ mdoc_macro.o \ + mdoc_state.o \ mdoc_validate.o \ st.o @@ -180,21 +201,27 @@ LIBMANDOC_OBJS = $(LIBMAN_OBJS) \ chars.o \ mandoc.o \ mandoc_aux.o \ + mandoc_ohash.o \ msec.o \ preconv.o \ read.o -COMPAT_OBJS = compat_fgetln.o \ +COMPAT_OBJS = compat_err.o \ compat_fts.o \ + compat_getline.o \ compat_getsubopt.o \ + compat_isblank.o \ + compat_mkdtemp.o \ compat_ohash.o \ + compat_progname.o \ compat_reallocarray.o \ compat_sqlite3_errstr.o \ compat_strcasestr.o \ compat_strlcat.o \ compat_strlcpy.o \ compat_strsep.o \ - compat_strtonum.o + compat_strtonum.o \ + compat_vasprintf.o MANDOC_HTML_OBJS = eqn_html.o \ html.o \ @@ -218,6 +245,7 @@ BASE_OBJS = $(MANDOC_HTML_OBJS) \ main.o \ manpath.o \ out.o \ + tag.o \ tree.o MAIN_OBJS = $(BASE_OBJS) @@ -236,10 +264,18 @@ MANPAGE_OBJS = manpage.o mansearch.o ma DEMANDOC_OBJS = demandoc.o +SOELIM_OBJS = soelim.o \ + compat_err.o \ + compat_getline.o \ + compat_progname.o \ + compat_reallocarray.o \ + compat_stringlist.o + WWW_MANS = apropos.1.html \ demandoc.1.html \ man.1.html \ mandoc.1.html \ + soelim.1.html \ mandoc.3.html \ mandoc_escape.3.html \ mandoc_headers.3.html \ @@ -248,6 +284,7 @@ WWW_MANS = apropos.1.html \ mansearch.3.html \ mchars_alloc.3.html \ tbl.3.html \ + man.conf.5.html \ mandoc.db.5.html \ eqn.7.html \ man.7.html \ @@ -258,11 +295,12 @@ WWW_MANS = apropos.1.html \ makewhatis.8.html \ man.cgi.8.html \ man.h.html \ + manconf.h.html \ mandoc.h.html \ mandoc_aux.h.html \ - manpath.h.html \ mansearch.h.html \ - mdoc.h.html + mdoc.h.html \ + roff.h.html WWW_OBJS = mdocml.tar.gz \ mdocml.sha256 @@ -275,7 +313,7 @@ include Makefile.local all: base-build $(BUILD_TARGETS) Makefile.local -base-build: mandoc demandoc +base-build: mandoc demandoc soelim cgi-build: man.cgi @@ -301,33 +339,36 @@ clean: rm -f man.cgi $(CGI_OBJS) rm -f manpage $(MANPAGE_OBJS) rm -f demandoc $(DEMANDOC_OBJS) + rm -f soelim $(SOELIM_OBJS) rm -f $(WWW_MANS) $(WWW_OBJS) rm -rf *.dSYM base-install: base-build mkdir -p $(DESTDIR)$(BINDIR) - mkdir -p $(DESTDIR)$(EXAMPLEDIR) mkdir -p $(DESTDIR)$(LIBDIR) mkdir -p $(DESTDIR)$(INCLUDEDIR) mkdir -p $(DESTDIR)$(MANDIR)/man1 mkdir -p $(DESTDIR)$(MANDIR)/man3 + mkdir -p $(DESTDIR)$(MANDIR)/man5 mkdir -p $(DESTDIR)$(MANDIR)/man7 $(INSTALL_PROGRAM) mandoc demandoc $(DESTDIR)$(BINDIR) + $(INSTALL_PROGRAM) soelim $(DESTDIR)$(BINDIR)/$(BINM_SOELIM) ln -f $(DESTDIR)$(BINDIR)/mandoc $(DESTDIR)$(BINDIR)/$(BINM_MAN) $(INSTALL_LIB) libmandoc.a $(DESTDIR)$(LIBDIR) - $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h \ + $(INSTALL_LIB) man.h mandoc.h mandoc_aux.h mdoc.h roff.h \ $(DESTDIR)$(INCLUDEDIR) $(INSTALL_MAN) mandoc.1 demandoc.1 $(DESTDIR)$(MANDIR)/man1 + $(INSTALL_MAN) soelim.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_SOELIM).1 $(INSTALL_MAN) man.1 $(DESTDIR)$(MANDIR)/man1/$(BINM_MAN).1 $(INSTALL_MAN) mandoc.3 mandoc_escape.3 mandoc_malloc.3 \ mchars_alloc.3 tbl.3 $(DESTDIR)$(MANDIR)/man3 + $(INSTALL_MAN) man.conf.5 $(DESTDIR)$(MANDIR)/man5/${MANM_MANCONF}.5 $(INSTALL_MAN) man.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MAN}.7 $(INSTALL_MAN) mdoc.7 $(DESTDIR)$(MANDIR)/man7/${MANM_MDOC}.7 $(INSTALL_MAN) roff.7 $(DESTDIR)$(MANDIR)/man7/${MANM_ROFF}.7 $(INSTALL_MAN) eqn.7 $(DESTDIR)$(MANDIR)/man7/${MANM_EQN}.7 $(INSTALL_MAN) tbl.7 $(DESTDIR)$(MANDIR)/man7/${MANM_TBL}.7 $(INSTALL_MAN) mandoc_char.7 $(DESTDIR)$(MANDIR)/man7 - $(INSTALL_DATA) example.style.css $(DESTDIR)$(EXAMPLEDIR) db-install: base-build mkdir -p $(DESTDIR)$(BINDIR) @@ -354,8 +395,7 @@ cgi-install: cgi-build mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1 mkdir -p $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8 $(INSTALL_PROGRAM) man.cgi $(DESTDIR)$(CGIBINDIR) - $(INSTALL_DATA) example.style.css $(DESTDIR)$(HTDOCDIR)/man.css - $(INSTALL_DATA) man-cgi.css $(DESTDIR)$(HTDOCDIR) + $(INSTALL_DATA) mandoc.css $(DESTDIR)$(HTDOCDIR) $(INSTALL_MAN) apropos.1 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man1/ $(INSTALL_MAN) man.cgi.8 $(DESTDIR)$(WWWPREFIX)/man/mandoc/man8/ @@ -376,13 +416,16 @@ man.cgi: $(CGI_OBJS) libmandoc.a $(CC) $(LDFLAGS) $(STATIC) -o $@ $(CGI_OBJS) libmandoc.a $(DBLIB) demandoc: $(DEMANDOC_OBJS) libmandoc.a - $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a + $(CC) $(LDFLAGS) -o $@ $(DEMANDOC_OBJS) libmandoc.a $(DBLIB) + +soelim: $(SOELIM_OBJS) + $(CC) $(LDFLAGS) -o $@ $(SOELIM_OBJS) # --- maintainer targets --- www-install: www mkdir -p $(HTDOCDIR)/snapshots - $(INSTALL_DATA) $(WWW_MANS) style.css $(HTDOCDIR) + $(INSTALL_DATA) $(WWW_MANS) mandoc.css $(HTDOCDIR) $(INSTALL_DATA) $(WWW_OBJS) $(HTDOCDIR)/snapshots $(INSTALL_DATA) mdocml.tar.gz \ $(HTDOCDIR)/snapshots/mdocml-$(VERSION).tar.gz @@ -416,4 +459,4 @@ mdocml.tar.gz: $(DISTFILES) .1.1.html .3.3.html .5.5.html .7.7.html .8.8.html: mandoc ./mandoc -Thtml -Wall,stop \ - -Ostyle=style.css,man=%N.%S.html,includes=%I.html $< > $@ + -Ostyle=mandoc.css,man=%N.%S.html,includes=%I.html $< > $@ Modified: projects/clang380-import/contrib/mdocml/Makefile.depend ============================================================================== --- projects/clang380-import/contrib/mdocml/Makefile.depend Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/Makefile.depend Sat Jan 16 17:33:09 2016 (r294169) @@ -1,51 +1,61 @@ -att.o: att.c config.h mdoc.h libmdoc.h -cgi.o: cgi.c config.h mandoc.h mandoc_aux.h main.h manpath.h mansearch.h cgi.h -chars.o: chars.c config.h mandoc.h mandoc_aux.h libmandoc.h chars.in -compat_fgetln.o: compat_fgetln.c config.h +att.o: att.c config.h roff.h mdoc.h libmdoc.h +cgi.o: cgi.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h main.h manconf.h mansearch.h cgi.h +chars.o: chars.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h libmandoc.h +compat_err.o: compat_err.c config.h compat_fts.o: compat_fts.c config.h compat_fts.h +compat_getline.o: compat_getline.c config.h compat_getsubopt.o: compat_getsubopt.c config.h +compat_isblank.o: compat_isblank.c config.h +compat_mkdtemp.o: compat_mkdtemp.c config.h compat_ohash.o: compat_ohash.c config.h compat_ohash.h +compat_progname.o: compat_progname.c config.h compat_reallocarray.o: compat_reallocarray.c config.h compat_sqlite3_errstr.o: compat_sqlite3_errstr.c config.h compat_strcasestr.o: compat_strcasestr.c config.h +compat_stringlist.o: compat_stringlist.c config.h compat_stringlist.h compat_strlcat.o: compat_strlcat.c config.h compat_strlcpy.o: compat_strlcpy.c config.h compat_strsep.o: compat_strsep.c config.h compat_strtonum.o: compat_strtonum.c config.h -demandoc.o: demandoc.c config.h man.h mdoc.h mandoc.h +compat_vasprintf.o: compat_vasprintf.c config.h +demandoc.o: demandoc.c config.h roff.h man.h mdoc.h mandoc.h eqn.o: eqn.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h eqn_html.o: eqn_html.c config.h mandoc.h out.h html.h eqn_term.o: eqn_term.c config.h mandoc.h out.h term.h -html.o: html.c config.h mandoc.h mandoc_aux.h out.h html.h main.h -lib.o: lib.c config.h mdoc.h libmdoc.h lib.in -main.o: main.c config.h mandoc.h mandoc_aux.h main.h mdoc.h man.h manpath.h mansearch.h -man.o: man.c config.h man.h mandoc.h mandoc_aux.h libman.h libmandoc.h -man_hash.o: man_hash.c config.h man.h libman.h -man_html.o: man_html.c config.h mandoc_aux.h man.h out.h html.h main.h -man_macro.o: man_macro.c config.h man.h mandoc.h libmandoc.h libman.h -man_term.o: man_term.c config.h mandoc.h mandoc_aux.h out.h man.h term.h main.h -man_validate.o: man_validate.c config.h man.h mandoc.h mandoc_aux.h libman.h libmandoc.h +html.o: html.c config.h mandoc.h mandoc_aux.h out.h html.h manconf.h main.h +lib.o: lib.c config.h roff.h mdoc.h libmdoc.h lib.in +main.o: main.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h tag.h main.h manconf.h mansearch.h +man.o: man.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h +man_hash.o: man_hash.c config.h roff.h man.h libman.h +man_html.o: man_html.c config.h mandoc_aux.h roff.h man.h out.h html.h main.h +man_macro.o: man_macro.c config.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h +man_term.o: man_term.c config.h mandoc_aux.h mandoc.h roff.h man.h out.h term.h main.h +man_validate.o: man_validate.c config.h mandoc_aux.h mandoc.h roff.h man.h libmandoc.h roff_int.h libman.h mandoc.o: mandoc.c config.h mandoc.h mandoc_aux.h libmandoc.h mandoc_aux.o: mandoc_aux.c config.h mandoc.h mandoc_aux.h -mandocdb.o: mandocdb.c config.h compat_fts.h compat_ohash.h mdoc.h man.h mandoc.h mandoc_aux.h manpath.h mansearch.h -manpage.o: manpage.c config.h manpath.h mansearch.h -manpath.o: manpath.c config.h mandoc_aux.h manpath.h -mansearch.o: mansearch.c config.h compat_ohash.h mandoc.h mandoc_aux.h manpath.h mansearch.h +mandoc_ohash.o: mandoc_ohash.c mandoc_aux.h mandoc_ohash.h compat_ohash.h +mandocdb.o: mandocdb.c config.h compat_fts.h mandoc_aux.h mandoc_ohash.h compat_ohash.h mandoc.h roff.h mdoc.h man.h manconf.h mansearch.h +manpage.o: manpage.c config.h manconf.h mansearch.h +manpath.o: manpath.c config.h mandoc_aux.h manconf.h +mansearch.o: mansearch.c config.h mandoc.h mandoc_aux.h mandoc_ohash.h compat_ohash.h manconf.h mansearch.h mansearch_const.o: mansearch_const.c config.h mansearch.h -mdoc.o: mdoc.c config.h mdoc.h mandoc.h mandoc_aux.h libmdoc.h libmandoc.h -mdoc_argv.o: mdoc_argv.c config.h mdoc.h mandoc.h mandoc_aux.h libmdoc.h libmandoc.h -mdoc_hash.o: mdoc_hash.c config.h mdoc.h libmdoc.h -mdoc_html.o: mdoc_html.c config.h mandoc_aux.h mdoc.h out.h html.h main.h -mdoc_macro.o: mdoc_macro.c config.h mdoc.h mandoc.h libmdoc.h libmandoc.h -mdoc_man.o: mdoc_man.c config.h mandoc.h mandoc_aux.h out.h man.h mdoc.h main.h -mdoc_term.o: mdoc_term.c config.h mandoc.h mandoc_aux.h out.h term.h mdoc.h main.h -mdoc_validate.o: mdoc_validate.c config.h mdoc.h mandoc.h mandoc_aux.h libmdoc.h libmandoc.h +mdoc.o: mdoc.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_argv.o: mdoc_argv.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h +mdoc_hash.o: mdoc_hash.c config.h roff.h mdoc.h libmdoc.h +mdoc_html.o: mdoc_html.c config.h mandoc_aux.h roff.h mdoc.h out.h html.h main.h +mdoc_macro.o: mdoc_macro.c config.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h +mdoc_man.o: mdoc_man.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h out.h main.h +mdoc_state.o: mdoc_state.c mandoc.h roff.h mdoc.h libmandoc.h libmdoc.h +mdoc_term.o: mdoc_term.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h out.h term.h tag.h main.h +mdoc_validate.o: mdoc_validate.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h libmandoc.h roff_int.h libmdoc.h msec.o: msec.c config.h mandoc.h libmandoc.h msec.in out.o: out.c config.h mandoc_aux.h mandoc.h out.h preconv.o: preconv.c config.h mandoc.h libmandoc.h -read.o: read.c config.h mandoc.h mandoc_aux.h libmandoc.h mdoc.h man.h -roff.o: roff.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h predefs.in -st.o: st.c config.h mdoc.h libmdoc.h st.in +read.o: read.c config.h mandoc_aux.h mandoc.h roff.h mdoc.h man.h libmandoc.h roff_int.h +roff.o: roff.c config.h mandoc.h mandoc_aux.h roff.h libmandoc.h roff_int.h libroff.h predefs.in +soelim.o: soelim.c config.h compat_stringlist.h +st.o: st.c config.h roff.h mdoc.h libmdoc.h st.in +tag.o: tag.c config.h mandoc_aux.h mandoc_ohash.h compat_ohash.h tag.h tbl.o: tbl.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h tbl_data.o: tbl_data.c config.h mandoc.h mandoc_aux.h libmandoc.h libroff.h tbl_html.o: tbl_html.c config.h mandoc.h out.h html.h @@ -53,22 +63,6 @@ tbl_layout.o: tbl_layout.c config.h mand tbl_opts.o: tbl_opts.c config.h mandoc.h libmandoc.h libroff.h tbl_term.o: tbl_term.c config.h mandoc.h out.h term.h term.o: term.c config.h mandoc.h mandoc_aux.h out.h term.h main.h -term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h main.h -term_ps.o: term_ps.c config.h mandoc_aux.h out.h term.h main.h -tree.o: tree.c config.h mandoc.h mdoc.h man.h main.h -test-dirent-namlen.o: test-dirent-namlen.c -test-fgetln.o: test-fgetln.c -test-fts.o: test-fts.c -test-getsubopt.o: test-getsubopt.c -test-mmap.o: test-mmap.c -test-ohash.o: test-ohash.c -test-reallocarray.o: test-reallocarray.c -test-sqlite3.o: test-sqlite3.c -test-sqlite3_errstr.o: test-sqlite3_errstr.c -test-strcasestr.o: test-strcasestr.c -test-strlcat.o: test-strlcat.c -test-strlcpy.o: test-strlcpy.c -test-strptime.o: test-strptime.c -test-strsep.o: test-strsep.c -test-strtonum.o: test-strtonum.c -test-wchar.o: test-wchar.c +term_ascii.o: term_ascii.c config.h mandoc.h mandoc_aux.h out.h term.h manconf.h main.h +term_ps.o: term_ps.c config.h mandoc_aux.h out.h term.h manconf.h main.h +tree.o: tree.c config.h mandoc.h roff.h mdoc.h man.h main.h Modified: projects/clang380-import/contrib/mdocml/NEWS ============================================================================== --- projects/clang380-import/contrib/mdocml/NEWS Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/NEWS Sat Jan 16 17:33:09 2016 (r294169) @@ -1,4 +1,4 @@ -$Id: NEWS,v 1.9 2015/03/13 12:35:32 schwarze Exp $ +$Id: NEWS,v 1.10 2015/11/05 16:58:20 schwarze Exp $ This file lists the most important changes in the mdocml.bsd.lv distribution. @@ -93,7 +93,7 @@ Changes in version 1.13.3, released on M * roff(7): Three minor fixes with respect to evaluation of conditionals. * roff(7): Let .it accept numerical expressions, not just constants. * mandoc_char(7): Correct some character names and renderings. - * If earlier files set a non-zero exit status, never reset it to zero. + * If earlier files set a non-zero exit status, never reset it to zero. --- THANKS TO --- * Jonathan Gray (OpenBSD) for yet more testing with afl (the American Fuzzy Lop security fuzzer), again resulting in many bug reports. Modified: projects/clang380-import/contrib/mdocml/TODO ============================================================================== --- projects/clang380-import/contrib/mdocml/TODO Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/TODO Sat Jan 16 17:33:09 2016 (r294169) @@ -1,6 +1,6 @@ ************************************************************************ * Official mandoc TODO. -* $Id: TODO,v 1.202 2015/03/11 13:11:22 schwarze Exp $ +* $Id: TODO,v 1.216 2016/01/08 01:37:32 schwarze Exp $ ************************************************************************ Many issues are annotated for difficulty as follows: @@ -66,6 +66,7 @@ are mere guesses, and some may be wrong. loc * exist * algo * size * imp ** - .ns (no-space mode) occurs in xine-config(1) + when implementing this, also let .TH set it reported by brad@ Sat, 15 Jan 2011 15:45:23 -0500 loc *** exist *** algo *** size ** imp * @@ -105,6 +106,19 @@ are mere guesses, and some may be wrong. needed for Tcl_NewStringObj(3) via wiz@ Wed, 5 Mar 2014 22:27:43 +0100 loc ** exist *** algo *** size * imp *** +- \\ in high-level macro arguments + Currently, \\ is expanded in two situations: + 1) macro and string definition (roff.c setstrn()) + 2) macro argument parsing (mandoc.c mandoc_getarg()) + For user defined macros, the second happens in time because of ROFF_REPARSE. + But for standard high-level macros, it only happens after entering the + high level parsers, which is too late because the code doesn't get + back to roff.c roff_res() from that point. Because this requires + distinguishing requests, user-defined macros and standard macros + on the roff_res() level, it is hard to solve without the parser reorg. + Found by naddy@ in devel/cutils cobfusc(1) Mon, 16 Feb 2015 19:10:52 +0100 + loc *** exist *** algo *** size ** imp * + - using undefined strings or macros defines them to be empty wl@ Mon, 14 Nov 2011 14:37:01 +0000 loc * exist * algo * size * imp * @@ -194,6 +208,26 @@ are mere guesses, and some may be wrong. --- missing tbl features ----------------------------------------------- +- horizontal lines in the layout still consume data cells + and can be mixed with actual data on the same table line + synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 + loc ** exist ** algo ** size ** imp *** + +- the "w" layout option is ignored + synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 + loc * exist * algo * size * imp ** + +- the "s" layout column specifier is used for placement of data + into columns, but ignored during column width calculations + synaptics(4) found by tedu@ Mon, 17 Aug 2015 21:17:42 -0400 + loc * exist ** algo *** size * imp ** + +- support mdoc(7) and man(7) macros inside tbl(7) code; + probably requires the parser reorg and letting tbl(7) + use roff_node such that macro sets can mix; + informed by bapt@ that FreeBSD needs this. + loc *** exist ** algo *** size ** imp *** + - look at the POSIX manuals in the books/man-pages-posix port, they use some unsupported tbl(7) features. loc * exist ** algo ** size ** imp *** @@ -203,13 +237,13 @@ are mere guesses, and some may be wrong. suggested by bentley@ Tue, 14 Oct 2014 04:10:55 -0600 loc * exist ** algo * size * imp ** -- allow standalone `.' to be interpreted as an end-of-layout - delimiter instead of being thrown away as a no-op roff line - reported by Yuri Pankov, Wed 18 May 2011 11:34:59 CEST - loc ** exist ** algo ** size * imp ** - --- missing eqn features ----------------------------------------------- +- In a matrix, break the output line after each matrix line. + Found in the discussion at CDBUG 2015. + Suggested by Avi Weinstock. + loc * exist * algo * size * imp ** + - The "size" keyword is parsed, but ignored by the formatter. loc * exist * algo * size * imp * @@ -227,13 +261,9 @@ are mere guesses, and some may be wrong. Werner LEMBERG on groff at gnu dot org Sun, 10 Nov 2013 12:47:46 loc ** exist ** algo * size * imp * -- When makewhatis(8) encounters a FATAL parse error, - it silently treats the file as formatted, which makes no sense - at all for paths like man1/foo.1 - and which also contradicts - what the manual says at the end of the description. - The end result will be ENOENT for file names returned - by mansearch() in manpage.file. - loc * exist * algo * size * imp ** +- change the default PAGER to more -Es and use the pager + even for apropos title line output; req by bapt@ + loc * exist * algo * size * imp *** - makewhatis(8) for preformatted pages: parse the section number from the header line @@ -255,11 +285,13 @@ are mere guesses, and some may be wrong. - kettenis wants base roff, ms, and me Fri, 1 Jan 2010 22:13:15 +0100 (CET) loc ** exist ** algo ** size *** imp * ---- compatibility checks ----------------------------------------------- +- Vsevolod Stakhov (FreeBSD) needs either a markdown output formatter + for mandoc -mdoc or a markdown to mdoc converter because they + have to maintain manuals needed both in markdown and mdoc format. + Look at the libsoldout (markdown -> whatever) + loc * exist * algo * size ** imp ** -- write a configure check for [[:<:]] support and provide some - fallback for whatis(1) when it doesn't work; - Svyatoslav Mishyn Wed, 17 Dec 2014 11:07:10 +0200 +--- compatibility checks ----------------------------------------------- - is .Bk implemented correctly in modern groff? sobrado@ Tue, 19 Apr 2011 22:12:55 +0200 @@ -293,6 +325,9 @@ are mere guesses, and some may be wrong. http://swtch.com/plan9port/man/man7/man.html "Anthony J. Bentley" 28 Dec 2010 21:58:40 -0700 +- check compatibility with COHERENT troff: + http://www.nesssoftware.com/home/mwc/source.php + - check compatibility with the man(7) formatter https://raw.githubusercontent.com/rofl0r/hardcore-utils/master/man.c @@ -381,6 +416,12 @@ are mere guesses, and some may be wrong. see also matthew@ Fri, 18 Jul 2014 19:25:12 -0700 loc * exist * algo ** size * imp *** +- .Bf at the beginning of a paragraph inserts a bogus 1ex horizontal + space, see for example random(3). Introduced in + http://mdocml.bsd.lv/cgi-bin/cvsweb/mdoc_html.c.diff?r1=1.91&r2=1.92 + reported by deraadt@ Mon, 28 Sep 2015 20:14:13 -0600 (MDT) + loc ** exist ** algo ** size * imp * + - jsg on icb, Nov 3, 2014: try to guess Xr in man(7) for hyperlinking @@ -394,6 +435,10 @@ are mere guesses, and some may be wrong. - consider whether can be used for Ar Dv Er Ev Fa Va. from bentley@ Wed, 13 Aug 2014 09:17:55 -0600 +- generate tags in HTML + idea from florian@ Tue, 7 Apr 2015 00:26:28 +0000 + may be possible to implement with .Lk img://something.png alt_text + - check https://github.com/trentm/mdocml ************************************************************************ @@ -466,6 +511,10 @@ are mere guesses, and some may be wrong. found while talking to Chris Bennett loc * exist * algo * size * imp * +- Sequences of multiple man(7) paragraphs (.PP, .IP) interspersed + with .ps and .nf/.fi produce execessive blank lines, see libJudy + and graphics/dcmtk. The parser reorg may help with this. + - trailing whitespace must be ignored even when followed by a font escape, see for example makes @@ -475,9 +524,31 @@ are mere guesses, and some may be wrong. loc ** exist ** algo ** size * imp ** ************************************************************************ +* portability +************************************************************************ + +- systems having UTF-8 but not en_US.UTF-8 + call locale(1) from ./configure, select a UTF-8-locale, + and use that for test-wchar.c and term_ascii.c + to Markus Waldeck Sat, 18 Jul 2015 01:55:37 +0200 + loc * exist * algo * size * imp * + +************************************************************************ * warning issues ************************************************************************ +- provide a way in mandoc(1) to warn about broken .Xr links; + probably cannot be on by default in -Tlint because it needs + to access the manpath and mandoc.db(3) after parsing. + asked for by jmc@ Fri, 4 Dec 2015 22:39:40 +0000 + +- Report errors in -O suboption parsing. + loc * exist * algo * size * imp ** + +- warn when .Sh or .Ss contain other macros + Steffen Nurpmeso, savannah.gnu.org/bugs/index.php?45034 + loc * exist * algo * size * imp ** + - check that MANDOCERR_BADTAB is thrown in the right cases, i.e. when finding a literal tab character in fill mode, and possibly change the wording of the warning message @@ -557,11 +628,6 @@ Several areas can be cleaned up to make * structural issues ************************************************************************ -- Improve -O suboption parsing. Do it in the main program such that - errors can be reported. Pay attention to distinguishing the - mandoc(1) and apropos(1) styles of both options. - loc ** exist * algo ** size ** imp *** - - Use libz directly instead of forking gunzip(1). Suggested by bapt at FreeBSD among others. Modified: projects/clang380-import/contrib/mdocml/apropos.1 ============================================================================== --- projects/clang380-import/contrib/mdocml/apropos.1 Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/apropos.1 Sat Jan 16 17:33:09 2016 (r294169) @@ -1,4 +1,4 @@ -.\" $Id: apropos.1,v 1.37 2015/02/16 16:23:54 schwarze Exp $ +.\" $Id: apropos.1,v 1.39 2015/04/03 08:46:17 schwarze Exp $ .\" .\" Copyright (c) 2011, 2012 Kristaps Dzonsons .\" Copyright (c) 2011, 2012, 2014 Ingo Schwarze @@ -15,7 +15,7 @@ .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. .\" -.Dd $Mdocdate: February 16 2015 $ +.Dd $Mdocdate: April 3 2015 $ .Dt APROPOS 1 .Os .Sh NAME @@ -210,7 +210,7 @@ This has syntax .Sm off .Oo .Op Ar key Op , Ar key ... -.Pq Cm = | ~ +.Pq Cm = | \(ti .Oc .Ar val , .Sm on @@ -227,7 +227,7 @@ for a list of available keys. Operator .Cm = evaluates a substring, while -.Cm ~ +.Cm \(ti evaluates a regular expression. .It Fl i Ar term If @@ -365,7 +365,8 @@ Specifies the pagination program to use .Ev MANPAGER is not defined. If neither PAGER nor MANPAGER is defined, -.Pa /usr/bin/more Fl s +.Xr more 1 +.Fl s will be used. .El .Sh FILES @@ -398,7 +399,7 @@ as well: .Pp Search in names and descriptions using a regular expression: .Pp -.Dl $ apropos '~set.?[ug]id' +.Dl $ apropos \(aq\(tiset.?[ug]id\(aq .Pp Search for manuals in the library section mentioning both the .Qq optind @@ -413,15 +414,15 @@ Do exactly the same as calling with the argument .Qq ssh : .Pp -.Dl $ apropos \-\- \-i 'Nm~[[:<:]]ssh[[:>:]]' +.Dl $ apropos \-\- \-i \(aqNm\(ti[[:<:]]ssh[[:>:]]\(aq .Pp The following two invocations are equivalent: .Pp .D1 Li $ apropos -S Ar arch Li -s Ar section expression .Bd -ragged -offset indent .Li $ apropos \e( Ar expression Li \e) -.Li -a arch~^( Ns Ar arch Ns Li |any)$ -.Li -a sec~^ Ns Ar section Ns Li $ +.Li -a arch\(ti^( Ns Ar arch Ns Li |any)$ +.Li -a sec\(ti^ Ns Ar section Ns Li $ .Ed .Sh SEE ALSO .Xr man 1 , Modified: projects/clang380-import/contrib/mdocml/att.c ============================================================================== --- projects/clang380-import/contrib/mdocml/att.c Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/att.c Sat Jan 16 17:33:09 2016 (r294169) @@ -1,4 +1,4 @@ -/* $Id: att.c,v 1.13 2014/11/28 18:57:31 schwarze Exp $ */ +/* $Id: att.c,v 1.15 2015/10/06 18:32:19 schwarze Exp $ */ /* * Copyright (c) 2009 Kristaps Dzonsons * @@ -19,6 +19,7 @@ #include #include +#include "roff.h" #include "mdoc.h" #include "libmdoc.h" @@ -45,5 +46,5 @@ mdoc_a2att(const char *p) LINE("V.3", "AT&T System\\~V Release\\~3 UNIX"); LINE("V.4", "AT&T System\\~V Release\\~4 UNIX"); - return(NULL); + return NULL; } Modified: projects/clang380-import/contrib/mdocml/cgi.c ============================================================================== --- projects/clang380-import/contrib/mdocml/cgi.c Sat Jan 16 17:28:37 2016 (r294168) +++ projects/clang380-import/contrib/mdocml/cgi.c Sat Jan 16 17:33:09 2016 (r294169) @@ -1,15 +1,15 @@ -/* $Id: cgi.c,v 1.104 2015/02/10 08:05:30 schwarze Exp $ */ +/* $Id: cgi.c,v 1.116 2016/01/04 12:36:26 schwarze Exp $ */ /* * Copyright (c) 2011, 2012 Kristaps Dzonsons - * Copyright (c) 2014 Ingo Schwarze + * Copyright (c) 2014, 2015 Ingo Schwarze * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * - * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHORS DISCLAIM ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF @@ -30,10 +30,13 @@ #include #include -#include "mandoc.h" #include "mandoc_aux.h" +#include "mandoc.h" +#include "roff.h" +#include "mdoc.h" +#include "man.h" #include "main.h" -#include "manpath.h" +#include "manconf.h" #include "mansearch.h" #include "cgi.h" @@ -60,9 +63,6 @@ static void html_print(const char *); static void html_putchar(char); static int http_decode(char *); static void http_parse(struct req *, const char *); -static void http_print(const char *); -static void http_putchar(char); -static void http_printquery(const struct req *, const char *); static void pathgen(struct req *); static void pg_error_badrequest(const char *); static void pg_error_internal(void); @@ -74,6 +74,7 @@ static void pg_searchres(const struct static void pg_show(struct req *, const char *); static void resp_begin_html(int, const char *); static void resp_begin_http(int, const char *); +static void resp_copy(const char *); static void resp_end_html(void); static void resp_searchform(const struct req *); static void resp_show(const struct req *, const char *); @@ -145,40 +146,6 @@ html_putchar(char c) } } -static void -http_printquery(const struct req *req, const char *sep) -{ - - if (NULL != req->q.query) { - printf("query="); - http_print(req->q.query); - } - if (0 == req->q.equal) - printf("%sapropos=1", sep); - if (NULL != req->q.sec) { - printf("%ssec=", sep); - http_print(req->q.sec); - } - if (NULL != req->q.arch) { - printf("%sarch=", sep); - http_print(req->q.arch); - } - if (strcmp(req->q.manpath, req->p[0])) { - printf("%smanpath=", sep); - http_print(req->q.manpath); - } -} - -static void -http_print(const char *p) -{ - - if (NULL == p) - return; - while ('\0' != *p) - http_putchar(*p++); -} - /* * Call through to html_putchar(). * Accepts NULL strings. @@ -299,20 +266,6 @@ next: } } -static void -http_putchar(char c) -{ - - if (isalnum((unsigned char)c)) { - putchar((unsigned char)c); - return; - } else if (' ' == c) { - putchar('+'); - return; - } - printf("%%%.2x", c); -} - /* * HTTP-decode a string. The standard explanation is that this turns * "%4e+foo" into "n foo" in the regular way. This is done in-place @@ -331,13 +284,13 @@ http_decode(char *p) for ( ; '\0' != *p; p++, q++) { if ('%' == *p) { if ('\0' == (hex[0] = *(p + 1))) - return(0); + return 0; if ('\0' == (hex[1] = *(p + 2))) - return(0); + return 0; if (1 != sscanf(hex, "%x", &c)) - return(0); + return 0; if ('\0' == c) - return(0); + return 0; *** DIFF OUTPUT TRUNCATED AT 1000 LINES *** From owner-svn-src-projects@freebsd.org Sat Jan 16 17:48:59 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 7003AA8570E for ; Sat, 16 Jan 2016 17:48:59 +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 4B8DB1C61; Sat, 16 Jan 2016 17:48:59 +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 u0GHmwiJ049929; Sat, 16 Jan 2016 17:48:58 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0GHmv54049919; Sat, 16 Jan 2016 17:48:57 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601161748.u0GHmv54049919@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 16 Jan 2016 17:48:57 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294170 - in projects/clang380-import/contrib/llvm: include/llvm include/llvm/CodeGen include/llvm/Target lib/CodeGen/SelectionDAG lib/Target/AMDGPU lib/Target/X86 tools/clang/lib/Basic... 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.20 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: Sat, 16 Jan 2016 17:48:59 -0000 Author: dim Date: Sat Jan 16 17:48:57 2016 New Revision: 294170 URL: https://svnweb.freebsd.org/changeset/base/294170 Log: Update llvm, clang and lldb to release_38 branch r257836. Modified: projects/clang380-import/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h projects/clang380-import/contrib/llvm/include/llvm/Target/TargetLowering.h projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp projects/clang380-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h projects/clang380-import/contrib/llvm/tools/lldb/source/API/SBProcess.cpp Directory Properties: projects/clang380-import/contrib/llvm/ (props changed) projects/clang380-import/contrib/llvm/tools/clang/ (props changed) projects/clang380-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang380-import/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/include/llvm/CodeGen/MachineFrameInfo.h Sat Jan 16 17:48:57 2016 (r294170) @@ -251,6 +251,10 @@ class MachineFrameInfo { /// opaque mechanism like inline assembly or Win32 EH. bool HasOpaqueSPAdjustment; + /// True if the function contains operations which will lower down to + /// instructions which manipulate the stack pointer. + bool HasCopyImplyingStackAdjustment; + /// True if the function contains a call to the llvm.vastart intrinsic. bool HasVAStart; @@ -288,6 +292,7 @@ public: LocalFrameMaxAlign = 0; UseLocalStackAllocationBlock = false; HasOpaqueSPAdjustment = false; + HasCopyImplyingStackAdjustment = false; HasVAStart = false; HasMustTailInVarArgFunc = false; Save = nullptr; @@ -493,6 +498,15 @@ public: bool hasOpaqueSPAdjustment() const { return HasOpaqueSPAdjustment; } void setHasOpaqueSPAdjustment(bool B) { HasOpaqueSPAdjustment = B; } + /// Returns true if the function contains operations which will lower down to + /// instructions which manipulate the stack pointer. + bool hasCopyImplyingStackAdjustment() const { + return HasCopyImplyingStackAdjustment; + } + void setHasCopyImplyingStackAdjustment(bool B) { + HasCopyImplyingStackAdjustment = B; + } + /// Returns true if the function calls the llvm.va_start intrinsic. bool hasVAStart() const { return HasVAStart; } void setHasVAStart(bool B) { HasVAStart = B; } Modified: projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/include/llvm/LinkAllPasses.h Sat Jan 16 17:48:57 2016 (r294170) @@ -160,9 +160,11 @@ namespace { (void) llvm::createPostOrderFunctionAttrsPass(); (void) llvm::createReversePostOrderFunctionAttrsPass(); (void) llvm::createMergeFunctionsPass(); - (void) llvm::createPrintModulePass(*(llvm::raw_ostream*)nullptr); - (void) llvm::createPrintFunctionPass(*(llvm::raw_ostream*)nullptr); - (void) llvm::createPrintBasicBlockPass(*(llvm::raw_ostream*)nullptr); + std::string buf; + llvm::raw_string_ostream os(buf); + (void) llvm::createPrintModulePass(os); + (void) llvm::createPrintFunctionPass(os); + (void) llvm::createPrintBasicBlockPass(os); (void) llvm::createModuleDebugInfoPrinterPass(); (void) llvm::createPartialInliningPass(); (void) llvm::createLintPass(); @@ -186,10 +188,10 @@ namespace { (void)new llvm::IntervalPartition(); (void)new llvm::ScalarEvolutionWrapperPass(); - ((llvm::Function*)1)->viewCFGOnly(); + llvm::Function::Create(nullptr, llvm::GlobalValue::ExternalLinkage)->viewCFGOnly(); llvm::RGPassManager RGM; - ((llvm::RegionPass*)1)->runOnRegion((llvm::Region*)nullptr, RGM); - llvm::AliasSetTracker X(*(llvm::AliasAnalysis*)nullptr); + llvm::AliasAnalysis AA; + llvm::AliasSetTracker X(AA); X.add(nullptr, 0, llvm::AAMDNodes()); // for -print-alias-sets (void) llvm::AreStatisticsEnabled(); (void) llvm::sys::RunningOnValgrind(); Modified: projects/clang380-import/contrib/llvm/include/llvm/Target/TargetLowering.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/Target/TargetLowering.h Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/include/llvm/Target/TargetLowering.h Sat Jan 16 17:48:57 2016 (r294170) @@ -2270,7 +2270,7 @@ public: } /// Return true if the MachineFunction contains a COPY which would imply - /// HasOpaqueSPAdjustment. + /// HasCopyImplyingStackAdjustment. virtual bool hasCopyImplyingStackAdjustment(MachineFunction *MF) const { return false; } Modified: projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp Sat Jan 16 17:48:57 2016 (r294170) @@ -634,7 +634,7 @@ bool SelectionDAGISel::runOnMachineFunct } if (TLI->hasCopyImplyingStackAdjustment(MF)) - MFI->setHasOpaqueSPAdjustment(true); + MFI->setHasCopyImplyingStackAdjustment(true); // Freeze the set of reserved registers now that MachineFrameInfo has been // set up. All the information required by getReservedRegs() should be Modified: projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h ============================================================================== --- projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/lib/Target/AMDGPU/AMDGPU.h Sat Jan 16 17:48:57 2016 (r294170) @@ -20,7 +20,7 @@ class AMDGPUInstrPrinter; class AMDGPUSubtarget; class AMDGPUTargetMachine; class FunctionPass; -class MachineSchedContext; +struct MachineSchedContext; class MCAsmInfo; class raw_ostream; class ScheduleDAGInstrs; Modified: projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/lib/Target/X86/X86FrameLowering.cpp Sat Jan 16 17:48:57 2016 (r294170) @@ -91,7 +91,8 @@ bool X86FrameLowering::hasFP(const Machi MFI->isFrameAddressTaken() || MFI->hasOpaqueSPAdjustment() || MF.getInfo()->getForceFramePointer() || MMI.callsUnwindInit() || MMI.hasEHFunclets() || MMI.callsEHReturn() || - MFI->hasStackMap() || MFI->hasPatchPoint()); + MFI->hasStackMap() || MFI->hasPatchPoint() || + MFI->hasCopyImplyingStackAdjustment()); } static unsigned getSUBriOpcode(unsigned IsLP64, int64_t Imm) { @@ -943,11 +944,11 @@ void X86FrameLowering::emitPrologue(Mach // push and pop from the stack. if (Is64Bit && !Fn->hasFnAttribute(Attribute::NoRedZone) && !TRI->needsStackRealignment(MF) && - !MFI->hasVarSizedObjects() && // No dynamic alloca. - !MFI->adjustsStack() && // No calls. - !IsWin64CC && // Win64 has no Red Zone - !MFI->hasOpaqueSPAdjustment() && // Don't push and pop. - !MF.shouldSplitStack()) { // Regular stack + !MFI->hasVarSizedObjects() && // No dynamic alloca. + !MFI->adjustsStack() && // No calls. + !IsWin64CC && // Win64 has no Red Zone + !MFI->hasCopyImplyingStackAdjustment() && // Don't push and pop. + !MF.shouldSplitStack()) { // Regular stack uint64_t MinSize = X86FI->getCalleeSavedFrameSize(); if (HasFP) MinSize += SlotSize; StackSize = std::max(MinSize, StackSize > 128 ? StackSize - 128 : 0); Modified: projects/clang380-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/lib/Target/X86/X86ISelLowering.cpp Sat Jan 16 17:48:57 2016 (r294170) @@ -17458,7 +17458,7 @@ static SDValue LowerINTRINSIC_W_CHAIN(SD // We need a frame pointer because this will get lowered to a PUSH/POP // sequence. MachineFrameInfo *MFI = DAG.getMachineFunction().getFrameInfo(); - MFI->setHasOpaqueSPAdjustment(true); + MFI->setHasCopyImplyingStackAdjustment(true); // Don't do anything here, we will expand these intrinsics out later // during ExpandISelPseudos in EmitInstrWithCustomInserter. return SDValue(); Modified: projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp Sat Jan 16 17:48:57 2016 (r294170) @@ -36,7 +36,7 @@ std::string getClangRepositoryPath() { // If the SVN_REPOSITORY is empty, try to use the SVN keyword. This helps us // pick up a tag in an SVN export, for example. - StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/trunk/lib/Basic/Version.cpp $"); + StringRef SVNRepository("$URL: https://llvm.org/svn/llvm-project/cfe/branches/release_38/lib/Basic/Version.cpp $"); if (URL.empty()) { URL = SVNRepository.slice(SVNRepository.find(':'), SVNRepository.find("/lib/Basic")); Modified: projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/tools/lldb/include/lldb/Target/ThreadPlanCallFunctionUsingABI.h Sat Jan 16 17:48:57 2016 (r294170) @@ -20,7 +20,7 @@ #include "lldb/Target/ThreadPlanCallFunction.h" #include "llvm/ADT/ArrayRef.h" -#include "llvm/IR/Type.h" +#include "llvm/IR/DerivedTypes.h" namespace lldb_private { Modified: projects/clang380-import/contrib/llvm/tools/lldb/source/API/SBProcess.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/tools/lldb/source/API/SBProcess.cpp Sat Jan 16 17:33:09 2016 (r294169) +++ projects/clang380-import/contrib/llvm/tools/lldb/source/API/SBProcess.cpp Sat Jan 16 17:48:57 2016 (r294170) @@ -1000,7 +1000,8 @@ SBProcess::GetRestartedFromEvent (const bool ret_val = Process::ProcessEventData::GetRestartedFromEvent (event.get()); if (log) - log->Printf ("SBProcess::%s (event.sp=%p) => %d", __FUNCTION__, event.get(), ret_val); + log->Printf ("SBProcess::%s (event.sp=%p) => %d", __FUNCTION__, + static_cast(event.get()), ret_val); return ret_val; } From owner-svn-src-projects@freebsd.org Sat Jan 16 17:49:31 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 893F6A85793 for ; Sat, 16 Jan 2016 17:49:31 +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 66DEC1E7D; Sat, 16 Jan 2016 17:49:31 +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 u0GHnUab049996; Sat, 16 Jan 2016 17:49:30 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0GHnUCv049992; Sat, 16 Jan 2016 17:49:30 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601161749.u0GHnUCv049992@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 16 Jan 2016 17:49:30 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294171 - in projects/clang380-import/lib/clang/include: clang/Basic clang/Config llvm/Config 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.20 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: Sat, 16 Jan 2016 17:49:31 -0000 Author: dim Date: Sat Jan 16 17:49:29 2016 New Revision: 294171 URL: https://svnweb.freebsd.org/changeset/base/294171 Log: Update llvm/clang build glue. Modified: projects/clang380-import/lib/clang/include/clang/Basic/Version.inc projects/clang380-import/lib/clang/include/clang/Config/config.h projects/clang380-import/lib/clang/include/llvm/Config/config.h projects/clang380-import/lib/clang/include/llvm/Config/llvm-config.h Modified: projects/clang380-import/lib/clang/include/clang/Basic/Version.inc ============================================================================== --- projects/clang380-import/lib/clang/include/clang/Basic/Version.inc Sat Jan 16 17:48:57 2016 (r294170) +++ projects/clang380-import/lib/clang/include/clang/Basic/Version.inc Sat Jan 16 17:49:29 2016 (r294171) @@ -7,4 +7,4 @@ #define CLANG_VENDOR "FreeBSD " -#define SVN_REVISION "257626" +#define SVN_REVISION "257836" Modified: projects/clang380-import/lib/clang/include/clang/Config/config.h ============================================================================== --- projects/clang380-import/lib/clang/include/clang/Config/config.h Sat Jan 16 17:48:57 2016 (r294170) +++ projects/clang380-import/lib/clang/include/clang/Config/config.h Sat Jan 16 17:49:29 2016 (r294171) @@ -31,7 +31,7 @@ /* #undef CLANG_HAVE_LIBXML */ /* The LLVM product name and version */ -#define BACKEND_PACKAGE_STRING "LLVM 3.8.0svn" +#define BACKEND_PACKAGE_STRING "LLVM 3.8.0" /* Linker version detected at compile time. */ /* #undef HOST_LINK_VERSION */ Modified: projects/clang380-import/lib/clang/include/llvm/Config/config.h ============================================================================== --- projects/clang380-import/lib/clang/include/llvm/Config/config.h Sat Jan 16 17:48:57 2016 (r294170) +++ projects/clang380-import/lib/clang/include/llvm/Config/config.h Sat Jan 16 17:49:29 2016 (r294171) @@ -510,7 +510,7 @@ #define LLVM_VERSION_PATCH 0 /* LLVM version string */ -#define LLVM_VERSION_STRING "3.8.0svn" +#define LLVM_VERSION_STRING "3.8.0" /* Define if we link Polly to the tools */ /* #undef LINK_POLLY_INTO_TOOLS */ @@ -542,13 +542,13 @@ #define PACKAGE_NAME "LLVM" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "LLVM 3.8.0svn" +#define PACKAGE_STRING "LLVM 3.8.0" /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the version of this package. */ -#define PACKAGE_VERSION "3.8.0svn" +#define PACKAGE_VERSION "3.8.0" /* Define as the return type of signal handlers (`int' or `void'). */ #define RETSIGTYPE void Modified: projects/clang380-import/lib/clang/include/llvm/Config/llvm-config.h ============================================================================== --- projects/clang380-import/lib/clang/include/llvm/Config/llvm-config.h Sat Jan 16 17:48:57 2016 (r294170) +++ projects/clang380-import/lib/clang/include/llvm/Config/llvm-config.h Sat Jan 16 17:49:29 2016 (r294171) @@ -1,3 +1,4 @@ +/* $FreeBSD$ */ /*===------- llvm/Config/llvm-config.h - llvm configuration -------*- C -*-===*/ /* */ /* The LLVM Compiler Infrastructure */ @@ -100,7 +101,7 @@ #define LLVM_VERSION_PATCH 0 /* LLVM version string */ -#define LLVM_VERSION_STRING "3.8.0svn" +#define LLVM_VERSION_STRING "3.8.0" /* Define if we link Polly to the tools */ /* #undef LINK_POLLY_INTO_TOOLS */ From owner-svn-src-projects@freebsd.org Sat Jan 16 17:57:55 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 ACEC1A85B13 for ; Sat, 16 Jan 2016 17:57:55 +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 6996B1875; Sat, 16 Jan 2016 17:57:55 +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 u0GHvs60053186; Sat, 16 Jan 2016 17:57:54 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0GHvsH1053185; Sat, 16 Jan 2016 17:57:54 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601161757.u0GHvsH1053185@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 16 Jan 2016 17:57:54 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294175 - in projects/clang380-import/contrib/llvm: lib/Transforms/Vectorize patches 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.20 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: Sat, 16 Jan 2016 17:57:55 -0000 Author: dim Date: Sat Jan 16 17:57:54 2016 New Revision: 294175 URL: https://svnweb.freebsd.org/changeset/base/294175 Log: Undo r289072, which reverted upstream llvm trunk r240144. This is going to be fixed for real by importing upstream llvm trunk r257902. Deleted: projects/clang380-import/contrib/llvm/patches/patch-07-undo-llvm-r240144-iostream-sigbus.diff Modified: projects/clang380-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp Modified: projects/clang380-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp Sat Jan 16 17:56:06 2016 (r294174) +++ projects/clang380-import/contrib/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp Sat Jan 16 17:57:54 2016 (r294175) @@ -1691,8 +1691,10 @@ bool BoUpSLP::isFullyVectorizableTinyTre if (VectorizableTree.size() != 2) return false; - // Handle splat stores. - if (!VectorizableTree[0].NeedToGather && isSplat(VectorizableTree[1].Scalars)) + // Handle splat and all-constants stores. + if (!VectorizableTree[0].NeedToGather && + (allConstant(VectorizableTree[1].Scalars) || + isSplat(VectorizableTree[1].Scalars))) return true; // Gathering cost would be too much for tiny trees. From owner-svn-src-projects@freebsd.org Sat Jan 16 18:01:00 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 A42DBA85C3E for ; Sat, 16 Jan 2016 18:01:00 +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 695561C81; Sat, 16 Jan 2016 18:01:00 +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 u0GI0xkR053410; Sat, 16 Jan 2016 18:00:59 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0GI0xCK053405; Sat, 16 Jan 2016 18:00:59 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601161800.u0GI0xCK053405@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 16 Jan 2016 18:00:59 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294177 - in projects/clang380-import/contrib/llvm: include/llvm/IR lib/CodeGen lib/IR lib/Transforms/Utils 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.20 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: Sat, 16 Jan 2016 18:01:00 -0000 Author: dim Date: Sat Jan 16 18:00:58 2016 New Revision: 294177 URL: https://svnweb.freebsd.org/changeset/base/294177 Log: Pull in r257902 from upstream llvm trunk, by James Y Knight (this will be merged to the official release_38 branch soon, but we need it ASAP): Stop increasing alignment of externally-visible globals on ELF platforms. With ELF, the alignment of a global variable in a shared library will get copied into an executables linked against it, if the executable even accesss the variable. So, it's not possible to implicitly increase alignment based on access patterns, or you'll break existing binaries. This happened to affect libc++'s std::cout symbol, for example. See thread: http://thread.gmane.org/gmane.comp.compilers.clang.devel/45311 (This is a re-commit of r257719, without the bug reported in PR26144. I've tweaked the code to not assert-fail in enforceKnownAlignment when computeKnownBits doesn't recurse far enough to find the underlying Alloca/GlobalObject value.) Differential Revision: http://reviews.llvm.org/D16145 Modified: projects/clang380-import/contrib/llvm/include/llvm/IR/GlobalValue.h projects/clang380-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp projects/clang380-import/contrib/llvm/lib/IR/Globals.cpp projects/clang380-import/contrib/llvm/lib/Transforms/Utils/Local.cpp Modified: projects/clang380-import/contrib/llvm/include/llvm/IR/GlobalValue.h ============================================================================== --- projects/clang380-import/contrib/llvm/include/llvm/IR/GlobalValue.h Sat Jan 16 18:00:47 2016 (r294176) +++ projects/clang380-import/contrib/llvm/include/llvm/IR/GlobalValue.h Sat Jan 16 18:00:58 2016 (r294177) @@ -346,6 +346,10 @@ public: return !(isDeclarationForLinker() || isWeakForLinker()); } + // Returns true if the alignment of the value can be unilaterally + // increased. + bool canIncreaseAlignment() const; + /// This method unlinks 'this' from the containing module, but does not delete /// it. virtual void removeFromParent() = 0; Modified: projects/clang380-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp Sat Jan 16 18:00:47 2016 (r294176) +++ projects/clang380-import/contrib/llvm/lib/CodeGen/CodeGenPrepare.cpp Sat Jan 16 18:00:58 2016 (r294177) @@ -1742,8 +1742,8 @@ bool CodeGenPrepare::optimizeCallInst(Ca // over-aligning global variables that have an explicit section is // forbidden. GlobalVariable *GV; - if ((GV = dyn_cast(Val)) && GV->hasUniqueInitializer() && - !GV->hasSection() && GV->getAlignment() < PrefAlign && + if ((GV = dyn_cast(Val)) && GV->canIncreaseAlignment() && + GV->getAlignment() < PrefAlign && DL->getTypeAllocSize(GV->getType()->getElementType()) >= MinSize + Offset2) GV->setAlignment(PrefAlign); Modified: projects/clang380-import/contrib/llvm/lib/IR/Globals.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/IR/Globals.cpp Sat Jan 16 18:00:47 2016 (r294176) +++ projects/clang380-import/contrib/llvm/lib/IR/Globals.cpp Sat Jan 16 18:00:58 2016 (r294177) @@ -12,11 +12,12 @@ // //===----------------------------------------------------------------------===// -#include "llvm/IR/GlobalValue.h" #include "llvm/ADT/SmallPtrSet.h" +#include "llvm/ADT/Triple.h" #include "llvm/IR/Constants.h" #include "llvm/IR/DerivedTypes.h" #include "llvm/IR/GlobalAlias.h" +#include "llvm/IR/GlobalValue.h" #include "llvm/IR/GlobalVariable.h" #include "llvm/IR/Module.h" #include "llvm/IR/Operator.h" @@ -134,6 +135,47 @@ bool GlobalValue::isDeclaration() const return false; } +bool GlobalValue::canIncreaseAlignment() const { + // Firstly, can only increase the alignment of a global if it + // is a strong definition. + if (!isStrongDefinitionForLinker()) + return false; + + // It also has to either not have a section defined, or, not have + // alignment specified. (If it is assigned a section, the global + // could be densely packed with other objects in the section, and + // increasing the alignment could cause padding issues.) + if (hasSection() && getAlignment() > 0) + return false; + + // On ELF platforms, we're further restricted in that we can't + // increase the alignment of any variable which might be emitted + // into a shared library, and which is exported. If the main + // executable accesses a variable found in a shared-lib, the main + // exe actually allocates memory for and exports the symbol ITSELF, + // overriding the symbol found in the library. That is, at link + // time, the observed alignment of the variable is copied into the + // executable binary. (A COPY relocation is also generated, to copy + // the initial data from the shadowed variable in the shared-lib + // into the location in the main binary, before running code.) + // + // And thus, even though you might think you are defining the + // global, and allocating the memory for the global in your object + // file, and thus should be able to set the alignment arbitrarily, + // that's not actually true. Doing so can cause an ABI breakage; an + // executable might have already been built with the previous + // alignment of the variable, and then assuming an increased + // alignment will be incorrect. + + // Conservatively assume ELF if there's no parent pointer. + bool isELF = + (!Parent || Triple(Parent->getTargetTriple()).isOSBinFormatELF()); + if (isELF && hasDefaultVisibility() && !hasLocalLinkage()) + return false; + + return true; +} + //===----------------------------------------------------------------------===// // GlobalVariable Implementation //===----------------------------------------------------------------------===// Modified: projects/clang380-import/contrib/llvm/lib/Transforms/Utils/Local.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/Transforms/Utils/Local.cpp Sat Jan 16 18:00:47 2016 (r294176) +++ projects/clang380-import/contrib/llvm/lib/Transforms/Utils/Local.cpp Sat Jan 16 18:00:58 2016 (r294177) @@ -944,37 +944,44 @@ bool llvm::EliminateDuplicatePHINodes(Ba static unsigned enforceKnownAlignment(Value *V, unsigned Align, unsigned PrefAlign, const DataLayout &DL) { + assert(PrefAlign > Align); + V = V->stripPointerCasts(); if (AllocaInst *AI = dyn_cast(V)) { + // TODO: ideally, computeKnownBits ought to have used + // AllocaInst::getAlignment() in its computation already, making + // the below max redundant. But, as it turns out, + // stripPointerCasts recurses through infinite layers of bitcasts, + // while computeKnownBits is not allowed to traverse more than 6 + // levels. + Align = std::max(AI->getAlignment(), Align); + if (PrefAlign <= Align) + return Align; + // If the preferred alignment is greater than the natural stack alignment // then don't round up. This avoids dynamic stack realignment. if (DL.exceedsNaturalStackAlignment(PrefAlign)) return Align; - // If there is a requested alignment and if this is an alloca, round up. - if (AI->getAlignment() >= PrefAlign) - return AI->getAlignment(); AI->setAlignment(PrefAlign); return PrefAlign; } if (auto *GO = dyn_cast(V)) { + // TODO: as above, this shouldn't be necessary. + Align = std::max(GO->getAlignment(), Align); + if (PrefAlign <= Align) + return Align; + // If there is a large requested alignment and we can, bump up the alignment // of the global. If the memory we set aside for the global may not be the // memory used by the final program then it is impossible for us to reliably // enforce the preferred alignment. - if (!GO->isStrongDefinitionForLinker()) + if (!GO->canIncreaseAlignment()) return Align; - if (GO->getAlignment() >= PrefAlign) - return GO->getAlignment(); - // We can only increase the alignment of the global if it has no alignment - // specified or if it is not assigned a section. If it is assigned a - // section, the global could be densely packed with other objects in the - // section, increasing the alignment could cause padding issues. - if (!GO->hasSection() || GO->getAlignment() == 0) - GO->setAlignment(PrefAlign); - return GO->getAlignment(); + GO->setAlignment(PrefAlign); + return PrefAlign; } return Align; From owner-svn-src-projects@freebsd.org Sat Jan 16 18:04:24 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 27A5CA85DFC for ; Sat, 16 Jan 2016 18:04:24 +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 03B6C10C6; Sat, 16 Jan 2016 18:04:23 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0GI4Nv5056071; Sat, 16 Jan 2016 18:04:23 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0GI4M3B056069; Sat, 16 Jan 2016 18:04:22 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201601161804.u0GI4M3B056069@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Sat, 16 Jan 2016 18:04:22 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r294179 - projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter 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.20 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: Sat, 16 Jan 2016 18:04:24 -0000 Author: dim Date: Sat Jan 16 18:04:22 2016 New Revision: 294179 URL: https://svnweb.freebsd.org/changeset/base/294179 Log: Pull in r257977 from upstream llvm trunk, by Keno Fischer: [DwarfDebug] Move MergeValues to .cpp, NFC Pull in r257979 from upstream llvm trunk, by Keno Fischer: [DwarfDebug] Don't merge DebugLocEntries if their pieces overlap Summary: Later in DWARF emission we check that DebugLocEntries have non-overlapping pieces, so we should create any such entries by merging here. Fixes PR26163. Reviewers: aprantl Differential Revision: http://reviews.llvm.org/D16249 Again, these will be merged to the official release_38 branch soon, but we need them ASAP. Modified: projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Modified: projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h ============================================================================== --- projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h Sat Jan 16 18:03:12 2016 (r294178) +++ projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DebugLocEntry.h Sat Jan 16 18:04:22 2016 (r294179) @@ -93,18 +93,7 @@ public: /// variable, merge them by appending Next's values to the current /// list of values. /// Return true if the merge was successful. - bool MergeValues(const DebugLocEntry &Next) { - if (Begin == Next.Begin) { - auto *Expr = cast_or_null(Values[0].Expression); - auto *NextExpr = cast_or_null(Next.Values[0].Expression); - if (Expr->isBitPiece() && NextExpr->isBitPiece()) { - addValues(Next.Values); - End = Next.End; - return true; - } - } - return false; - } + bool MergeValues(const DebugLocEntry &Next); /// \brief Attempt to merge this DebugLocEntry with Next and return /// true if the merge was successful. Entries can be merged if they Modified: projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp ============================================================================== --- projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Sat Jan 16 18:03:12 2016 (r294178) +++ projects/clang380-import/contrib/llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp Sat Jan 16 18:04:22 2016 (r294179) @@ -805,6 +805,24 @@ static bool piecesOverlap(const DIExpres return (l1 < r2) && (l2 < r1); } +/// \brief If this and Next are describing different pieces of the same +/// variable, merge them by appending Next's values to the current +/// list of values. +/// Return true if the merge was successful. +bool DebugLocEntry::MergeValues(const DebugLocEntry &Next) { + if (Begin == Next.Begin) { + auto *Expr = cast_or_null(Values[0].Expression); + auto *NextExpr = cast_or_null(Next.Values[0].Expression); + if (Expr->isBitPiece() && NextExpr->isBitPiece() && + !piecesOverlap(Expr, NextExpr)) { + addValues(Next.Values); + End = Next.End; + return true; + } + } + return false; +} + /// Build the location list for all DBG_VALUEs in the function that /// describe the same variable. If the ranges of several independent /// pieces of the same variable overlap partially, split them up and