Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 21 Jun 2016 15:27:00 +0000 (UTC)
From:      "Bjoern A. Zeeb" <bz@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r302057 - in projects/vnet: . bin/csh bin/setfacl contrib/atf contrib/blacklist/bin contrib/blacklist/libexec contrib/bmake contrib/ipfilter/man contrib/jemalloc contrib/jemalloc/doc co...
Message-ID:  <201606211527.u5LFR0dv026077@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: bz
Date: Tue Jun 21 15:26:59 2016
New Revision: 302057
URL: https://svnweb.freebsd.org/changeset/base/302057

Log:
  MfH @r302054
  
  After merging the ordering changes to HEAD.
  
  Sponsored by:	The FreeBSD Foundation

Added:
  projects/vnet/contrib/llvm/tools/clang/tools/clang-format/
     - copied from r302054, head/contrib/llvm/tools/clang/tools/clang-format/
  projects/vnet/crypto/openssh/blacklist.c
     - copied unchanged from r302054, head/crypto/openssh/blacklist.c
  projects/vnet/crypto/openssh/blacklist_client.h
     - copied unchanged from r302054, head/crypto/openssh/blacklist_client.h
  projects/vnet/lib/clang/libclangformat/
     - copied from r302054, head/lib/clang/libclangformat/
  projects/vnet/lib/clang/libclangtoolingcore/
     - copied from r302054, head/lib/clang/libclangtoolingcore/
  projects/vnet/share/man/man4/iser.4
     - copied unchanged from r302054, head/share/man/man4/iser.4
  projects/vnet/share/msgdef/sr_Cyrl_RS.UTF-8.src
     - copied unchanged from r302054, head/share/msgdef/sr_Cyrl_RS.UTF-8.src
  projects/vnet/share/timedef/sr_Cyrl_RS.UTF-8.src
     - copied unchanged from r302054, head/share/timedef/sr_Cyrl_RS.UTF-8.src
  projects/vnet/sys/boot/fdt/dts/arm/pcduino3b.dts
     - copied unchanged from r302054, head/sys/boot/fdt/dts/arm/pcduino3b.dts
  projects/vnet/sys/cam/nvme/
     - copied from r302054, head/sys/cam/nvme/
  projects/vnet/sys/net/mppc.h
     - copied unchanged from r302054, head/sys/net/mppc.h
  projects/vnet/sys/net/mppcc.c
     - copied unchanged from r302054, head/sys/net/mppcc.c
  projects/vnet/sys/net/mppcd.c
     - copied unchanged from r302054, head/sys/net/mppcd.c
  projects/vnet/tools/build/futimens.c
     - copied unchanged from r302054, head/tools/build/futimens.c
  projects/vnet/tools/build/options/WITHOUT_BLACKLIST
     - copied unchanged from r302054, head/tools/build/options/WITHOUT_BLACKLIST
  projects/vnet/tools/build/options/WITHOUT_BLACKLIST_SUPPORT
     - copied unchanged from r302054, head/tools/build/options/WITHOUT_BLACKLIST_SUPPORT
  projects/vnet/tools/build/stat.h
     - copied unchanged from r302054, head/tools/build/stat.h
  projects/vnet/tools/build/utimensat.c
     - copied unchanged from r302054, head/tools/build/utimensat.c
  projects/vnet/tools/tools/decioctl/
     - copied from r302054, head/tools/tools/decioctl/
  projects/vnet/usr.bin/clang/clang-format/
     - copied from r302054, head/usr.bin/clang/clang-format/
  projects/vnet/usr.bin/truss/amd64-linux.c
     - copied unchanged from r302054, head/usr.bin/truss/amd64-linux.c
  projects/vnet/usr.sbin/bsdconfig/networking/wlanconfig
     - copied unchanged from r302054, head/usr.sbin/bsdconfig/networking/wlanconfig
  projects/vnet/usr.sbin/bsdconfig/share/media/wlan.subr
     - copied unchanged from r302054, head/usr.sbin/bsdconfig/share/media/wlan.subr
  projects/vnet/usr.sbin/bsdinstall/partedit/partedit_arm64.c
     - copied unchanged from r302054, head/usr.sbin/bsdinstall/partedit/partedit_arm64.c
Deleted:
  projects/vnet/lib/libpam/libpam/pam_debug_log.c
  projects/vnet/share/msgdef/bg_BG.UTF-8.src
  projects/vnet/share/msgdef/sl_SI.UTF-8.src
  projects/vnet/share/msgdef/sr_Latn_RS.ISO8859-2.src
  projects/vnet/share/numericdef/sr_Latn_RS.UTF-8.src
  projects/vnet/share/timedef/en_HK.UTF-8.src
  projects/vnet/sys/arm64/conf/GENERIC-INTRNG
Modified:
  projects/vnet/Makefile
  projects/vnet/Makefile.inc1
  projects/vnet/Makefile.libcompat
  projects/vnet/ObsoleteFiles.inc
  projects/vnet/bin/csh/Makefile
  projects/vnet/bin/setfacl/file.c
  projects/vnet/contrib/atf/config.h
  projects/vnet/contrib/blacklist/bin/blacklistctl.8
  projects/vnet/contrib/blacklist/bin/blacklistctl.c
  projects/vnet/contrib/blacklist/bin/blacklistd.8
  projects/vnet/contrib/blacklist/bin/blacklistd.conf.5
  projects/vnet/contrib/blacklist/libexec/blacklistd-helper
  projects/vnet/contrib/bmake/ChangeLog
  projects/vnet/contrib/bmake/Makefile
  projects/vnet/contrib/bmake/README
  projects/vnet/contrib/bmake/config.h.in
  projects/vnet/contrib/bmake/configure
  projects/vnet/contrib/bmake/configure.in
  projects/vnet/contrib/bmake/dir.c
  projects/vnet/contrib/bmake/hash.h
  projects/vnet/contrib/bmake/main.c
  projects/vnet/contrib/bmake/make.h
  projects/vnet/contrib/bmake/meta.c
  projects/vnet/contrib/ipfilter/man/ipf.8
  projects/vnet/contrib/jemalloc/ChangeLog
  projects/vnet/contrib/jemalloc/FREEBSD-diffs
  projects/vnet/contrib/jemalloc/VERSION
  projects/vnet/contrib/jemalloc/doc/jemalloc.3
  projects/vnet/contrib/jemalloc/include/jemalloc/internal/jemalloc_internal.h
  projects/vnet/contrib/jemalloc/include/jemalloc/internal/prof.h
  projects/vnet/contrib/jemalloc/include/jemalloc/jemalloc.h
  projects/vnet/contrib/jemalloc/src/arena.c
  projects/vnet/contrib/jemalloc/src/chunk.c
  projects/vnet/contrib/jemalloc/src/chunk_mmap.c
  projects/vnet/contrib/jemalloc/src/huge.c
  projects/vnet/contrib/jemalloc/src/jemalloc.c
  projects/vnet/contrib/jemalloc/src/nstime.c
  projects/vnet/contrib/ldns-host/Makefile
  projects/vnet/contrib/ldns-host/ldns-host.1
  projects/vnet/contrib/ldns-host/ldns-host.c
  projects/vnet/contrib/libc-vis/unvis.c
  projects/vnet/contrib/libc-vis/vis.3
  projects/vnet/contrib/libc-vis/vis.c
  projects/vnet/contrib/libc-vis/vis.h
  projects/vnet/contrib/netbsd-tests/lib/libc/db/t_db.sh
  projects/vnet/contrib/netbsd-tests/lib/libc/string/t_memcpy.c
  projects/vnet/contrib/tcpdump/addrtoname.c
  projects/vnet/contrib/tcpdump/config.h.in
  projects/vnet/contrib/tcpdump/configure
  projects/vnet/contrib/tcpdump/tcpdump.c
  projects/vnet/crypto/openssh/auth-pam.c
  projects/vnet/crypto/openssh/auth.c
  projects/vnet/crypto/openssh/auth1.c
  projects/vnet/crypto/openssh/auth2.c
  projects/vnet/crypto/openssh/packet.c
  projects/vnet/crypto/openssh/sshd.c
  projects/vnet/etc/Makefile
  projects/vnet/etc/defaults/rc.conf
  projects/vnet/etc/mtree/BSD.include.dist
  projects/vnet/etc/nsswitch.conf
  projects/vnet/etc/rc.d/Makefile
  projects/vnet/gnu/lib/libsupc++/Version.map
  projects/vnet/gnu/usr.bin/cc/cc_tools/Makefile
  projects/vnet/gnu/usr.bin/cc/cc_tools/Makefile.dep
  projects/vnet/gnu/usr.bin/groff/src/libs/libbib/Makefile.depend
  projects/vnet/include/Makefile
  projects/vnet/include/netdb.h
  projects/vnet/kerberos5/Makefile.inc
  projects/vnet/kerberos5/tools/asn1_compile/Makefile.depend
  projects/vnet/lib/Makefile
  projects/vnet/lib/clang/Makefile
  projects/vnet/lib/libc/gen/Symbol.map
  projects/vnet/lib/libc/gen/getnetgrent.3
  projects/vnet/lib/libc/gen/getnetgrent.c
  projects/vnet/lib/libc/gen/utime.3
  projects/vnet/lib/libc/resolv/res_init.c
  projects/vnet/lib/libc/rpc/getnetpath.c
  projects/vnet/lib/libc/rpc/rpc_callmsg.c
  projects/vnet/lib/libc/rpc/rpc_prot.c
  projects/vnet/lib/libc/rpc/rpcb_clnt.c
  projects/vnet/lib/libc/rpc/rpcb_prot.c
  projects/vnet/lib/libc/rpc/rpcb_st_xdr.c
  projects/vnet/lib/libc/stdio/vfscanf.c
  projects/vnet/lib/libc/sys/pdfork.2
  projects/vnet/lib/libc/sys/utimes.2
  projects/vnet/lib/libcasper/libcasper/libcasper_impl.h
  projects/vnet/lib/libcasper/libcasper/libcasper_service.c
  projects/vnet/lib/libcasper/libcasper/libcasper_service.h
  projects/vnet/lib/libcasper/libcasper/service.c
  projects/vnet/lib/libcasper/libcasper/zygote.c
  projects/vnet/lib/libcasper/services/cap_dns/cap_dns.c
  projects/vnet/lib/libcasper/services/cap_grp/cap_grp.c
  projects/vnet/lib/libcasper/services/cap_pwd/cap_pwd.c
  projects/vnet/lib/libcasper/services/cap_random/cap_random.c
  projects/vnet/lib/libcasper/services/cap_sysctl/cap_sysctl.c
  projects/vnet/lib/libclang_rt/asan_cxx/Makefile.depend
  projects/vnet/lib/libclang_rt/profile/Makefile.depend
  projects/vnet/lib/libclang_rt/safestack/Makefile.depend
  projects/vnet/lib/libpam/Makefile.inc
  projects/vnet/lib/libpam/libpam/Makefile
  projects/vnet/lib/libpam/libpam/security/pam_mod_misc.h
  projects/vnet/lib/libpam/static_libpam/Makefile.depend
  projects/vnet/lib/libusb/Makefile
  projects/vnet/lib/libusb/libusb.3
  projects/vnet/lib/libusb/libusb.h
  projects/vnet/lib/libusb/libusb10.c
  projects/vnet/lib/libusb/libusb10_desc.c
  projects/vnet/lib/libusb/libusb20.c
  projects/vnet/lib/libusb/libusb20_int.h
  projects/vnet/lib/msun/src/math.h
  projects/vnet/libexec/Makefile
  projects/vnet/libexec/fingerd/Makefile.depend
  projects/vnet/libexec/ftpd/Makefile.depend
  projects/vnet/libexec/rlogind/Makefile.depend
  projects/vnet/libexec/rshd/Makefile.depend
  projects/vnet/release/Makefile.ec2
  projects/vnet/release/doc/en_US.ISO8859-1/relnotes/article.xml
  projects/vnet/release/scripts/mm-mtree.sh
  projects/vnet/release/tools/arm.subr
  projects/vnet/release/tools/ec2.conf
  projects/vnet/sbin/ifconfig/ifconfig.8
  projects/vnet/sbin/ifconfig/ifieee80211.c
  projects/vnet/sbin/pfctl/parse.y
  projects/vnet/sbin/pfctl/pfctl_parser.c
  projects/vnet/secure/usr.sbin/sshd/Makefile
  projects/vnet/secure/usr.sbin/sshd/Makefile.depend
  projects/vnet/share/man/man3/tree.3
  projects/vnet/share/man/man4/Makefile
  projects/vnet/share/man/man4/ahci.4
  projects/vnet/share/man/man4/apic.4
  projects/vnet/share/man/man4/atp.4
  projects/vnet/share/man/man4/atrtc.4
  projects/vnet/share/man/man4/bcma.4
  projects/vnet/share/man/man4/bhnd.4
  projects/vnet/share/man/man4/bhyve.4
  projects/vnet/share/man/man4/bpf.4
  projects/vnet/share/man/man4/cmx.4
  projects/vnet/share/man/man4/cxgbe.4
  projects/vnet/share/man/man4/dcons.4
  projects/vnet/share/man/man4/devctl.4
  projects/vnet/share/man/man4/fdt.4
  projects/vnet/share/man/man4/fdtbus.4
  projects/vnet/share/man/man4/hpet.4
  projects/vnet/share/man/man4/hptrr.4
  projects/vnet/share/man/man4/iicbus.4
  projects/vnet/share/man/man4/inet.4
  projects/vnet/share/man/man4/ip.4
  projects/vnet/share/man/man4/ipmi.4
  projects/vnet/share/man/man4/iscsi.4
  projects/vnet/share/man/man4/ixl.4
  projects/vnet/share/man/man4/ixlv.4
  projects/vnet/share/man/man4/ksyms.4
  projects/vnet/share/man/man4/man4.arm/cgem.4
  projects/vnet/share/man/man4/man4.arm/mge.4
  projects/vnet/share/man/man4/mdio.4
  projects/vnet/share/man/man4/mfi.4
  projects/vnet/share/man/man4/mpr.4
  projects/vnet/share/man/man4/mpt.4
  projects/vnet/share/man/man4/nand.4
  projects/vnet/share/man/man4/ng_atm.4
  projects/vnet/share/man/man4/ng_bridge.4
  projects/vnet/share/man/man4/ng_car.4
  projects/vnet/share/man/man4/ng_deflate.4
  projects/vnet/share/man/man4/ng_hub.4
  projects/vnet/share/man/man4/ng_mppc.4
  projects/vnet/share/man/man4/ng_netflow.4
  projects/vnet/share/man/man4/ng_pptpgre.4
  projects/vnet/share/man/man4/ng_pred1.4
  projects/vnet/share/man/man4/ng_tag.4
  projects/vnet/share/man/man4/nvd.4
  projects/vnet/share/man/man4/nvme.4
  projects/vnet/share/man/man4/nvram2env.4
  projects/vnet/share/man/man4/oce.4
  projects/vnet/share/man/man4/pass.4
  projects/vnet/share/man/man4/pf.4
  projects/vnet/share/man/man4/proto.4
  projects/vnet/share/man/man4/psm.4
  projects/vnet/share/man/man4/pts.4
  projects/vnet/share/man/man4/puc.4
  projects/vnet/share/man/man4/qlxgbe.4
  projects/vnet/share/man/man4/qlxge.4
  projects/vnet/share/man/man4/random.4
  projects/vnet/share/man/man4/rum.4
  projects/vnet/share/man/man4/sdhci.4
  projects/vnet/share/man/man4/sfxge.4
  projects/vnet/share/man/man4/siba.4
  projects/vnet/share/man/man4/siftr.4
  projects/vnet/share/man/man4/simplebus.4
  projects/vnet/share/man/man4/snd_hda.4
  projects/vnet/share/man/man4/stf.4
  projects/vnet/share/man/man4/u3g.4
  projects/vnet/share/man/man4/unix.4
  projects/vnet/share/man/man4/urtwn.4
  projects/vnet/share/man/man4/usb_template.4
  projects/vnet/share/man/man4/usfs.4
  projects/vnet/share/man/man4/vale.4
  projects/vnet/share/man/man4/virtio_scsi.4
  projects/vnet/share/man/man4/vlan.4
  projects/vnet/share/man/man4/witness.4
  projects/vnet/share/man/man5/ar.5
  projects/vnet/share/man/man5/devfs.rules.5
  projects/vnet/share/man/man5/elf.5
  projects/vnet/share/man/man5/nandfs.5
  projects/vnet/share/man/man5/nsswitch.conf.5
  projects/vnet/share/man/man5/pf.conf.5
  projects/vnet/share/man/man5/quota.user.5
  projects/vnet/share/man/man5/rc.conf.5
  projects/vnet/share/man/man5/src.conf.5
  projects/vnet/share/man/man8/nanobsd.8
  projects/vnet/share/man/man9/BUS_NEW_PASS.9
  projects/vnet/share/man/man9/EVENTHANDLER.9
  projects/vnet/share/man/man9/SYSCALL_MODULE.9
  projects/vnet/share/man/man9/bpf.9
  projects/vnet/share/man/man9/counter.9
  projects/vnet/share/man/man9/firmware.9
  projects/vnet/share/man/man9/kqueue.9
  projects/vnet/share/man/man9/lock.9
  projects/vnet/share/man/man9/locking.9
  projects/vnet/share/man/man9/pmap.9
  projects/vnet/share/man/man9/stack.9
  projects/vnet/share/man/man9/sysctl.9
  projects/vnet/share/man/man9/timeout.9
  projects/vnet/share/man/man9/usbdi.9
  projects/vnet/share/man/man9/vn_fullpath.9
  projects/vnet/share/man/man9/zone.9
  projects/vnet/share/misc/committers-ports.dot
  projects/vnet/share/misc/committers-src.dot
  projects/vnet/share/mk/bsd.crunchgen.mk
  projects/vnet/share/mk/bsd.dep.mk
  projects/vnet/share/mk/bsd.init.mk
  projects/vnet/share/mk/bsd.lib.mk
  projects/vnet/share/mk/bsd.subdir.mk
  projects/vnet/share/mk/local.sys.mk
  projects/vnet/share/mk/src.opts.mk
  projects/vnet/share/mk/sys.mk
  projects/vnet/share/monetdef/sr_Latn_RS.UTF-8.src
  projects/vnet/share/msgdef/Makefile
  projects/vnet/share/msgdef/sr_Cyrl_RS.ISO8859-5.src
  projects/vnet/share/msgdef/sr_Latn_RS.UTF-8.src
  projects/vnet/share/numericdef/Makefile
  projects/vnet/share/timedef/Makefile
  projects/vnet/share/timedef/ar_JO.UTF-8.src
  projects/vnet/share/timedef/ar_MA.UTF-8.src
  projects/vnet/share/timedef/ar_SA.UTF-8.src
  projects/vnet/share/timedef/be_BY.CP1131.src
  projects/vnet/share/timedef/be_BY.CP1251.src
  projects/vnet/share/timedef/be_BY.ISO8859-5.src
  projects/vnet/share/timedef/be_BY.UTF-8.src
  projects/vnet/share/timedef/bg_BG.CP1251.src
  projects/vnet/share/timedef/bg_BG.UTF-8.src
  projects/vnet/share/timedef/ca_IT.ISO8859-15.src
  projects/vnet/share/timedef/ca_IT.UTF-8.src
  projects/vnet/share/timedef/el_GR.ISO8859-7.src
  projects/vnet/share/timedef/el_GR.UTF-8.src
  projects/vnet/share/timedef/en_SG.UTF-8.src
  projects/vnet/share/timedef/en_US.UTF-8.src
  projects/vnet/share/timedef/es_AR.ISO8859-1.src
  projects/vnet/share/timedef/es_CR.UTF-8.src
  projects/vnet/share/timedef/es_ES.ISO8859-15.src
  projects/vnet/share/timedef/es_ES.UTF-8.src
  projects/vnet/share/timedef/fi_FI.ISO8859-15.src
  projects/vnet/share/timedef/fi_FI.UTF-8.src
  projects/vnet/share/timedef/fr_BE.ISO8859-15.src
  projects/vnet/share/timedef/fr_BE.UTF-8.src
  projects/vnet/share/timedef/he_IL.UTF-8.src
  projects/vnet/share/timedef/hi_IN.ISCII-DEV.src
  projects/vnet/share/timedef/hi_IN.UTF-8.src
  projects/vnet/share/timedef/is_IS.ISO8859-15.src
  projects/vnet/share/timedef/is_IS.UTF-8.src
  projects/vnet/share/timedef/ko_KR.UTF-8.src
  projects/vnet/share/timedef/ko_KR.eucKR.src
  projects/vnet/share/timedef/nl_BE.UTF-8.src
  projects/vnet/share/timedef/sl_SI.ISO8859-2.src
  projects/vnet/share/timedef/sl_SI.UTF-8.src
  projects/vnet/share/timedef/sr_Cyrl_RS.ISO8859-5.src
  projects/vnet/share/timedef/sr_Latn_RS.ISO8859-2.src   (contents, props changed)
  projects/vnet/share/timedef/sr_Latn_RS.UTF-8.src   (contents, props changed)
  projects/vnet/share/timedef/tr_TR.ISO8859-9.src
  projects/vnet/share/timedef/tr_TR.UTF-8.src
  projects/vnet/share/timedef/zh_Hans_CN.GB2312.src
  projects/vnet/share/timedef/zh_Hans_CN.GBK.src
  projects/vnet/share/timedef/zh_Hans_CN.UTF-8.src
  projects/vnet/share/timedef/zh_Hans_CN.eucCN.src
  projects/vnet/share/timedef/zh_Hant_HK.UTF-8.src
  projects/vnet/share/timedef/zh_Hant_TW.Big5.src
  projects/vnet/share/timedef/zh_Hant_TW.UTF-8.src
  projects/vnet/share/zoneinfo/Makefile
  projects/vnet/sys/amd64/amd64/pmap.c
  projects/vnet/sys/amd64/amd64/vm_machdep.c
  projects/vnet/sys/amd64/cloudabi64/cloudabi64_sysvec.c
  projects/vnet/sys/arm/arm/cpufunc.c
  projects/vnet/sys/arm/arm/genassym.c
  projects/vnet/sys/arm/arm/mp_machdep.c
  projects/vnet/sys/arm/arm/swtch-v6.S
  projects/vnet/sys/arm/arm/vm_machdep.c
  projects/vnet/sys/arm/include/_types.h
  projects/vnet/sys/arm/include/armreg.h
  projects/vnet/sys/arm/include/proc.h
  projects/vnet/sys/arm64/arm64/vm_machdep.c
  projects/vnet/sys/arm64/cloudabi64/cloudabi64_sysvec.c
  projects/vnet/sys/arm64/conf/GENERIC
  projects/vnet/sys/boot/efi/Makefile.inc
  projects/vnet/sys/boot/efi/libefi/efi_console.c
  projects/vnet/sys/boot/efi/libefi/efipart.c
  projects/vnet/sys/boot/zfs/zfs.c
  projects/vnet/sys/cam/ata/ata_da.c
  projects/vnet/sys/cam/cam_ccb.h
  projects/vnet/sys/cam/cam_xpt.c
  projects/vnet/sys/cam/cam_xpt_internal.h
  projects/vnet/sys/cam/scsi/scsi_da.c
  projects/vnet/sys/cddl/compat/opensolaris/sys/dnlc.h
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  projects/vnet/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
  projects/vnet/sys/compat/linprocfs/linprocfs.c
  projects/vnet/sys/compat/linux/linux_fork.c
  projects/vnet/sys/compat/linuxkpi/common/src/linux_idr.c
  projects/vnet/sys/conf/files
  projects/vnet/sys/conf/files.amd64
  projects/vnet/sys/conf/kern.opts.mk
  projects/vnet/sys/conf/kern.post.mk
  projects/vnet/sys/conf/newvers.sh
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300.h
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300_xmit.c
  projects/vnet/sys/contrib/dev/ath/ath_hal/ar9300/ar9300reg.h
  projects/vnet/sys/dev/acpica/acpi_thermal.c
  projects/vnet/sys/dev/ath/if_ath_alq.h
  projects/vnet/sys/dev/ath/if_ath_rx_edma.c
  projects/vnet/sys/dev/ath/if_ath_sysctl.c
  projects/vnet/sys/dev/ath/if_ath_tx_edma.c
  projects/vnet/sys/dev/bhnd/bcma/bcma_nexus.c
  projects/vnet/sys/dev/bhnd/bhnd.h
  projects/vnet/sys/dev/bhnd/bhnd_nexus.c
  projects/vnet/sys/dev/bhnd/bhnd_subr.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc.c
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_private.h
  projects/vnet/sys/dev/bhnd/cores/chipc/chipc_subr.c
  projects/vnet/sys/dev/bhnd/cores/pci/bhnd_pci.c
  projects/vnet/sys/dev/bhnd/cores/pci/bhnd_pci_hostb.c
  projects/vnet/sys/dev/bhnd/cores/pcie2/bhnd_pcie2.c
  projects/vnet/sys/dev/bhnd/cores/pcie2/bhnd_pcie2_hostb.c
  projects/vnet/sys/dev/bhnd/siba/siba.c
  projects/vnet/sys/dev/bhnd/siba/siba_bhndb.c
  projects/vnet/sys/dev/bhnd/siba/siba_nexus.c
  projects/vnet/sys/dev/bhnd/siba/siba_subr.c
  projects/vnet/sys/dev/bhnd/siba/sibareg.h
  projects/vnet/sys/dev/bhnd/siba/sibavar.h
  projects/vnet/sys/dev/cpuctl/cpuctl.c
  projects/vnet/sys/dev/cxgbe/adapter.h
  projects/vnet/sys/dev/cxgbe/iw_cxgbe/cm.c
  projects/vnet/sys/dev/cxgbe/t4_sge.c
  projects/vnet/sys/dev/cxgbe/tom/t4_cpl_io.c
  projects/vnet/sys/dev/cxgbe/tom/t4_ddp.c
  projects/vnet/sys/dev/dwc/if_dwc.c
  projects/vnet/sys/dev/dwc/if_dwc.h
  projects/vnet/sys/dev/flash/mx25l.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_channel.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_connection.c
  projects/vnet/sys/dev/hyperv/vmbus/hv_vmbus_priv.h
  projects/vnet/sys/dev/hyperv/vmbus/vmbus.c
  projects/vnet/sys/dev/hyperv/vmbus/vmbus_reg.h
  projects/vnet/sys/dev/hyperv/vmbus/vmbus_var.h
  projects/vnet/sys/dev/ioat/ioat.c
  projects/vnet/sys/dev/iscsi/iscsi_ioctl.h
  projects/vnet/sys/dev/iwm/if_iwm.c
  projects/vnet/sys/dev/iwm/if_iwmvar.h
  projects/vnet/sys/dev/mii/miidevs
  projects/vnet/sys/dev/mii/smscphy.c
  projects/vnet/sys/dev/mps/mps.c
  projects/vnet/sys/dev/mps/mps_config.c
  projects/vnet/sys/dev/mps/mps_sas.c
  projects/vnet/sys/dev/mps/mps_sas_lsi.c
  projects/vnet/sys/dev/mps/mps_user.c
  projects/vnet/sys/dev/mps/mpsvar.h
  projects/vnet/sys/dev/ntb/if_ntb/if_ntb.c
  projects/vnet/sys/dev/nvme/nvme.h
  projects/vnet/sys/dev/nvme/nvme_ctrlr.c
  projects/vnet/sys/dev/nvme/nvme_ns_cmd.c
  projects/vnet/sys/dev/nvme/nvme_private.h
  projects/vnet/sys/dev/ral/rt2860.c
  projects/vnet/sys/dev/ral/rt2860reg.h
  projects/vnet/sys/dev/rtwn/if_rtwn.c
  projects/vnet/sys/dev/sfxge/common/ef10_nvram.c
  projects/vnet/sys/dev/sfxge/sfxge_ev.c
  projects/vnet/sys/dev/sfxge/sfxge_port.c
  projects/vnet/sys/dev/sfxge/sfxge_tx.c
  projects/vnet/sys/dev/sfxge/sfxge_version.h
  projects/vnet/sys/dev/urtwn/if_urtwn.c
  projects/vnet/sys/dev/urtwn/if_urtwnvar.h
  projects/vnet/sys/dev/xen/timer/timer.c
  projects/vnet/sys/fs/devfs/devfs_vnops.c
  projects/vnet/sys/fs/ext2fs/ext2_alloc.c
  projects/vnet/sys/fs/ext2fs/ext2_bmap.c
  projects/vnet/sys/fs/ext2fs/ext2_extents.h
  projects/vnet/sys/fs/ext2fs/ext2_vfsops.c
  projects/vnet/sys/fs/ext2fs/ext2fs.h
  projects/vnet/sys/fs/nfsclient/nfs_clvfsops.c
  projects/vnet/sys/fs/nfsclient/nfs_clvnops.c
  projects/vnet/sys/i386/i386/vm_machdep.c
  projects/vnet/sys/kern/init_main.c
  projects/vnet/sys/kern/kern_exec.c
  projects/vnet/sys/kern/kern_fail.c
  projects/vnet/sys/kern/kern_fork.c
  projects/vnet/sys/kern/kern_jail.c
  projects/vnet/sys/kern/kern_kthread.c
  projects/vnet/sys/kern/kern_linker.c
  projects/vnet/sys/kern/kern_sig.c
  projects/vnet/sys/kern/kern_thr.c
  projects/vnet/sys/kern/kern_thread.c
  projects/vnet/sys/kern/subr_prf.c
  projects/vnet/sys/kern/sys_procdesc.c
  projects/vnet/sys/kern/sys_socket.c
  projects/vnet/sys/kern/sysv_msg.c
  projects/vnet/sys/kern/vfs_aio.c
  projects/vnet/sys/kern/vfs_mount.c
  projects/vnet/sys/kern/vfs_subr.c
  projects/vnet/sys/mips/broadcom/bcm_mipscore.c
  projects/vnet/sys/mips/mips/swtch.S
  projects/vnet/sys/mips/mips/vm_machdep.c
  projects/vnet/sys/modules/Makefile
  projects/vnet/sys/modules/bwn/Makefile
  projects/vnet/sys/modules/bwn_pci/Makefile
  projects/vnet/sys/modules/dtb/allwinner/Makefile
  projects/vnet/sys/modules/netgraph/mppc/Makefile
  projects/vnet/sys/modules/siba_bwn/Makefile
  projects/vnet/sys/modules/tcp/fastpath/Makefile
  projects/vnet/sys/net/if.c
  projects/vnet/sys/net/if_bridge.c
  projects/vnet/sys/net/if_lagg.c
  projects/vnet/sys/net/iflib.c
  projects/vnet/sys/net/pfvar.h
  projects/vnet/sys/net80211/ieee80211_ddb.c
  projects/vnet/sys/net80211/ieee80211_freebsd.h
  projects/vnet/sys/net80211/ieee80211_hostap.c
  projects/vnet/sys/net80211/ieee80211_node.c
  projects/vnet/sys/net80211/ieee80211_node.h
  projects/vnet/sys/net80211/ieee80211_output.c
  projects/vnet/sys/net80211/ieee80211_superg.c
  projects/vnet/sys/netgraph/bluetooth/l2cap/ng_l2cap_misc.c
  projects/vnet/sys/netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c
  projects/vnet/sys/netgraph/bluetooth/socket/ng_btsocket_l2cap.c
  projects/vnet/sys/netinet/in.c
  projects/vnet/sys/netinet/in.h
  projects/vnet/sys/netinet/ip_fastfwd.c
  projects/vnet/sys/netinet/ip_input.c
  projects/vnet/sys/netinet/ip_output.c
  projects/vnet/sys/netinet/sctp_input.c
  projects/vnet/sys/netinet/sctp_output.c
  projects/vnet/sys/netinet/sctp_structs.h
  projects/vnet/sys/netinet/sctputil.c
  projects/vnet/sys/netinet/tcp_input.c
  projects/vnet/sys/netinet/tcp_stacks/fastpath.c
  projects/vnet/sys/netinet/udp_usrreq.c
  projects/vnet/sys/netinet6/in6.c
  projects/vnet/sys/netinet6/in6_ifattach.c
  projects/vnet/sys/netinet6/in6_ifattach.h
  projects/vnet/sys/netinet6/in6_var.h
  projects/vnet/sys/netinet6/ip6_forward.c
  projects/vnet/sys/netinet6/ip6_input.c
  projects/vnet/sys/netinet6/ip6_output.c
  projects/vnet/sys/netinet6/udp6_usrreq.c
  projects/vnet/sys/netpfil/pf/pf.c
  projects/vnet/sys/netpfil/pf/pf_ioctl.c
  projects/vnet/sys/nlm/nlm_advlock.c
  projects/vnet/sys/ofed/drivers/infiniband/core/iwcm.c
  projects/vnet/sys/powerpc/powerpc/exec_machdep.c
  projects/vnet/sys/powerpc/powerpc/vm_machdep.c
  projects/vnet/sys/riscv/include/riscvreg.h
  projects/vnet/sys/riscv/riscv/vm_machdep.c
  projects/vnet/sys/rpc/clnt_bck.c
  projects/vnet/sys/rpc/rpcb_clnt.c
  projects/vnet/sys/security/audit/audit_bsm.c
  projects/vnet/sys/sparc64/sparc64/vm_machdep.c
  projects/vnet/sys/sys/aio.h
  projects/vnet/sys/sys/param.h
  projects/vnet/sys/sys/proc.h
  projects/vnet/sys/sys/procdesc.h
  projects/vnet/sys/sys/sdt.h
  projects/vnet/sys/sys/vnode.h
  projects/vnet/sys/vm/swap_pager.c
  projects/vnet/targets/pseudo/clang/Makefile.depend
  projects/vnet/tests/sys/acl/Makefile
  projects/vnet/tools/build/Makefile
  projects/vnet/tools/build/mk/OptionalObsoleteFiles.inc
  projects/vnet/tools/build/options/WITH_META_MODE
  projects/vnet/tools/tools/locale/tools/cldr2def.pl
  projects/vnet/usr.bin/ar/ar.1
  projects/vnet/usr.bin/ar/ar.c
  projects/vnet/usr.bin/awk/Makefile
  projects/vnet/usr.bin/bmake/Makefile
  projects/vnet/usr.bin/bmake/config.h
  projects/vnet/usr.bin/calendar/calendars/calendar.freebsd
  projects/vnet/usr.bin/clang/Makefile
  projects/vnet/usr.bin/mkimg/Makefile
  projects/vnet/usr.bin/random/randomize_fd.c
  projects/vnet/usr.bin/truss/Makefile
  projects/vnet/usr.bin/xinstall/tests/install_test.sh
  projects/vnet/usr.bin/xinstall/xinstall.c
  projects/vnet/usr.sbin/Makefile
  projects/vnet/usr.sbin/bsdconfig/include/messages.subr
  projects/vnet/usr.sbin/bsdconfig/networking/INDEX
  projects/vnet/usr.sbin/bsdconfig/networking/Makefile
  projects/vnet/usr.sbin/bsdconfig/networking/include/messages.subr
  projects/vnet/usr.sbin/bsdconfig/networking/networking
  projects/vnet/usr.sbin/bsdconfig/networking/share/device.subr
  projects/vnet/usr.sbin/bsdconfig/share/media/Makefile
  projects/vnet/usr.sbin/bsdinstall/partedit/gpart_ops.c
  projects/vnet/usr.sbin/bsdinstall/scripts/wlanconfig
  projects/vnet/usr.sbin/bsdinstall/scripts/zfsboot
  projects/vnet/usr.sbin/cpucontrol/cpucontrol.c
  projects/vnet/usr.sbin/ctld/ctld.h
  projects/vnet/usr.sbin/ctld/login.c
  projects/vnet/usr.sbin/extattr/tests/extattr_test.sh
  projects/vnet/usr.sbin/iscsid/iscsid.h
  projects/vnet/usr.sbin/iscsid/login.c
  projects/vnet/usr.sbin/makefs/cd9660.c
  projects/vnet/usr.sbin/makefs/ffs.c
  projects/vnet/usr.sbin/makefs/ffs/mkfs.c
  projects/vnet/usr.sbin/makefs/ffs/newfs_extern.h
  projects/vnet/usr.sbin/makefs/makefs.8
  projects/vnet/usr.sbin/makefs/makefs.c
  projects/vnet/usr.sbin/makefs/makefs.h
  projects/vnet/usr.sbin/makefs/walk.c
  projects/vnet/usr.sbin/rpc.lockd/lockd_lock.c
  projects/vnet/usr.sbin/rpcbind/rpcb_stat.c
  projects/vnet/usr.sbin/rpcbind/rpcb_svc_com.c
  projects/vnet/usr.sbin/rpcbind/tests/addrmerge_test.c
  projects/vnet/usr.sbin/services_mkdb/services_mkdb.8
  projects/vnet/usr.sbin/sysrc/sysrc.8
  projects/vnet/usr.sbin/tcpdump/tcpdump/config.h
Directory Properties:
  projects/vnet/   (props changed)
  projects/vnet/contrib/atf/   (props changed)
  projects/vnet/contrib/bmake/   (props changed)
  projects/vnet/contrib/ipfilter/   (props changed)
  projects/vnet/contrib/ldns-host/   (props changed)
  projects/vnet/contrib/libc-vis/   (props changed)
  projects/vnet/contrib/llvm/   (props changed)
  projects/vnet/contrib/llvm/tools/clang/   (props changed)
  projects/vnet/contrib/tcpdump/   (props changed)
  projects/vnet/crypto/openssh/   (props changed)
  projects/vnet/gnu/lib/   (props changed)
  projects/vnet/gnu/usr.bin/cc/cc_tools/   (props changed)
  projects/vnet/sys/cddl/contrib/opensolaris/   (props changed)

Modified: projects/vnet/Makefile
==============================================================================
--- projects/vnet/Makefile	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/Makefile	Tue Jun 21 15:26:59 2016	(r302057)
@@ -133,12 +133,27 @@ TGTS=	all all-man buildenv buildenvvars 
 	create-world-packages create-kernel-packages create-packages \
 	packages installconfig real-packages sign-packages package-pkg
 
+# XXX: r156740: This can't work since bsd.subdir.mk is not included ever.
+# It will only work for SUBDIR_TARGETS in make.conf.
 TGTS+=	${SUBDIR_TARGETS}
 
 BITGTS=	files includes
 BITGTS:=${BITGTS} ${BITGTS:S/^/build/} ${BITGTS:S/^/install/}
 TGTS+=	${BITGTS}
 
+# Only some targets are allowed to use meta mode.  Others get it
+# disabled.  In some cases, such as 'install', meta mode can be dangerous
+# as a cookie may be used to prevent redundant installations (such as
+# for WORLDTMP staging).  For DESTDIR=/ we always want to install though.
+# For other cases, such as delete-old-libs, meta mode may break
+# the interactive tty prompt.  The safest route is to just whitelist
+# the ones that benefit from it.
+META_TGT_WHITELIST+= \
+	_* build32 buildfiles buildincludes buildkernel buildsoft \
+	buildworld everything kernel-toolchains kernel kernels libraries \
+	native-xtools showconfig tinderbox toolchain toolchains universe \
+	world worlds xdev xdev-build
+
 .ORDER: buildworld installworld
 .ORDER: buildworld distributeworld
 .ORDER: buildworld buildkernel
@@ -194,14 +209,24 @@ SUB_MAKE= ${MAKE} -m ${.CURDIR}/share/mk
 
 _MAKE=	PATH=${PATH} ${SUB_MAKE} -f Makefile.inc1 TARGET=${_TARGET} TARGET_ARCH=${_TARGET_ARCH}
 
-# Must disable META_MODE when installing to avoid missing anything.  The
-# main problem is that buildworld will create cookies for install targets
-# since they are being installed into WORLDTMP.  This avoids unneeded and
-# redundant restaging but is dangerous for user install targets.
-.if make(distrib*) || make(*install*)
+# Only allow meta mode for the whitelisted targets.  See META_TGT_WHITELIST
+# above.
+.for _tgt in ${META_TGT_WHITELIST}
+.if make(${_tgt})
+_CAN_USE_META_MODE?= yes
+.endif
+.endfor
+.if !defined(_CAN_USE_META_MODE)
 _MAKE+=	MK_META_MODE=no
 .unexport META_MODE
-.endif
+.elif defined(MK_META_MODE) && ${MK_META_MODE} == "yes"
+.if !exists(/dev/filemon) && !defined(NO_FILEMON) && !make(showconfig)
+# Require filemon be loaded to provide a working incremental build
+.error ${.newline}ERROR: The filemon module (/dev/filemon) is not loaded. \
+    ${.newline}ERROR: WITH_META_MODE is enabled but requires filemon for an incremental build. \
+    ${.newline}ERROR: 'kldload filemon' or pass -DNO_FILEMON to suppress this error.
+.endif	# !exists(/dev/filemon) && !defined(NO_FILEMON)
+.endif	# !defined(_CAN_USE_META_MODE)
 
 # Guess machine architecture from machine type, and vice versa.
 .if !defined(TARGET_ARCH) && defined(TARGET)
@@ -274,7 +299,7 @@ CHECK_TIME!= find ${.CURDIR}/sys/sys/par
 # not included. One can argue that this target doesn't build everything
 # then.
 #
-world: upgrade_checks
+world: upgrade_checks .PHONY
 	@echo "--------------------------------------------------------------"
 	@echo ">>> make world started on ${STARTTIME}"
 	@echo "--------------------------------------------------------------"
@@ -300,7 +325,7 @@ world: upgrade_checks
 	@echo "                   (started ${STARTTIME})"
 	@echo "--------------------------------------------------------------"
 .else
-world:
+world: .PHONY
 	@echo "WARNING: make world will overwrite your existing FreeBSD"
 	@echo "installation without also building and installing a new"
 	@echo "kernel.  This can be dangerous.  Please read the handbook,"
@@ -317,13 +342,13 @@ world:
 #
 # Short hand for `make buildkernel installkernel'
 #
-kernel: buildkernel installkernel
+kernel: buildkernel installkernel .PHONY
 
 #
 # Perform a few tests to determine if the installed tools are adequate
 # for building the world.
 #
-upgrade_checks:
+upgrade_checks: .PHONY
 .if defined(NEED_MAKE_UPGRADE)
 	@${_+_}(cd ${.CURDIR} && ${MAKE} ${WANT_MAKE:S,^f,,})
 .endif
@@ -359,19 +384,19 @@ regress: .PHONY
 
 tinderbox toolchains kernel-toolchains kernels worlds: upgrade_checks
 
-tinderbox:
+tinderbox: .PHONY
 	@cd ${.CURDIR}; ${SUB_MAKE} DOING_TINDERBOX=YES universe
 
-toolchains:
+toolchains: .PHONY
 	@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=toolchain universe
 
-kernel-toolchains:
+kernel-toolchains: .PHONY
 	@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=kernel-toolchain universe
 
-kernels:
+kernels: .PHONY
 	@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildkernel universe
 
-worlds:
+worlds: .PHONY
 	@cd ${.CURDIR}; ${SUB_MAKE} UNIVERSE_TARGET=buildworld universe
 
 #
@@ -393,13 +418,13 @@ TARGET_ARCHES_pc98?=	i386
 TARGET_ARCHES_${target}?= ${target}
 .endfor
 
-# XXX Add arm64 to universe only if we have an external binutils installed.
+# XXX Remove arm64 from universe if the required binutils package is missing.
 # It does not build with the in-tree linker.
-.if !exists(/usr/local/aarch64-freebsd/bin/ld) && empty(${TARGETS})
+.if !exists(/usr/local/aarch64-freebsd/bin/ld) && ${TARGETS:Marm64}
 _UNIVERSE_TARGETS:= ${_UNIVERSE_TARGETS:Narm64}
-universe: universe_arm64_skip
-universe_epilogue: universe_arm64_skip
-universe_arm64_skip: universe_prologue
+universe: universe_arm64_skip .PHONY
+universe_epilogue: universe_arm64_skip .PHONY
+universe_arm64_skip: universe_prologue .PHONY
 	@echo ">> arm64 skipped - install aarch64-binutils port or package to build"
 .endif
 
@@ -437,16 +462,16 @@ universe_prologue: .PHONY
 .for target in ${_UNIVERSE_TARGETS}
 universe: universe_${target}
 universe_epilogue: universe_${target}
-universe_${target}: universe_${target}_prologue
-universe_${target}_prologue: universe_prologue
+universe_${target}: universe_${target}_prologue .PHONY
+universe_${target}_prologue: universe_prologue .PHONY
 	@echo ">> ${target} started on `LC_ALL=C date`"
-universe_${target}_worlds:
+universe_${target}_worlds: .PHONY
 
 .if !defined(MAKE_JUST_KERNELS)
-universe_${target}_done: universe_${target}_worlds
+universe_${target}_done: universe_${target}_worlds .PHONY
 .for target_arch in ${TARGET_ARCHES_${target}}
-universe_${target}_worlds: universe_${target}_${target_arch}
-universe_${target}_${target_arch}: universe_${target}_prologue .MAKE
+universe_${target}_worlds: universe_${target}_${target_arch} .PHONY
+universe_${target}_${target_arch}: universe_${target}_prologue .MAKE .PHONY
 	@echo ">> ${target}.${target_arch} ${UNIVERSE_TARGET} started on `LC_ALL=C date`"
 	@(cd ${.CURDIR} && env __MAKE_CONF=/dev/null \
 	    ${SUB_MAKE} ${JFLAG} ${UNIVERSE_TARGET} \
@@ -461,9 +486,9 @@ universe_${target}_${target_arch}: unive
 .endif # !MAKE_JUST_KERNELS
 
 .if !defined(MAKE_JUST_WORLDS)
-universe_${target}_done: universe_${target}_kernels
-universe_${target}_kernels: universe_${target}_worlds
-universe_${target}_kernels: universe_${target}_prologue .MAKE
+universe_${target}_done: universe_${target}_kernels .PHONY
+universe_${target}_kernels: universe_${target}_worlds .PHONY
+universe_${target}_kernels: universe_${target}_prologue .MAKE .PHONY
 .if exists(${KERNSRCDIR}/${target}/conf/NOTES)
 	@(cd ${KERNSRCDIR}/${target}/conf && env __MAKE_CONF=/dev/null \
 	    ${SUB_MAKE} LINT > ${.CURDIR}/_.${target}.makeLINT 2>&1 || \
@@ -479,7 +504,7 @@ universe_${target}: universe_${target}_d
 universe_${target}_done:
 	@echo ">> ${target} completed on `LC_ALL=C date`"
 .endfor
-universe_kernels: universe_kernconfs
+universe_kernels: universe_kernconfs .PHONY
 .if !defined(TARGET)
 TARGET!=	uname -m
 .endif
@@ -493,7 +518,7 @@ KERNCONFS!=	cd ${KERNSRCDIR}/${TARGET}/c
 		-type f -maxdepth 0 \
 		! -name DEFAULTS ! -name NOTES | \
 		${_THINNER}
-universe_kernconfs:
+universe_kernconfs: .PHONY
 .for kernel in ${KERNCONFS}
 TARGET_ARCH_${kernel}!=	cd ${KERNSRCDIR}/${TARGET}/conf && \
 	config -m ${KERNSRCDIR}/${TARGET}/conf/${kernel} 2> /dev/null | \
@@ -527,7 +552,7 @@ universe_epilogue: .PHONY
 .endif
 .endif
 
-buildLINT:
+buildLINT: .PHONY
 	${MAKE} -C ${.CURDIR}/sys/${_TARGET}/conf LINT
 
 .if defined(.PARSEDIR)

Modified: projects/vnet/Makefile.inc1
==============================================================================
--- projects/vnet/Makefile.inc1	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/Makefile.inc1	Tue Jun 21 15:26:59 2016	(r302057)
@@ -543,9 +543,12 @@ TARGET_ABI=	gnueabi
 .endif
 .endif
 .if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
-# GCC requires -isystem and -L when using a cross-compiler.
+# GCC requires -isystem and -L when using a cross-compiler.  --sysroot
+# won't set header path and -L is used to ensure the base library path
+# is added before the port PREFIX library path.
 XCFLAGS+=	-isystem ${WORLDTMP}/usr/include -L${WORLDTMP}/usr/lib
 # Force using libc++ for external GCC.
+# XXX: This should be checking MK_GNUCXX == no
 XCXXFLAGS+=	-isystem ${WORLDTMP}/usr/include/c++/v1 -std=c++11 \
 		-nostdinc++ -L${WORLDTMP}/../lib/libc++
 .else
@@ -646,6 +649,8 @@ _worldtmp: .PHONY
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.groff.dist \
 	    -p ${WORLDTMP}/legacy/usr >/dev/null
 .endif
+	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \
+	    -p ${WORLDTMP}/legacy/usr/include >/dev/null
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.usr.dist \
 	    -p ${WORLDTMP}/usr >/dev/null
 	mtree -deU -f ${.CURDIR}/etc/mtree/BSD.include.dist \

Modified: projects/vnet/Makefile.libcompat
==============================================================================
--- projects/vnet/Makefile.libcompat	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/Makefile.libcompat	Tue Jun 21 15:26:59 2016	(r302057)
@@ -19,7 +19,7 @@ LIB32WMAKEENV=	MACHINE=i386 MACHINE_ARCH
 		MACHINE_CPU="i686 mmx sse sse2"
 LIB32WMAKEFLAGS=	\
 		AS="${XAS} --32" \
-		LD="${XLD} -m elf_i386_fbsd -Y P,${LIBCOMPATTMP}/usr/lib32" \
+		LD="${XLD} -m elf_i386_fbsd -L${LIBCOMPATTMP}/usr/lib32" \
 		OBJCOPY="${XOBJCOPY}"
 
 .elif ${TARGET_ARCH} == "powerpc64"
@@ -72,13 +72,21 @@ LIBCOMPATCFLAGS+=	${LIBCOMPATCPUFLAGS} \
 # -B is needed to find /usr/lib32/crti.o for GCC and /usr/libsoft/crti.o for
 # Clang/GCC.
 LIBCOMPATCFLAGS+=	-B${LIBCOMPATTMP}/usr/lib${libcompat}
+
 .if defined(X_COMPILER_TYPE) && ${X_COMPILER_TYPE} == gcc
-# GCC requires -isystem when using a cross-compiler.
+# GCC requires -isystem when using a cross-compiler and --sysroot.  Note that
+# Makefile.inc1 only applies this with an external compiler but libcompat
+# always does since even in-tree GCC 4.2 needs this to override the built-in
+# sysroot path which --sysroot does not actually do for headers.
 LIBCOMPATCFLAGS+=	-isystem ${LIBCOMPATTMP}/usr/include
 # Force using libc++ for external GCC.
+# XXX: This should be checking MK_GNUCXX == no
+.if ${MK_CROSS_COMPILER} == "no" || \
+    (${MK_CLANG_BOOTSTRAP} == "no" && ${MK_GCC_BOOTSTRAP} == "no")
 LIBCOMPATCXXFLAGS+=	-isystem ${LIBCOMPATTMP}/usr/include/c++/v1 -std=c++11 \
 			-nostdinc++ -L${LIBCOMPAT_OBJTREE}${.CURDIR}/lib/libc++
 .endif
+.endif
 
 # Yes, the flags are redundant.
 LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${LIBCOMPAT_OBJTREE} \

Modified: projects/vnet/ObsoleteFiles.inc
==============================================================================
--- projects/vnet/ObsoleteFiles.inc	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/ObsoleteFiles.inc	Tue Jun 21 15:26:59 2016	(r302057)
@@ -38,6 +38,57 @@
 #   xargs -n1 | sort | uniq -d;
 # done
 
+# 20160608: removed pam_verbose_error
+OLD_LIBS+=usr/lib/libpam.so.5
+OLD_LIBS+=usr/lib/pam_chroot.so.5
+OLD_LIBS+=usr/lib/pam_deny.so.5
+OLD_LIBS+=usr/lib/pam_echo.so.5
+OLD_LIBS+=usr/lib/pam_exec.so.5
+OLD_LIBS+=usr/lib/pam_ftpusers.so.5
+OLD_LIBS+=usr/lib/pam_group.so.5
+OLD_LIBS+=usr/lib/pam_guest.so.5
+OLD_LIBS+=usr/lib/pam_krb5.so.5
+OLD_LIBS+=usr/lib/pam_ksu.so.5
+OLD_LIBS+=usr/lib/pam_lastlog.so.5
+OLD_LIBS+=usr/lib/pam_login_access.so.5
+OLD_LIBS+=usr/lib/pam_nologin.so.5
+OLD_LIBS+=usr/lib/pam_opie.so.5
+OLD_LIBS+=usr/lib/pam_opieaccess.so.5
+OLD_LIBS+=usr/lib/pam_passwdqc.so.5
+OLD_LIBS+=usr/lib/pam_permit.so.5
+OLD_LIBS+=usr/lib/pam_radius.so.5
+OLD_LIBS+=usr/lib/pam_rhosts.so.5
+OLD_LIBS+=usr/lib/pam_rootok.so.5
+OLD_LIBS+=usr/lib/pam_securetty.so.5
+OLD_LIBS+=usr/lib/pam_self.so.5
+OLD_LIBS+=usr/lib/pam_ssh.so.5
+OLD_LIBS+=usr/lib/pam_tacplus.so.5
+OLD_LIBS+=usr/lib/pam_unix.so.5
+OLD_LIBS+=usr/lib32/libpam.so.5
+OLD_LIBS+=usr/lib32/pam_chroot.so.5
+OLD_LIBS+=usr/lib32/pam_deny.so.5
+OLD_LIBS+=usr/lib32/pam_echo.so.5
+OLD_LIBS+=usr/lib32/pam_exec.so.5
+OLD_LIBS+=usr/lib32/pam_ftpusers.so.5
+OLD_LIBS+=usr/lib32/pam_group.so.5
+OLD_LIBS+=usr/lib32/pam_guest.so.5
+OLD_LIBS+=usr/lib32/pam_krb5.so.5
+OLD_LIBS+=usr/lib32/pam_ksu.so.5
+OLD_LIBS+=usr/lib32/pam_lastlog.so.5
+OLD_LIBS+=usr/lib32/pam_login_access.so.5
+OLD_LIBS+=usr/lib32/pam_nologin.so.5
+OLD_LIBS+=usr/lib32/pam_opie.so.5
+OLD_LIBS+=usr/lib32/pam_opieaccess.so.5
+OLD_LIBS+=usr/lib32/pam_passwdqc.so.5
+OLD_LIBS+=usr/lib32/pam_permit.so.5
+OLD_LIBS+=usr/lib32/pam_radius.so.5
+OLD_LIBS+=usr/lib32/pam_rhosts.so.5
+OLD_LIBS+=usr/lib32/pam_rootok.so.5
+OLD_LIBS+=usr/lib32/pam_securetty.so.5
+OLD_LIBS+=usr/lib32/pam_self.so.5
+OLD_LIBS+=usr/lib32/pam_ssh.so.5
+OLD_LIBS+=usr/lib32/pam_tacplus.so.5
+OLD_LIBS+=usr/lib32/pam_unix.so.5
 # 20160523: remove extranous ALTQ files
 OLD_FILES+=usr/include/altq/altq_codel.h
 OLD_FILES+=usr/include/altq/altq_fairq.h

Modified: projects/vnet/bin/csh/Makefile
==============================================================================
--- projects/vnet/bin/csh/Makefile	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/bin/csh/Makefile	Tue Jun 21 15:26:59 2016	(r302057)
@@ -136,7 +136,7 @@ sh.err.h: sh.err.c
 	grep 'ERR_' ${.ALLSRC} | grep '^#define' >> ${.TARGET}
 	@echo '#endif /* _h_sh_err */' >> ${.TARGET}
 
-tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h
+tc.const.h: tc.const.c sh.char.h config.h config_f.h sh.types.h sh.err.h ${BUILD_TOOLS_META}
 	@rm -f ${.TARGET}
 	@echo '/* Do not edit this file, make creates it. */' > ${.TARGET}
 	@echo '#ifndef _h_tc_const' >> ${.TARGET}

Modified: projects/vnet/bin/setfacl/file.c
==============================================================================
--- projects/vnet/bin/setfacl/file.c	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/bin/setfacl/file.c	Tue Jun 21 15:26:59 2016	(r302057)
@@ -43,13 +43,12 @@ acl_t
 get_acl_from_file(const char *filename)
 {
 	FILE *file;
+	size_t len;
 	char buf[BUFSIZ+1];
 
 	if (filename == NULL)
 		err(1, "(null) filename in get_acl_from_file()");
 
-	bzero(&buf, sizeof(buf));
-
 	if (strcmp(filename, "-") == 0) {
 		if (have_stdin != 0)
 			err(1, "cannot specify more than one stdin");
@@ -61,7 +60,8 @@ get_acl_from_file(const char *filename)
 			err(1, "fopen() %s failed", filename);
 	}
 
-	fread(buf, sizeof(buf) - 1, (size_t)1, file);
+	len = fread(buf, (size_t)1, sizeof(buf) - 1, file);
+	buf[len] = '\0';
 	if (ferror(file) != 0) {
 		fclose(file);
 		err(1, "error reading from %s", filename);

Modified: projects/vnet/contrib/atf/config.h
==============================================================================
--- projects/vnet/contrib/atf/config.h	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/atf/config.h	Tue Jun 21 15:26:59 2016	(r302057)
@@ -2,10 +2,10 @@
 /* config.h.in.  Generated from configure.ac by autoheader.  */
 
 /* Define to 1 if basename takes a constant pointer */
-#define HAVE_CONST_BASENAME 1
+/* #undef HAVE_CONST_BASENAME */
 
 /* Define to 1 if dirname takes a constant pointer */
-#define HAVE_CONST_DIRNAME 1
+/* #undef HAVE_CONST_DIRNAME */
 
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #define HAVE_DLFCN_H 1

Modified: projects/vnet/contrib/blacklist/bin/blacklistctl.8
==============================================================================
--- projects/vnet/contrib/blacklist/bin/blacklistctl.8	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/blacklist/bin/blacklistctl.8	Tue Jun 21 15:26:59 2016	(r302057)
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 29, 2015
+.Dd June 7, 2016
 .Dt BLACKLISTCTL 8
 .Os
 .Sh NAME
@@ -75,7 +75,11 @@ will first attempt to remove the existin
 it to make sure that there is only one rule active.
 .Sh HISTORY
 .Nm
-appeared in
+first appeared in
 .Nx 7 .
+.Fx support for
+.Nm
+was implemented in
+.Fx 11 .
 .Sh AUTHORS
 .An Christos Zoulas

Modified: projects/vnet/contrib/blacklist/bin/blacklistctl.c
==============================================================================
--- projects/vnet/contrib/blacklist/bin/blacklistctl.c	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/blacklist/bin/blacklistctl.c	Tue Jun 21 15:26:59 2016	(r302057)
@@ -96,10 +96,10 @@ main(int argc, char *argv[])
 			break;
 		case 'b':
 			blocked = 1;
+			break;
 		case 'D':
 			dbname = optarg;
 			break;
-			break;
 		case 'd':
 			debug++;
 			break;

Modified: projects/vnet/contrib/blacklist/bin/blacklistd.8
==============================================================================
--- projects/vnet/contrib/blacklist/bin/blacklistd.8	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/blacklist/bin/blacklistd.8	Tue Jun 21 15:26:59 2016	(r302057)
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd June 4, 2015
+.Dd June 7, 2016
 .Dt BLACKLISTD 8
 .Os
 .Sh NAME
@@ -216,7 +216,11 @@ Socket to receive connection notificatio
 .Xr syslogd 8
 .Sh HISTORY
 .Nm
-appeared in
+first appeared in
 .Nx 7 .
+.Fx support for
+.Nm
+was implemented in
+.Fx 11 .
 .Sh AUTHORS
 .An Christos Zoulas

Modified: projects/vnet/contrib/blacklist/bin/blacklistd.conf.5
==============================================================================
--- projects/vnet/contrib/blacklist/bin/blacklistd.conf.5	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/blacklist/bin/blacklistd.conf.5	Tue Jun 21 15:26:59 2016	(r302057)
@@ -27,7 +27,7 @@
 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 .\" POSSIBILITY OF SUCH DAMAGE.
 .\"
-.Dd April 29, 2015
+.Dd June 7, 2016
 .Dt BLACKLISTD.CONF 5
 .Os
 .Sh NAME
@@ -216,7 +216,11 @@ bnx0:ssh	*	*	*	*	3	6h
 .Xr blacklistd 8
 .Sh HISTORY
 .Nm
-appeared in
+first appeared in
 .Nx 7 .
+.Fx support for
+.Nm
+was implemented in
+.Fx 11 .
 .Sh AUTHORS
 .An Christos Zoulas

Modified: projects/vnet/contrib/blacklist/libexec/blacklistd-helper
==============================================================================
--- projects/vnet/contrib/blacklist/libexec/blacklistd-helper	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/blacklist/libexec/blacklistd-helper	Tue Jun 21 15:26:59 2016	(r302057)
@@ -10,12 +10,20 @@
 # $7 id
 
 pf=
-for f in npf pf; do
-	if [ -f "/etc/$f.conf" ]; then
-		pf="$f"
-		break
-	fi
-done
+if [ -f "/etc/ipfw-blacklist.rc" ]; then
+	pf="ipfw"
+	. /etc/ipfw-blacklist.rc
+	ipfw_offset=${ipfw_offset:-2000}
+fi
+
+if [ -z "$pf" ]; then
+	for f in npf pf ipf; do
+		if [ -f "/etc/$f.conf" ]; then
+			pf="$f"
+			break
+		fi
+	done
+fi
 
 if [ -z "$pf" ]; then
 	echo "$0: Unsupported packet filter" 1>&2
@@ -43,6 +51,21 @@ esac
 case "$1" in
 add)
 	case "$pf" in
+	ipf)
+		/sbin/ipfstat -io | /sbin/ipf -I -f - >/dev/null 2>&1
+		echo block in quick $proto from $addr/$mask to \
+			any port=$6 head port$6 | \
+			/sbin/ipf -I -f - -s >/dev/null 2>&1
+		;;
+	ipfw)
+		# use $ipfw_offset+$port for rule number
+		rule=$(($ipfw_offset + $6))
+		tname="port$6"
+		/sbin/ipfw table $tname create type addr 2>/dev/null
+		/sbin/ipfw -q table $tname add "$addr/$mask"
+		/sbin/ipfw -q add $rule drop $3 from "table("$tname")" to \
+			any dst-port $6
+		;;
 	npf)
 		/sbin/npfctl rule "$2" add block in final $proto from \
 		    "$addr/$mask" to any $port
@@ -57,6 +80,15 @@ add)
 	;;
 rem)
 	case "$pf" in
+	ipf)
+		/sbin/ipfstat -io | /sbin/ipf -I -f - >/dev/null 2>&1
+		echo block in quick $proto from $addr/$mask to \
+			any port=$6 head port$6 | \
+			/sbin/ipf -I -r -f - -s >/dev/null 2>&1
+		;;
+	ipfw)
+		/sbin/ipfw table "port$6" delete "$addr/$mask" 2>/dev/null
+		;;
 	npf)
 		/sbin/npfctl rule "$2" rem-id "$7"
 		;;
@@ -66,7 +98,13 @@ rem)
 	esac
 	;;
 flush)
-	case "$pf" in 
+	case "$pf" in
+	ipf)
+		/sbin/ipf -Z -I -Fi -s > /dev/null
+		;;
+	ipfw)
+		/sbin/ipfw table "port$6" flush 2>/dev/null
+		;;
 	npf)
 		/sbin/npfctl rule "$2" flush
 		;;

Modified: projects/vnet/contrib/bmake/ChangeLog
==============================================================================
--- projects/vnet/contrib/bmake/ChangeLog	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/ChangeLog	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,3 +1,9 @@
+2016-06-06  Simon J. Gerraty  <sjg@bad.crufty.net>
+
+	* Makefile (_MAKE_VERSION): 20160606
+	  Merge with NetBSD make, pick up
+	  o dir.c: extend mtimes cache to others via cached_stat()
+
 2016-06-04  Simon J. Gerraty  <sjg@bad.crufty.net>
 
 	* Makefile (_MAKE_VERSION): 20160604

Modified: projects/vnet/contrib/bmake/Makefile
==============================================================================
--- projects/vnet/contrib/bmake/Makefile	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/Makefile	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,7 +1,7 @@
-#	$Id: Makefile,v 1.66 2016/06/04 22:21:15 sjg Exp $
+#	$Id: Makefile,v 1.67 2016/06/07 00:46:12 sjg Exp $
 
 # Base version on src date
-_MAKE_VERSION= 20160604
+_MAKE_VERSION= 20160606
 
 PROG=	bmake
 

Modified: projects/vnet/contrib/bmake/README
==============================================================================
--- projects/vnet/contrib/bmake/README	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/README	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,47 +1,52 @@
 			       bmake
+			       *****
 
-This directory contains a port of the BSD make tool (from NetBSD)
-I have run it on SunOS,Solaris,HP-UX,AIX,IRIX,FreeBSD and Linux.
+This directory contains a port of the BSD make tool (from NetBSD).
+Since 1993 I have run it on AIX, BSDi, Darwin, FreeBSD, HP-UX, IRIX,
+Linux, Minix, OSF, Solaris, SunOS and even UTS.
+Others have run it on many more systems.
 
-Version 3 was re-worked from scratch to better facilitate
-importing newer make(1) versions from NetBSD.  The original code base
-was NetBSD-1.0, so version 3 was built by doing a fresh import of the
-NetBSD-1.0 usr.bin/make, adding the autoconf and other portability
-patches to sync it with bmake v2, and then NetBSD's make 
-of Feb 20, 2000 was imported and conflicts dealt with.
-NetBSD's make was again imported on June 6 and December 15, 2000.
+Currently each release is tested on NetBSD, FreeBSD, Solaris and Linux.
 
-In 2003 bmake switched to a date based version (first was 20030714)
+Since 2003 bmake switched to a date based version (first was 20030714)
 which generally represents the date it was last merged with NetBSD's
 make.  Since then, NetBSD's make is imported within a week of any
 interesting changes, so that bmake tracks it very closely.
 
-Building:
+Building
+========
 
-The preferred way to bootstrap bmake is:
+The preferred way to bootstrap bmake is::
 
-./bmake/boot-strap
+	./bmake/boot-strap
 
 there are a number of args - most of which get passed to configure,
 eg.
+::
 
-./bmake/boot-strap --prefix=/opt
+	./bmake/boot-strap --prefix=/opt
 
 see the boot-strap script for details.
 
+For folk that hate to read anything, since 20121212 you can also use
+the GNU standard process of::
+
+	./configure; make; make install
+
 To make much use of bmake you will need the bsd.*.mk macros or my
-portable *.mk macros.  See 
+portable *.mk macros which are included with bmake since 20121212
+and separately available from
 http://www.crufty.net/ftp/pub/sjg/mk.tar.gz
 which will be links to the latest versions.
 
-On a non-BSD system, you would want to unpack mk[-YYYYmmdd].tar.gz in
-the same directory as bmake (so ./mk and ./bmake exist), and
-./bmake/boot-strap will do the rest.
+Porting
+=======
+
+If you encounter a system that bmake does not build or work on *out of
+the box*, I welcome patches.
+If you can provide access to a suitable machine - even better.
 
-If you want to do it all by hand then read boot-strap first to get the
-idea.
+More info can be found at http://www.crufty.net/help/sjg/bmake.htm
 
-Even if you have an earlier version of bmake installed, use boot-strap
-to ensure that all goes well.
+--sjg <sjg@crufty.net>
 
---sjg

Modified: projects/vnet/contrib/bmake/config.h.in
==============================================================================
--- projects/vnet/contrib/bmake/config.h.in	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/config.h.in	Tue Jun 21 15:26:59 2016	(r302057)
@@ -324,6 +324,9 @@
 /* Define to empty if `const' does not conform to ANSI C. */
 #undef const
 
+/* Define to `int' if <sys/types.h> does not define. */
+#undef mode_t
+
 /* Define to `long int' if <sys/types.h> does not define. */
 #undef off_t
 

Modified: projects/vnet/contrib/bmake/configure
==============================================================================
Binary file (source and/or target). No diff available.

Modified: projects/vnet/contrib/bmake/configure.in
==============================================================================
--- projects/vnet/contrib/bmake/configure.in	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/configure.in	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,11 +1,11 @@
 dnl
 dnl RCSid:
-dnl	$Id: configure.in,v 1.56 2015/10/25 05:20:48 sjg Exp $
+dnl	$Id: configure.in,v 1.57 2016/06/07 00:49:44 sjg Exp $
 dnl
 dnl Process this file with autoconf to produce a configure script
 dnl
 AC_PREREQ(2.50)
-AC_INIT([bmake], [20151022], [sjg@NetBSD.org])
+AC_INIT([bmake], [20160606], [sjg@NetBSD.org])
 AC_CONFIG_HEADERS(config.h)
 
 dnl make srcdir absolute
@@ -148,6 +148,7 @@ dnl Checks for typedefs, structures, and
 AC_C___ATTRIBUTE__
 AC_C_BIGENDIAN
 AC_C_CONST
+AC_TYPE_MODE_T
 AC_TYPE_OFF_T
 AC_TYPE_PID_T
 AC_TYPE_SIZE_T

Modified: projects/vnet/contrib/bmake/dir.c
==============================================================================
--- projects/vnet/contrib/bmake/dir.c	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/dir.c	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,4 +1,4 @@
-/*	$NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $	*/
+/*	$NetBSD: dir.c,v 1.68 2016/06/07 00:40:00 sjg Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -70,14 +70,14 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $";
+static char rcsid[] = "$NetBSD: dir.c,v 1.68 2016/06/07 00:40:00 sjg Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
 #if 0
 static char sccsid[] = "@(#)dir.c	8.2 (Berkeley) 1/2/94";
 #else
-__RCSID("$NetBSD: dir.c,v 1.67 2013/03/05 22:01:43 christos Exp $");
+__RCSID("$NetBSD: dir.c,v 1.68 2016/06/07 00:40:00 sjg Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -244,6 +244,7 @@ static Hash_Table mtimes;   /* Results o
 			     * be two rules to update a single file, so this
 			     * should be ok, but... */
 
+static Hash_Table lmtimes;  /* same as mtimes but for lstat */
 
 static int DirFindName(const void *, const void *);
 static int DirMatchFiles(const char *, Path *, Lst);
@@ -256,6 +257,80 @@ static char *DirLookupSubdir(Path *, con
 static char *DirFindDot(Boolean, const char *, const char *);
 static char *DirLookupAbs(Path *, const char *, const char *);
 
+
+/*
+ * We use stat(2) a lot, cache the results
+ * mtime and mode are all we care about.
+ */
+struct cache_st {
+    time_t mtime;
+    mode_t  mode;
+};
+
+/* minimize changes below */
+static time_t
+Hash_GetTimeValue(Hash_Entry *entry)
+{
+    struct cache_st *cst;
+
+    cst = entry->clientPtr;
+    return cst->mtime;
+}
+
+#define CST_LSTAT 1
+#define CST_UPDATE 2
+
+static int
+cached_stats(Hash_Table *htp, const char *pathname, struct stat *st, int flags)
+{
+    Hash_Entry *entry;
+    struct cache_st *cst;
+    int rc;
+
+    if (!pathname || !pathname[0])
+	return -1;
+
+    entry = Hash_FindEntry(htp, pathname);
+
+    if (entry && (flags & CST_UPDATE) == 0) {
+	cst = entry->clientPtr;
+
+	memset(st, 0, sizeof(*st));
+	st->st_mtime = cst->mtime;
+	st->st_mode = cst->mode;
+	return 0;
+    }
+
+    rc = (flags & CST_LSTAT) ? lstat(pathname, st) : stat(pathname, st);
+    if (rc == -1)
+	return -1;
+
+    if (st->st_mtime == 0)
+	st->st_mtime = 1;      /* avoid confusion with missing file */
+
+    if (!entry)
+	entry = Hash_CreateEntry(htp, pathname, NULL);
+    if (!entry->clientPtr)
+	entry->clientPtr = bmake_malloc(sizeof(*cst));
+    cst = entry->clientPtr;
+    cst->mtime = st->st_mtime;
+    cst->mode = st->st_mode;
+
+    return 0;
+}
+
+int
+cached_stat(const char *pathname, void *st)
+{
+    return cached_stats(&mtimes, pathname, st, 0);
+}
+
+int
+cached_lstat(const char *pathname, void *st)
+{
+    return cached_stats(&lmtimes, pathname, st, CST_LSTAT);
+}
+
 /*-
  *-----------------------------------------------------------------------
  * Dir_Init --
@@ -274,6 +349,7 @@ Dir_Init(const char *cdname)
     dirSearchPath = Lst_Init(FALSE);
     openDirectories = Lst_Init(FALSE);
     Hash_InitTable(&mtimes, 0);
+    Hash_InitTable(&lmtimes, 0);
 
     Dir_InitCur(cdname);
 
@@ -901,7 +977,6 @@ static char *
 DirLookupSubdir(Path *p, const char *name)
 {
     struct stat	  stb;		/* Buffer for stat, if necessary */
-    Hash_Entry	 *entry;	/* Entry for mtimes table */
     char 	 *file;		/* the current filename to check */
 
     if (p != dot) {
@@ -917,9 +992,7 @@ DirLookupSubdir(Path *p, const char *nam
 	fprintf(debug_file, "checking %s ...\n", file);
     }
 
-    if (stat(file, &stb) == 0) {
-	if (stb.st_mtime == 0)
-		stb.st_mtime = 1;
+    if (cached_stat(file, &stb) == 0) {
 	/*
 	 * Save the modification time so if it's needed, we don't have
 	 * to fetch it again.
@@ -928,8 +1001,6 @@ DirLookupSubdir(Path *p, const char *nam
 	    fprintf(debug_file, "   Caching %s for %s\n", Targ_FmtTime(stb.st_mtime),
 		    file);
 	}
-	entry = Hash_CreateEntry(&mtimes, file, NULL);
-	Hash_SetTimeValue(entry, stb.st_mtime);
 	nearmisses += 1;
 	return (file);
     }
@@ -1312,15 +1383,11 @@ Dir_FindFile(const char *name, Lst path)
 	    fprintf(debug_file, "   got it (in mtime cache)\n");
 	}
 	return(bmake_strdup(name));
-    } else if (stat(name, &stb) == 0) {
-	if (stb.st_mtime == 0)
-		stb.st_mtime = 1;
-	entry = Hash_CreateEntry(&mtimes, name, NULL);
+    } else if (cached_stat(name, &stb) == 0) {
 	if (DEBUG(DIR)) {
 	    fprintf(debug_file, "   Caching %s for %s\n", Targ_FmtTime(stb.st_mtime),
 		    name);
 	}
-	Hash_SetTimeValue(entry, stb.st_mtime);
 	return (bmake_strdup(name));
     } else {
 	if (DEBUG(DIR)) {
@@ -1368,7 +1435,7 @@ Dir_FindHereOrAbove(char *here, char *se
 
 		/* try and stat(2) it ... */
 		snprintf(try, sizeof(try), "%s/%s", dirbase, search_path);
-		if (stat(try, &st) != -1) {
+		if (cached_stat(try, &st) != -1) {
 			/*
 			 * success!  if we found a file, chop off
 			 * the filename so we return a directory.
@@ -1489,12 +1556,12 @@ Dir_MTime(GNode *gn, Boolean recheck)
     else
 	entry = NULL;
     if (entry != NULL) {
+	stb.st_mtime = Hash_GetTimeValue(entry);
 	if (DEBUG(DIR)) {
 	    fprintf(debug_file, "Using cached time %s for %s\n",
-		    Targ_FmtTime(Hash_GetTimeValue(entry)), fullName);
+		    Targ_FmtTime(stb.st_mtime), fullName);
 	}
-	stb.st_mtime = Hash_GetTimeValue(entry);
-    } else if (stat(fullName, &stb) < 0) {
+    } else if (cached_stats(&mtimes, fullName, &stb, recheck ? CST_UPDATE : 0) < 0) {
 	if (gn->type & OP_MEMBER) {
 	    if (fullName != gn->path)
 		free(fullName);
@@ -1502,18 +1569,8 @@ Dir_MTime(GNode *gn, Boolean recheck)
 	} else {
 	    stb.st_mtime = 0;
 	}
-    } else {
-	if (stb.st_mtime == 0) {
-		/*
-		 * 0 handled specially by the code, if the time is really 0,
-		 * return something else instead
-		 */
-		stb.st_mtime = 1;
-	}
-	entry = Hash_CreateEntry(&mtimes, fullName, NULL);
-	Hash_SetTimeValue(entry, stb.st_mtime);
     }
-	
+
     if (fullName && gn->path == NULL) {
 	gn->path = fullName;
     }

Modified: projects/vnet/contrib/bmake/hash.h
==============================================================================
--- projects/vnet/contrib/bmake/hash.h	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/hash.h	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,4 +1,4 @@
-/*	$NetBSD: hash.h,v 1.10 2009/01/24 10:59:09 dsl Exp $	*/
+/*	$NetBSD: hash.h,v 1.11 2016/06/07 00:40:00 sjg Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990 The Regents of the University of California.
@@ -89,10 +89,7 @@ typedef struct Hash_Entry {
     struct Hash_Entry *next;		/* Used to link together all the
     					 * entries associated with the same
 					 * bucket. */
-    union {
-	void	      *clientPtr;	/* Arbitrary pointer */
-	time_t	      clientTime;	/* Arbitrary Time */
-    } clientInfo;
+    void	      *clientPtr;	/* Arbitrary pointer */
     unsigned	      namehash;		/* hash value of key */
     char	      name[1];		/* key string */
 } Hash_Entry;
@@ -125,8 +122,7 @@ typedef struct Hash_Search {
  *     Hash_Entry *h;
  */
 
-#define Hash_GetValue(h) ((h)->clientInfo.clientPtr)
-#define Hash_GetTimeValue(h) ((h)->clientInfo.clientTime)
+#define Hash_GetValue(h) ((h)->clientPtr)
 
 /*
  * Hash_SetValue(h, val);
@@ -134,8 +130,7 @@ typedef struct Hash_Search {
  *     char *val;
  */
 
-#define Hash_SetValue(h, val) ((h)->clientInfo.clientPtr = (val))
-#define Hash_SetTimeValue(h, val) ((h)->clientInfo.clientTime = (val))
+#define Hash_SetValue(h, val) ((h)->clientPtr = (val))
 
 /*
  * Hash_Size(n) returns the number of words in an object of n bytes

Modified: projects/vnet/contrib/bmake/main.c
==============================================================================
--- projects/vnet/contrib/bmake/main.c	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/main.c	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,4 +1,4 @@
-/*	$NetBSD: main.c,v 1.245 2016/06/03 01:21:59 sjg Exp $	*/
+/*	$NetBSD: main.c,v 1.247 2016/06/05 01:39:17 christos Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -69,7 +69,7 @@
  */
 
 #ifndef MAKE_NATIVE
-static char rcsid[] = "$NetBSD: main.c,v 1.245 2016/06/03 01:21:59 sjg Exp $";
+static char rcsid[] = "$NetBSD: main.c,v 1.247 2016/06/05 01:39:17 christos Exp $";
 #else
 #include <sys/cdefs.h>
 #ifndef lint
@@ -81,7 +81,7 @@ __COPYRIGHT("@(#) Copyright (c) 1988, 19
 #if 0
 static char sccsid[] = "@(#)main.c	8.3 (Berkeley) 3/19/94";
 #else
-__RCSID("$NetBSD: main.c,v 1.245 2016/06/03 01:21:59 sjg Exp $");
+__RCSID("$NetBSD: main.c,v 1.247 2016/06/05 01:39:17 christos Exp $");
 #endif
 #endif /* not lint */
 #endif
@@ -1906,15 +1906,11 @@ cached_realpath(const char *pathname, ch
     rp = Var_Value(pathname, cache, &cp);
     if (rp) {
 	/* a hit */
-	if (resolved)
-	    strlcpy(resolved, rp, MAXPATHLEN);
-	else
-	    resolved = bmake_strdup(rp);
-    } else {
-	if ((rp = realpath(pathname, resolved))) {
-	    Var_Set(pathname, rp, cache, 0);
-	}
+	strlcpy(resolved, rp, MAXPATHLEN);
+    } else if ((rp = realpath(pathname, resolved))) {
+	Var_Set(pathname, rp, cache, 0);
     }
+    free(cp);
     return rp ? resolved : NULL;
 }
 

Modified: projects/vnet/contrib/bmake/make.h
==============================================================================
--- projects/vnet/contrib/bmake/make.h	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/make.h	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,4 +1,4 @@
-/*	$NetBSD: make.h,v 1.99 2016/06/03 01:21:59 sjg Exp $	*/
+/*	$NetBSD: make.h,v 1.100 2016/06/07 00:40:00 sjg Exp $	*/
 
 /*
  * Copyright (c) 1988, 1989, 1990, 1993
@@ -506,6 +506,8 @@ void Main_ExportMAKEFLAGS(Boolean);
 Boolean Main_SetObjdir(const char *);
 int mkTempFile(const char *, char **);
 int str2Lst_Append(Lst, char *, const char *);
+int cached_lstat(const char *, void *);
+int cached_stat(const char *, void *);
 
 #define	VARF_UNDEFERR	1
 #define	VARF_WANTRES	2

Modified: projects/vnet/contrib/bmake/meta.c
==============================================================================
--- projects/vnet/contrib/bmake/meta.c	Tue Jun 21 15:18:22 2016	(r302056)
+++ projects/vnet/contrib/bmake/meta.c	Tue Jun 21 15:26:59 2016	(r302057)
@@ -1,4 +1,4 @@
-/*      $NetBSD: meta.c,v 1.60 2016/06/04 22:17:14 sjg Exp $ */
+/*      $NetBSD: meta.c,v 1.61 2016/06/07 00:40:00 sjg Exp $ */

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201606211527.u5LFR0dv026077>