aboutsummaryrefslogtreecommitdiff
path: root/tools/build
diff options
context:
space:
mode:
Diffstat (limited to 'tools/build')
-rw-r--r--tools/build/Makefile114
-rw-r--r--tools/build/Makefile.depend1
-rwxr-xr-xtools/build/beinstall.sh3
-rw-r--r--tools/build/bootstrap-m4/Makefile1
-rw-r--r--tools/build/bootstrap-m4/inittokenizer.c2
-rwxr-xr-xtools/build/check-links.sh1
-rwxr-xr-xtools/build/checkstyle9.pl2696
-rw-r--r--tools/build/cross-build/Makefile1
-rw-r--r--tools/build/cross-build/capsicum_stubs.c2
-rw-r--r--tools/build/cross-build/date.sh1
-rw-r--r--tools/build/cross-build/fake_chflags/Makefile1
-rw-r--r--tools/build/cross-build/fake_chflags/chflags1
-rw-r--r--tools/build/cross-build/fake_sysctl.c2
-rw-r--r--tools/build/cross-build/fgetln_fallback.c2
-rw-r--r--tools/build/cross-build/hostname.sh1
-rw-r--r--tools/build/cross-build/include/common/db.h2
-rw-r--r--tools/build/cross-build/include/common/getopt.h2
-rw-r--r--tools/build/cross-build/include/common/grp.h2
-rw-r--r--tools/build/cross-build/include/common/libcasper.h2
-rw-r--r--tools/build/cross-build/include/common/libelf.h2
-rw-r--r--tools/build/cross-build/include/common/libutil.h2
-rw-r--r--tools/build/cross-build/include/common/machine/endian.h2
-rw-r--r--tools/build/cross-build/include/common/netconfig.h2
-rw-r--r--tools/build/cross-build/include/common/netdb.h2
-rw-r--r--tools/build/cross-build/include/common/osreldate.h2
-rw-r--r--tools/build/cross-build/include/common/pwd.h6
-rw-r--r--tools/build/cross-build/include/common/string.h2
-rw-r--r--tools/build/cross-build/include/common/sys/_iovec.h2
-rw-r--r--tools/build/cross-build/include/common/sys/_null.h2
-rw-r--r--tools/build/cross-build/include/common/sys/_types.h2
-rw-r--r--tools/build/cross-build/include/common/sys/cdefs.h18
-rw-r--r--tools/build/cross-build/include/common/sys/ctype.h2
-rw-r--r--tools/build/cross-build/include/common/sys/limits.h2
-rw-r--r--tools/build/cross-build/include/common/sys/mman.h2
-rw-r--r--tools/build/cross-build/include/common/sys/param.h2
-rw-r--r--tools/build/cross-build/include/common/sys/stdint.h2
-rw-r--r--tools/build/cross-build/include/common/sys/sysctl.h2
-rw-r--r--tools/build/cross-build/include/common/sys/types.h6
-rw-r--r--tools/build/cross-build/include/common/unistd.h7
-rw-r--r--tools/build/cross-build/include/linux/__unused_workaround_end.h2
-rw-r--r--tools/build/cross-build/include/linux/__unused_workaround_start.h2
-rw-r--r--tools/build/cross-build/include/linux/__used_workaround_end.h2
-rw-r--r--tools/build/cross-build/include/linux/__used_workaround_start.h2
-rw-r--r--tools/build/cross-build/include/linux/ctype.h2
-rw-r--r--tools/build/cross-build/include/linux/endian.h2
-rw-r--r--tools/build/cross-build/include/linux/errno.h2
-rw-r--r--tools/build/cross-build/include/linux/fcntl.h2
-rw-r--r--tools/build/cross-build/include/linux/libutil.h3
-rw-r--r--tools/build/cross-build/include/linux/limits.h2
-rw-r--r--tools/build/cross-build/include/linux/nbtool_config.h2
-rw-r--r--tools/build/cross-build/include/linux/netdb.h2
-rw-r--r--tools/build/cross-build/include/linux/regex.h2
-rw-r--r--tools/build/cross-build/include/linux/resolv.h2
-rw-r--r--tools/build/cross-build/include/linux/signal.h2
-rw-r--r--tools/build/cross-build/include/linux/spawn.h2
-rw-r--r--tools/build/cross-build/include/linux/stdio.h2
-rw-r--r--tools/build/cross-build/include/linux/stdlib.h2
-rw-r--r--tools/build/cross-build/include/linux/string.h5
-rw-r--r--tools/build/cross-build/include/linux/strings.h38
-rw-r--r--tools/build/cross-build/include/linux/sys/disk.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/endian.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/filio.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/ioccom.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/mount.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/param.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/stat.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/time.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/ttycom.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/types.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/ucred.h2
-rw-r--r--tools/build/cross-build/include/linux/sys/wait.h47
-rw-r--r--tools/build/cross-build/include/linux/time.h2
-rw-r--r--tools/build/cross-build/include/linux/unistd.h12
-rw-r--r--tools/build/cross-build/include/linux/wctype.h2
-rw-r--r--tools/build/cross-build/include/mac/libutil.h2
-rw-r--r--tools/build/cross-build/include/mac/nbtool_config.h2
-rw-r--r--tools/build/cross-build/include/mac/signal.h2
-rw-r--r--tools/build/cross-build/include/mac/stdlib.h3
-rw-r--r--tools/build/cross-build/include/mac/string.h2
-rw-r--r--tools/build/cross-build/include/mac/sys/_types.h2
-rw-r--r--tools/build/cross-build/include/mac/sys/endian.h2
-rw-r--r--tools/build/cross-build/include/mac/sys/linker_set.h140
-rw-r--r--tools/build/cross-build/include/mac/sys/stat.h2
-rw-r--r--tools/build/cross-build/include/mac/sys/time.h2
-rw-r--r--tools/build/cross-build/include/mac/unistd.h2
-rw-r--r--tools/build/cross-build/mkimg/Makefile1
-rw-r--r--tools/build/cross-build/mkimg/Makefile.depend1
-rw-r--r--tools/build/cross-build/progname.c2
-rw-r--r--tools/build/cross-build/secure_getenv.c16
-rwxr-xr-xtools/build/depend-cleanup.sh183
-rw-r--r--tools/build/dummy.c1
-rw-r--r--tools/build/fcntl.h2
-rwxr-xr-xtools/build/freebsd-yeet.pl147
-rw-r--r--tools/build/fspacectl.c2
-rw-r--r--tools/build/futimens.c2
-rw-r--r--tools/build/libc-bootstrap/libc_private.h2
-rw-r--r--tools/build/libc-bootstrap/namespace.h2
-rw-r--r--tools/build/libc-bootstrap/un-namespace.h2
-rwxr-xr-xtools/build/make.py105
-rw-r--r--tools/build/make_check/Makefile21
-rw-r--r--tools/build/make_check/check.mk1
-rw-r--r--tools/build/make_check/regress.t1
-rw-r--r--tools/build/make_check/shell_test.sh1
-rw-r--r--tools/build/mk/Makefile.boot15
-rw-r--r--tools/build/mk/Makefile.boot.pre1
-rw-r--r--tools/build/mk/OptionalObsoleteFiles.inc2500
-rw-r--r--tools/build/mk/bsd.lib.mk1
-rw-r--r--tools/build/mk/bsd.prog.mk1
-rw-r--r--tools/build/options/INIT_ALL21
-rw-r--r--tools/build/options/LIBC_MALLOC13
-rw-r--r--tools/build/options/WITHOUT_ACCT1
-rw-r--r--tools/build/options/WITHOUT_ACPI1
-rw-r--r--tools/build/options/WITHOUT_APM1
-rw-r--r--tools/build/options/WITHOUT_ASSERT_DEBUG1
-rw-r--r--tools/build/options/WITHOUT_AT1
-rw-r--r--tools/build/options/WITHOUT_ATM3
-rw-r--r--tools/build/options/WITHOUT_AUDIT1
-rw-r--r--tools/build/options/WITHOUT_AUTHPF1
-rw-r--r--tools/build/options/WITHOUT_AUTOFS1
-rw-r--r--tools/build/options/WITHOUT_AUTO_OBJ1
-rw-r--r--tools/build/options/WITHOUT_BHYVE3
-rw-r--r--tools/build/options/WITHOUT_BIND_NOW1
-rw-r--r--tools/build/options/WITHOUT_BLACKLIST1
-rw-r--r--tools/build/options/WITHOUT_BLACKLIST_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_BLUETOOTH1
-rw-r--r--tools/build/options/WITHOUT_BOOT1
-rw-r--r--tools/build/options/WITHOUT_BOOTPARAMD1
-rw-r--r--tools/build/options/WITHOUT_BOOTPD1
-rw-r--r--tools/build/options/WITHOUT_BSDINSTALL1
-rw-r--r--tools/build/options/WITHOUT_BSD_CPIO1
-rw-r--r--tools/build/options/WITHOUT_BSNMP1
-rw-r--r--tools/build/options/WITHOUT_BZIP21
-rw-r--r--tools/build/options/WITHOUT_BZIP2_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_CALENDAR1
-rw-r--r--tools/build/options/WITHOUT_CAPSICUM3
-rw-r--r--tools/build/options/WITHOUT_CAROOT1
-rw-r--r--tools/build/options/WITHOUT_CASPER3
-rw-r--r--tools/build/options/WITHOUT_CCD1
-rw-r--r--tools/build/options/WITHOUT_CDDL1
-rw-r--r--tools/build/options/WITHOUT_CLANG1
-rw-r--r--tools/build/options/WITHOUT_CLANG_BOOTSTRAP1
-rw-r--r--tools/build/options/WITHOUT_CLANG_FULL1
-rw-r--r--tools/build/options/WITHOUT_CLANG_IS_CC6
-rw-r--r--tools/build/options/WITHOUT_CLEAN1
-rw-r--r--tools/build/options/WITHOUT_CPP1
-rw-r--r--tools/build/options/WITHOUT_CROSS_COMPILER1
-rw-r--r--tools/build/options/WITHOUT_CRYPT1
-rw-r--r--tools/build/options/WITHOUT_CUSE1
-rw-r--r--tools/build/options/WITHOUT_CXGBETOOL1
-rw-r--r--tools/build/options/WITHOUT_CXX8
-rw-r--r--tools/build/options/WITHOUT_DEBUG_FILES1
-rw-r--r--tools/build/options/WITHOUT_DIALOG1
-rw-r--r--tools/build/options/WITHOUT_DICT1
-rw-r--r--tools/build/options/WITHOUT_DMAGENT1
-rw-r--r--tools/build/options/WITHOUT_DOCCOMPRESS1
-rw-r--r--tools/build/options/WITHOUT_DTRACE1
-rw-r--r--tools/build/options/WITHOUT_DYNAMICROOT1
-rw-r--r--tools/build/options/WITHOUT_EE1
-rw-r--r--tools/build/options/WITHOUT_EFI1
-rw-r--r--tools/build/options/WITHOUT_ELFTOOLCHAIN_BOOTSTRAP1
-rw-r--r--tools/build/options/WITHOUT_EXAMPLES1
-rw-r--r--tools/build/options/WITHOUT_FDT1
-rw-r--r--tools/build/options/WITHOUT_FILE1
-rw-r--r--tools/build/options/WITHOUT_FINGER1
-rw-r--r--tools/build/options/WITHOUT_FLOPPY1
-rw-r--r--tools/build/options/WITHOUT_FORMAT_EXTENSIONS1
-rw-r--r--tools/build/options/WITHOUT_FORTH1
-rw-r--r--tools/build/options/WITHOUT_FP_LIBC1
-rw-r--r--tools/build/options/WITHOUT_FREEBSD_UPDATE1
-rw-r--r--tools/build/options/WITHOUT_FTP1
-rw-r--r--tools/build/options/WITHOUT_GAMES1
-rw-r--r--tools/build/options/WITHOUT_GCC1
-rw-r--r--tools/build/options/WITHOUT_GCC_BOOTSTRAP1
-rw-r--r--tools/build/options/WITHOUT_GCOV1
-rw-r--r--tools/build/options/WITHOUT_GDB1
-rw-r--r--tools/build/options/WITHOUT_GH_BC1
-rw-r--r--tools/build/options/WITHOUT_GNU_DIFF1
-rw-r--r--tools/build/options/WITHOUT_GOOGLETEST1
-rw-r--r--tools/build/options/WITHOUT_GPIO1
-rw-r--r--tools/build/options/WITHOUT_GSSAPI1
-rw-r--r--tools/build/options/WITHOUT_HAST1
-rw-r--r--tools/build/options/WITHOUT_HTML1
-rw-r--r--tools/build/options/WITHOUT_HYPERV1
-rw-r--r--tools/build/options/WITHOUT_ICONV1
-rw-r--r--tools/build/options/WITHOUT_INCLUDES1
-rw-r--r--tools/build/options/WITHOUT_INET1
-rw-r--r--tools/build/options/WITHOUT_INET61
-rw-r--r--tools/build/options/WITHOUT_INET6_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_INETD1
-rw-r--r--tools/build/options/WITHOUT_INET_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_INFO1
-rw-r--r--tools/build/options/WITHOUT_INSTALLLIB1
-rw-r--r--tools/build/options/WITHOUT_IPFILTER1
-rw-r--r--tools/build/options/WITHOUT_IPFW1
-rw-r--r--tools/build/options/WITHOUT_IPSEC_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_ISCSI1
-rw-r--r--tools/build/options/WITHOUT_JAIL1
-rw-r--r--tools/build/options/WITHOUT_KDUMP1
-rw-r--r--tools/build/options/WITHOUT_KERBEROS1
-rw-r--r--tools/build/options/WITHOUT_KERBEROS_SUPPORT4
-rw-r--r--tools/build/options/WITHOUT_KERNEL_RETPOLINE1
-rw-r--r--tools/build/options/WITHOUT_KERNEL_SYMBOLS4
-rw-r--r--tools/build/options/WITHOUT_KVM1
-rw-r--r--tools/build/options/WITHOUT_KVM_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_LDNS1
-rw-r--r--tools/build/options/WITHOUT_LDNS_UTILS1
-rw-r--r--tools/build/options/WITHOUT_LEGACY_CONSOLE1
-rw-r--r--tools/build/options/WITHOUT_LIB321
-rw-r--r--tools/build/options/WITHOUT_LLD1
-rw-r--r--tools/build/options/WITHOUT_LLDB1
-rw-r--r--tools/build/options/WITHOUT_LLD_BOOTSTRAP1
-rw-r--r--tools/build/options/WITHOUT_LLD_IS_LD7
-rw-r--r--tools/build/options/WITHOUT_LLVM_ASSERTIONS1
-rw-r--r--tools/build/options/WITHOUT_LLVM_COV1
-rw-r--r--tools/build/options/WITHOUT_LLVM_CXXFILT1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_AARCH641
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_ALL1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_ARM1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_MIPS1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_POWERPC1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_RISCV1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_SPARC1
-rw-r--r--tools/build/options/WITHOUT_LLVM_TARGET_X861
-rw-r--r--tools/build/options/WITHOUT_LOADER_GELI1
-rw-r--r--tools/build/options/WITHOUT_LOADER_KBOOT1
-rw-r--r--tools/build/options/WITHOUT_LOADER_LUA1
-rw-r--r--tools/build/options/WITHOUT_LOADER_OFW1
-rw-r--r--tools/build/options/WITHOUT_LOADER_UBOOT1
-rw-r--r--tools/build/options/WITHOUT_LOADER_ZFS1
-rw-r--r--tools/build/options/WITHOUT_LOCALES1
-rw-r--r--tools/build/options/WITHOUT_LOCATE1
-rw-r--r--tools/build/options/WITHOUT_LPR1
-rw-r--r--tools/build/options/WITHOUT_LS_COLORS1
-rw-r--r--tools/build/options/WITHOUT_MACHDEP_OPTIMIZATIONS1
-rw-r--r--tools/build/options/WITHOUT_MAIL1
-rw-r--r--tools/build/options/WITHOUT_MAILWRAPPER1
-rw-r--r--tools/build/options/WITHOUT_MAKE1
-rw-r--r--tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX1
-rw-r--r--tools/build/options/WITHOUT_MALLOC_PRODUCTION1
-rw-r--r--tools/build/options/WITHOUT_MAN1
-rw-r--r--tools/build/options/WITHOUT_MANCOMPRESS1
-rw-r--r--tools/build/options/WITHOUT_MANSPLITPKG1
-rw-r--r--tools/build/options/WITHOUT_MAN_UTILS1
-rw-r--r--tools/build/options/WITHOUT_MLX5TOOL1
-rw-r--r--tools/build/options/WITHOUT_MODULE_DRM1
-rw-r--r--tools/build/options/WITHOUT_MODULE_DRM21
-rw-r--r--tools/build/options/WITHOUT_NCP1
-rw-r--r--tools/build/options/WITHOUT_NETCAT1
-rw-r--r--tools/build/options/WITHOUT_NETGRAPH1
-rw-r--r--tools/build/options/WITHOUT_NETGRAPH_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_NETLINK3
-rw-r--r--tools/build/options/WITHOUT_NETLINK_SUPPORT4
-rw-r--r--tools/build/options/WITHOUT_NIS1
-rw-r--r--tools/build/options/WITHOUT_NLS1
-rw-r--r--tools/build/options/WITHOUT_NLS_CATALOGS1
-rw-r--r--tools/build/options/WITHOUT_NS_CACHING1
-rw-r--r--tools/build/options/WITHOUT_NTP1
-rw-r--r--tools/build/options/WITHOUT_NUAGEINIT1
-rw-r--r--tools/build/options/WITHOUT_NVME1
-rw-r--r--tools/build/options/WITHOUT_OFED5
-rw-r--r--tools/build/options/WITHOUT_OPENMP1
-rw-r--r--tools/build/options/WITHOUT_OPENSSH1
-rw-r--r--tools/build/options/WITHOUT_OPENSSL1
-rw-r--r--tools/build/options/WITHOUT_PAM1
-rw-r--r--tools/build/options/WITHOUT_PAM_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_PF1
-rw-r--r--tools/build/options/WITHOUT_PIE1
-rw-r--r--tools/build/options/WITHOUT_PKGBOOTSTRAP1
-rw-r--r--tools/build/options/WITHOUT_PMC1
-rw-r--r--tools/build/options/WITHOUT_PORTSNAP4
-rw-r--r--tools/build/options/WITHOUT_PPP1
-rw-r--r--tools/build/options/WITHOUT_PROFILE1
-rw-r--r--tools/build/options/WITHOUT_PTHREADS_ASSERTIONS1
-rw-r--r--tools/build/options/WITHOUT_QUOTAS1
-rw-r--r--tools/build/options/WITHOUT_RADIUS_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_RBOOTD1
-rw-r--r--tools/build/options/WITHOUT_RELRO4
-rw-r--r--tools/build/options/WITHOUT_REPRODUCIBLE_BUILD1
-rw-r--r--tools/build/options/WITHOUT_RESCUE1
-rw-r--r--tools/build/options/WITHOUT_RETPOLINE1
-rw-r--r--tools/build/options/WITHOUT_ROUTED1
-rw-r--r--tools/build/options/WITHOUT_SCTP_SUPPORT4
-rw-r--r--tools/build/options/WITHOUT_SENDMAIL1
-rw-r--r--tools/build/options/WITHOUT_SERVICESDB1
-rw-r--r--tools/build/options/WITHOUT_SETUID_LOGIN1
-rw-r--r--tools/build/options/WITHOUT_SHAREDOCS1
-rw-r--r--tools/build/options/WITHOUT_SHARED_TOOLCHAIN6
-rw-r--r--tools/build/options/WITHOUT_SOURCELESS1
-rw-r--r--tools/build/options/WITHOUT_SOURCELESS_HOST1
-rw-r--r--tools/build/options/WITHOUT_SOURCELESS_UCODE1
-rw-r--r--tools/build/options/WITHOUT_SPLIT_KERNEL_DEBUG3
-rw-r--r--tools/build/options/WITHOUT_SSP3
-rw-r--r--tools/build/options/WITHOUT_STATS1
-rw-r--r--tools/build/options/WITHOUT_SYSCONS1
-rw-r--r--tools/build/options/WITHOUT_SYSTEM_COMPILER1
-rw-r--r--tools/build/options/WITHOUT_SYSTEM_LINKER1
-rw-r--r--tools/build/options/WITHOUT_TALK1
-rw-r--r--tools/build/options/WITHOUT_TCP_WRAPPERS1
-rw-r--r--tools/build/options/WITHOUT_TCSH1
-rw-r--r--tools/build/options/WITHOUT_TELNET1
-rw-r--r--tools/build/options/WITHOUT_TESTS1
-rw-r--r--tools/build/options/WITHOUT_TESTS_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_TEXTPROC1
-rw-r--r--tools/build/options/WITHOUT_TFTP1
-rw-r--r--tools/build/options/WITHOUT_TOOLCHAIN3
-rw-r--r--tools/build/options/WITHOUT_UNBOUND1
-rw-r--r--tools/build/options/WITHOUT_UNDEFINED_VERSION2
-rw-r--r--tools/build/options/WITHOUT_UNIFIED_OBJDIR6
-rw-r--r--tools/build/options/WITHOUT_USB1
-rw-r--r--tools/build/options/WITHOUT_USB_GADGET_EXAMPLES1
-rw-r--r--tools/build/options/WITHOUT_UTMPX1
-rw-r--r--tools/build/options/WITHOUT_VI1
-rw-r--r--tools/build/options/WITHOUT_VT1
-rw-r--r--tools/build/options/WITHOUT_WARNS1
-rw-r--r--tools/build/options/WITHOUT_WERROR1
-rw-r--r--tools/build/options/WITHOUT_WIRELESS1
-rw-r--r--tools/build/options/WITHOUT_WIRELESS_SUPPORT1
-rw-r--r--tools/build/options/WITHOUT_WPA_SUPPLICANT_EAPOL1
-rw-r--r--tools/build/options/WITHOUT_ZFS10
-rw-r--r--tools/build/options/WITHOUT_ZONEINFO1
-rw-r--r--tools/build/options/WITH_AUTO_OBJ1
-rw-r--r--tools/build/options/WITH_BEARSSL3
-rw-r--r--tools/build/options/WITH_BHYVE_SNAPSHOT1
-rw-r--r--tools/build/options/WITH_BIND_NOW8
-rw-r--r--tools/build/options/WITH_CCACHE_BUILD1
-rw-r--r--tools/build/options/WITH_CLANG1
-rw-r--r--tools/build/options/WITH_CLANG_BOOTSTRAP1
-rw-r--r--tools/build/options/WITH_CLANG_EXTRAS1
-rw-r--r--tools/build/options/WITH_CLANG_FORMAT1
-rw-r--r--tools/build/options/WITH_CLANG_FULL1
-rw-r--r--tools/build/options/WITH_CLANG_IS_CC6
-rw-r--r--tools/build/options/WITH_CTF1
-rw-r--r--tools/build/options/WITH_CXGBETOOL1
-rw-r--r--tools/build/options/WITH_CXX5
-rw-r--r--tools/build/options/WITH_DEBUG_FILES1
-rw-r--r--tools/build/options/WITH_DETECT_TZ_CHANGES1
-rw-r--r--tools/build/options/WITH_DIALOG6
-rw-r--r--tools/build/options/WITH_DIRDEPS_BUILD12
-rw-r--r--tools/build/options/WITH_DIRDEPS_CACHE1
-rw-r--r--tools/build/options/WITH_DISK_IMAGE_TOOLS_BOOTSTRAP6
-rw-r--r--tools/build/options/WITH_DTRACE_ASAN4
-rw-r--r--tools/build/options/WITH_DTRACE_TESTS1
-rw-r--r--tools/build/options/WITH_EFI1
-rw-r--r--tools/build/options/WITH_EXPERIMENTAL1
-rw-r--r--tools/build/options/WITH_EXTRA_TCP_STACKS2
-rw-r--r--tools/build/options/WITH_FDT1
-rw-r--r--tools/build/options/WITH_GCC1
-rw-r--r--tools/build/options/WITH_GCC_BOOTSTRAP1
-rw-r--r--tools/build/options/WITH_GCOV1
-rw-r--r--tools/build/options/WITH_GDB1
-rw-r--r--tools/build/options/WITH_GH_BC1
-rw-r--r--tools/build/options/WITH_GNU_DIFF1
-rw-r--r--tools/build/options/WITH_GOOGLETEST1
-rw-r--r--tools/build/options/WITH_HESIOD1
-rw-r--r--tools/build/options/WITH_HYPERV1
-rw-r--r--tools/build/options/WITH_INIT_ALL_PATTERN5
-rw-r--r--tools/build/options/WITH_INIT_ALL_ZERO4
-rw-r--r--tools/build/options/WITH_INSTALL_AS_USER1
-rw-r--r--tools/build/options/WITH_KERNEL_BIN8
-rw-r--r--tools/build/options/WITH_KERNEL_RETPOLINE1
-rw-r--r--tools/build/options/WITH_LIB323
-rw-r--r--tools/build/options/WITH_LIBSOFT1
-rw-r--r--tools/build/options/WITH_LLD1
-rw-r--r--tools/build/options/WITH_LLDB1
-rw-r--r--tools/build/options/WITH_LLD_BOOTSTRAP1
-rw-r--r--tools/build/options/WITH_LLD_IS_LD2
-rw-r--r--tools/build/options/WITH_LLVM_ASSERTIONS1
-rw-r--r--tools/build/options/WITH_LLVM_BINUTILS20
-rw-r--r--tools/build/options/WITH_LLVM_COV1
-rw-r--r--tools/build/options/WITH_LLVM_CXXFILT1
-rw-r--r--tools/build/options/WITH_LLVM_FULL_DEBUGINFO2
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_AARCH641
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_ALL1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_ARM1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_BPF1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_MIPS1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_POWERPC1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_RISCV1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_SPARC1
-rw-r--r--tools/build/options/WITH_LLVM_TARGET_X861
-rw-r--r--tools/build/options/WITH_LOADER_BIOS_TEXTONLY3
-rw-r--r--tools/build/options/WITH_LOADER_EFI_SECUREBOOT2
-rw-r--r--tools/build/options/WITH_LOADER_FIREWIRE3
-rw-r--r--tools/build/options/WITH_LOADER_GELI1
-rw-r--r--tools/build/options/WITH_LOADER_KBOOT1
-rw-r--r--tools/build/options/WITH_LOADER_LUA1
-rw-r--r--tools/build/options/WITH_LOADER_OFW1
-rw-r--r--tools/build/options/WITH_LOADER_UBOOT1
-rw-r--r--tools/build/options/WITH_LOADER_VERBOSE1
-rw-r--r--tools/build/options/WITH_LOADER_VERIEXEC1
-rw-r--r--tools/build/options/WITH_LOADER_VERIEXEC_PASS_MANIFEST1
-rw-r--r--tools/build/options/WITH_LOADER_VERIEXEC_VECTX7
-rw-r--r--tools/build/options/WITH_MALLOC_PRODUCTION1
-rw-r--r--tools/build/options/WITH_MANSPLITPKG1
-rw-r--r--tools/build/options/WITH_META_ERROR_TARGET13
-rw-r--r--tools/build/options/WITH_META_MODE1
-rw-r--r--tools/build/options/WITH_MLX5TOOL1
-rw-r--r--tools/build/options/WITH_MODULE_DRM1
-rw-r--r--tools/build/options/WITH_MODULE_DRM21
-rw-r--r--tools/build/options/WITH_NETLINK3
-rw-r--r--tools/build/options/WITH_NETLINK_SUPPORT4
-rw-r--r--tools/build/options/WITH_NVME1
-rw-r--r--tools/build/options/WITH_OFED3
-rw-r--r--tools/build/options/WITH_OFED_EXTRA1
-rw-r--r--tools/build/options/WITH_OPENLDAP1
-rw-r--r--tools/build/options/WITH_OPENMP1
-rw-r--r--tools/build/options/WITH_PIE1
-rw-r--r--tools/build/options/WITH_PROFILE5
-rw-r--r--tools/build/options/WITH_RATELIMIT1
-rw-r--r--tools/build/options/WITH_RELRO5
-rw-r--r--tools/build/options/WITH_REPRODUCIBLE_BUILD1
-rw-r--r--tools/build/options/WITH_RETPOLINE1
-rw-r--r--tools/build/options/WITH_RPCBIND_WARMSTART_SUPPORT1
-rw-r--r--tools/build/options/WITH_SENDMAIL1
-rw-r--r--tools/build/options/WITH_SHARED_TOOLCHAIN6
-rw-r--r--tools/build/options/WITH_SORT_THREADS1
-rw-r--r--tools/build/options/WITH_SSP3
-rw-r--r--tools/build/options/WITH_STAGING1
-rw-r--r--tools/build/options/WITH_STAGING_MAN1
-rw-r--r--tools/build/options/WITH_STAGING_PROG1
-rw-r--r--tools/build/options/WITH_STALE_STAGED1
-rw-r--r--tools/build/options/WITH_STATS1
-rw-r--r--tools/build/options/WITH_SYSROOT1
-rw-r--r--tools/build/options/WITH_SYSTEM_COMPILER1
-rw-r--r--tools/build/options/WITH_SYSTEM_LINKER1
-rw-r--r--tools/build/options/WITH_TCP_WRAPPERS1
-rw-r--r--tools/build/options/WITH_TOOLCHAIN2
-rw-r--r--tools/build/options/WITH_UNIFIED_OBJDIR6
-rw-r--r--tools/build/options/WITH_USB_GADGET_EXAMPLES1
-rw-r--r--tools/build/options/WITH_VERIEXEC1
-rw-r--r--tools/build/options/WITH_ZFS3
-rw-r--r--tools/build/options/WITH_ZONEINFO_LEAPSECONDS_SUPPORT1
-rw-r--r--tools/build/options/WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT1
-rwxr-xr-xtools/build/options/makeman127
-rw-r--r--tools/build/stat.h2
-rw-r--r--tools/build/stdlib.h2
-rw-r--r--tools/build/strings.h2
-rw-r--r--tools/build/test-includes/Makefile58
-rw-r--r--tools/build/test-includes/badfiles.inc326
-rw-r--r--tools/build/utimensat.c2
440 files changed, 5155 insertions, 2172 deletions
diff --git a/tools/build/Makefile b/tools/build/Makefile
index ec9b11398ae9..e60c8694d56d 100644
--- a/tools/build/Makefile
+++ b/tools/build/Makefile
@@ -1,4 +1,3 @@
-# $FreeBSD$
.PATH: ${.CURDIR}/../../include
@@ -34,7 +33,7 @@ _MACOS_SDK_DIR=${_XCODE_ROOT}/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sd
.endif
HOST_INCLUDE_ROOT=${_MACOS_SDK_DIR}/usr/include
.if !exists(${HOST_INCLUDE_ROOT}/stdio.h)
-.error "You must install the macOS SDK (try xcode-select --install)"
+.error You must install the macOS SDK (try xcode-select --install)
.endif
.else
HOST_INCLUDE_ROOT=/usr/include
@@ -68,13 +67,17 @@ INCS+= stdlib.h
SRCS+= reallocarray.c
.endif
+.if exists(${HOST_INCLUDE_ROOT}/sys/stat.h)
_WITH_UTIMENS!= grep -c utimensat ${HOST_INCLUDE_ROOT}/sys/stat.h || true
+.else
+_WITH_UTIMENS= 0
+.endif
.if ${_WITH_UTIMENS} == 0
SYSINCS+= stat.h
SRCS+= futimens.c utimensat.c
.endif
-_WITH_EXPLICIT_BZERO!= grep -c explicit_bzero ${HOST_INCLUDE_ROOT}/strings.h || true
+_WITH_EXPLICIT_BZERO!= cat ${HOST_INCLUDE_ROOT}/strings.h ${HOST_INCLUDE_ROOT}/string.h | grep -c explicit_bzero || true
.if ${_WITH_EXPLICIT_BZERO} == 0
# .PATH: ${SRCTOP}/sys/libkern
# Adding sys/libkern to .PATH breaks building the cross-build compat library
@@ -121,7 +124,13 @@ CHACHA20INCSDIR= ${INCLUDEDIR}/crypto/chacha20
CHACHA20INCS+= ${SRCTOP}/sys/crypto/chacha20/_chacha.h \
${SRCTOP}/sys/crypto/chacha20/chacha.h
+.if ${MACHINE} == "host"
+_host_arch= ${_HOST_ARCH}
+.elif ${MACHINE} == "host32"
+_host_arch= ${_HOST_ARCH32}
+.else
_host_arch=${MACHINE}
+.endif
.if ${_host_arch} == "x86_64"
# bmake on Linux/mac often prints that instead of amd64
_host_arch=amd64
@@ -150,9 +159,18 @@ INCS+= ${SRCTOP}/include/nlist.h
SYSINCS+= ${SRCTOP}/sys/sys/imgact_aout.h
SYSINCS+= ${SRCTOP}/sys/sys/nlist_aout.h
+# macOS's bitstring lacks FreeBSD-specific additions used by makefs's ZFS code
+# and Linux doesn't have it at all. Older FreeBSD versions lack recent
+# additions.
+INCS+= ${SRCTOP}/include/bitstring.h
+SYSINCS+= ${SRCTOP}/sys/sys/bitstring.h
.if ${.MAKE.OS} != "FreeBSD"
.PATH: ${.CURDIR}/cross-build
+
+# Needed by our sys/types.h wrapper
+SYSINCS+= ${SRCTOP}/sys/sys/bitcount.h
+
# dbopen() behaves differently on Linux and FreeBSD so we ensure that we
# bootstrap the FreeBSD db code. The cross-build headers #define dbopen() to
# __freebsd_dbopen() so that we don't ever use the host version
@@ -178,9 +196,17 @@ SRCS+= strtonum.c merge.c heapsort.c reallocf.c
SRCS+= rpmatch.c
.if ${.MAKE.OS} == "Linux"
-# On Linux, glibc does not provide strlcpy,strlcat or strmode.
+# On Linux, glibc does not provide strmode. It only provides strlcpy
+# and strlcat from glibc 2.38.
.PATH: ${LIBC_SRCTOP}/string
-SRCS+= strlcpy.c strlcat.c strmode.c
+SRCS+= strmode.c
+# Assume if strlcpy exists so does strlcat
+_WITH_EXPLICIT_STRLCPY!= cat ${HOST_INCLUDE_ROOT}/strings.h ${HOST_INCLUDE_ROOT}/string.h | grep -c strlcpy || true
+.if ${_WITH_EXPLICIT_STRLCPY} == 0
+SRCS+= strlcpy.c strlcat.c
+.endif
+# On Linux, glibc provides ffs* but not fls*
+SRCS+= fls.c flsl.c flsll.c
# Compile the fgetln/fgetwln/closefrom fallback code from libbsd:
SRCS+= fgetln_fallback.c fgetwln_fallback.c closefrom.c
CFLAGS.closefrom.c+= -DSTDC_HEADERS -DHAVE_SYS_DIR_H -DHAVE_DIRENT_H \
@@ -189,7 +215,18 @@ CFLAGS.closefrom.c+= -DSTDC_HEADERS -DHAVE_SYS_DIR_H -DHAVE_DIRENT_H \
SRCS+= progname.c
# Stub implementations of fflagstostr/strtofflags
SRCS+= fflags.c
-.endif
+
+# macOS has a standalone cross-build implementation, but Linux can use the same
+# ELF one as FreeBSD
+SYSINCS+= ${SRCTOP}/sys/sys/linker_set.h
+
+.endif # ${MAKE.OS} == "Linux"
+
+.if ${.MAKE.OS} == "Darwin"
+# Standalone implementation of secure_getenv(), not available on MacOS.
+SRCS+= secure_getenv.c
+.endif # ${MAKE.OS} == "Darwin"
+
# Provide the same arc4random implementation on Linux/macOS
CFLAGS.arc4random.c+= -I${SRCTOP}/sys/crypto/chacha20 -D__isthreaded=1
SRCS+= arc4random.c arc4random_uniform.c
@@ -212,7 +249,7 @@ subr_capability.c: ${SRCTOP}/sys/kern/subr_capability.c
cp ${.ALLSRC} ${.TARGET}
SRCS+= subr_capability.c
CLEANFILES+= subr_capability.c
-.endif
+.endif # ${MAKE.OS} != "FreeBSD"
CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_fileargs/cap_fileargs.h
CASPERINC+= ${SRCTOP}/lib/libcasper/services/cap_net/cap_net.h
@@ -240,7 +277,7 @@ DISKINCS+= ${SRCTOP}/sys/sys/disk/bsd.h
# Needed to build config (since it uses libnv)
SYSINCS+= ${SRCTOP}/sys/sys/nv.h ${SRCTOP}/sys/sys/cnv.h \
- ${SRCTOP}/sys/sys/dnv.h
+ ${SRCTOP}/sys/sys/dnv.h ${SRCTOP}/sys/sys/nv_namespace.h
# Needed when bootstrapping ldd (since it uses DF_1_PIE)
SYSINCS+= ${SRCTOP}/sys/sys/elf32.h
@@ -263,6 +300,11 @@ SYSINCS+= ${SRCTOP}/sys/sys/fnv_hash.h
# opensolaris compatibility
INCS+= ${SRCTOP}/include/elf.h
SYSINCS+= ${SRCTOP}/sys/sys/elf.h
+SYSINCS+= ${SRCTOP}/sys/sys/ctf.h
+# for kbdcontrol:
+SYSINCS+= ${SRCTOP}/sys/sys/kbio.h
+# for kldxref:
+SYSINCS+= ${SRCTOP}/sys/sys/module.h
# We want to run the build with only ${WORLDTMP} in $PATH to ensure we don't
# accidentally run tools that are incompatible but happen to be in $PATH.
@@ -285,28 +327,55 @@ _host_tools_to_symlink= basename bzip2 bunzip2 chmod chown cmp comm cp date dd \
_make_abs!= which "${MAKE}"
_host_abs_tools_to_symlink= ${_make_abs}:make ${_make_abs}:bmake
+_LINK_HOST_TOOL= ln -sfn
+
.if ${.MAKE.OS} == "FreeBSD"
# When building on FreeBSD we always copy the host tools instead of linking
# into WORLDTMP to avoid issues with incompatible libraries (see r364030).
# Note: we could create links if we don't intend to update the current machine.
-_COPY_HOST_TOOL=cp -pf
+_COPY_HOST_TOOL= cp -pf
.else
# However, this is not necessary on Linux/macOS. Additionally, copying the host
# tools to another directory with cp -p results in freezes on macOS Big Sur for
# some unknown reason. It can also break building inside docker containers if
# there are ACLs on shared volumes.
-_COPY_HOST_TOOL=ln -sfn
-_make_abs!= which "${MAKE}"
-_host_abs_tools_to_symlink+= ${_make_abs}:make ${_make_abs}:bmake
+_COPY_HOST_TOOL= ${_LINK_HOST_TOOL}
+
.if ${.MAKE.OS} == "Darwin"
# /usr/bin/cpp may invoke xcrun:
-_host_tools_to_symlink+=xcrun
+_host_tools_to_symlink+= xcrun
.endif # ${.MAKE.OS} == "Darwin"
-# On Ubuntu /bin/sh is dash which is totally useless. Let's just link bash
-# as the build sh since that will work fine.
+
+# On Ubuntu /bin/sh is dash which is totally useless, and the same for modern
+# macOS. Let's just link bash as the build sh since that will work fine.
_host_abs_tools_to_symlink+= /bin/bash:sh
-_host_tools_to_symlink:=${_host_tools_to_symlink:Nsh}
+_host_tools_to_symlink:= ${_host_tools_to_symlink:Nsh}
+.endif
+
+# We also need to symlink any non-absolute toolchain commands. Clang finds its
+# resource directory relative to itself, so CC/CXX/CPP cannot be copied, and
+# there should be no concerns about installing over the current system since we
+# don't use the toolchain during install, so that's not an issue. However,
+# before Clang 13 there was no symlink detection for FreeBSD so that was broken
+# in the same way as copying (https://reviews.llvm.org/D103346), thus create a
+# wrapper script for each to work around this and behave like a symlink.
+# Remove this hack and just use a symlink once Clang 13 can be assumed.
+# For consistency, we use the same strategy for LD.
+.include <bsd.compiler.mk>
+.if ${.MAKE.OS} == "FreeBSD" && ${COMPILER_TYPE} == "clang" && \
+ ${COMPILER_VERSION} < 130000
+_WRAP_HOST_TOOL= sh -c "printf '\#!/bin/sh\nexec \"\%s\" \"\$$@\"\n' \"\$$0\" > \"\$$1\" && chmod +x \"\$$1\""
+.else
+_WRAP_HOST_TOOL= ${_LINK_HOST_TOOL}
+.endif
+.for var in CC CXX CPP LD
+.for X in $${_empty_var_} X
+.if !empty(${X}${var}) && !${${X}${var}:[1]:M/*} && \
+ !${_toolchain_tools_to_symlink:U:M${${X}${var}:[1]}}
+_toolchain_tools_to_symlink+= ${${X}${var}:[1]}
.endif
+.endfor
+.endfor
host-symlinks:
@echo "Linking host tools into ${DESTDIR}/bin"
@@ -323,7 +392,7 @@ host-symlinks:
@source_path="${_tool:S/:/ /:[1]}"; \
target_path="${DESTDIR}/bin/${_tool:S/:/ /:[2]}"; \
if [ ! -e "$${source_path}" ] ; then \
- echo "Host tool '${src_path}' is missing"; false; \
+ echo "Host tool '$${source_path}' is missing"; false; \
fi; \
rm -f "$${target_path}"; \
${_COPY_HOST_TOOL} "$${source_path}" "$${target_path}"
@@ -332,18 +401,27 @@ host-symlinks:
rm -f ${DESTDIR}/usr/libexec/flua
${_COPY_HOST_TOOL} /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
.endif
+.for _tool in ${_toolchain_tools_to_symlink}
+ @export PATH=$${PATH}:/usr/local/bin; \
+ source_path=`which ${_tool} || echo /dev/null/no/such`; \
+ if [ ! -e "$${source_path}" ] ; then \
+ echo "Cannot find host tool '${_tool}' in PATH ($$PATH)." >&2; false; \
+ fi; \
+ rm -f "${DESTDIR}/bin/${_tool}"; \
+ ${_WRAP_HOST_TOOL} "$${source_path}" "${DESTDIR}/bin/${_tool}"
+.endfor
# Create all the directories that are needed during the legacy, bootstrap-tools
# and cross-tools stages. We do this here using mkdir since mtree may not exist
# yet (this happens if we are crossbuilding from Linux/Mac).
INSTALLDIR_LIST= \
bin \
- lib/casper \
lib/geom \
usr/include/casper \
usr/include/private/ucl \
usr/include/private/zstd \
usr/lib \
+ usr/libdata/pkgconfig \
usr/libexec
installdirs:
diff --git a/tools/build/Makefile.depend b/tools/build/Makefile.depend
index f80275d86ab1..11aba52f82cf 100644
--- a/tools/build/Makefile.depend
+++ b/tools/build/Makefile.depend
@@ -1,4 +1,3 @@
-# $FreeBSD$
# Autogenerated - do NOT edit!
DIRDEPS = \
diff --git a/tools/build/beinstall.sh b/tools/build/beinstall.sh
index 46c65d87e61a..766a3a03739f 100755
--- a/tools/build/beinstall.sh
+++ b/tools/build/beinstall.sh
@@ -24,7 +24,6 @@
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# $FreeBSD$
#
##
# Install a boot environment using the current FreeBSD source tree.
@@ -181,7 +180,7 @@ MERGEMASTER_CMD="${srcdir}/usr.sbin/mergemaster/mergemaster.sh"
# May be a worktree, in which case .git is a file, not a directory.
if [ -e .git ] ; then
- commit_time=$(git show --format='%ct' 2>/dev/null | head -1)
+ commit_time=$(git show -s --format='%ct' 2>/dev/null)
[ $? -ne 0 ] && errx "Can't lookup git commit timestamp"
commit_ts=$(date -r ${commit_time} '+%Y%m%d.%H%M%S')
elif [ -d .svn ] ; then
diff --git a/tools/build/bootstrap-m4/Makefile b/tools/build/bootstrap-m4/Makefile
index d65dece3fd15..c0b82b307d5d 100644
--- a/tools/build/bootstrap-m4/Makefile
+++ b/tools/build/bootstrap-m4/Makefile
@@ -1,4 +1,3 @@
-# $FreeBSD$
# Build a bootstrap version of m4 (needed in order to build libelf and lex)
.PATH: ${SRCTOP}/usr.bin/m4 ${.CURDIR}
diff --git a/tools/build/bootstrap-m4/inittokenizer.c b/tools/build/bootstrap-m4/inittokenizer.c
index a014012ad756..f64eddaf953b 100644
--- a/tools/build/bootstrap-m4/inittokenizer.c
+++ b/tools/build/bootstrap-m4/inittokenizer.c
@@ -482,8 +482,6 @@ char *yytext;
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- * $FreeBSD$
*/
#include "parser.h"
#include <assert.h>
diff --git a/tools/build/check-links.sh b/tools/build/check-links.sh
index 7dc96fa5f082..a4d18e00f5f3 100755
--- a/tools/build/check-links.sh
+++ b/tools/build/check-links.sh
@@ -1,5 +1,4 @@
#!/bin/sh
-# $FreeBSD$
libkey() {
libkey="lib_symbols_$1"
diff --git a/tools/build/checkstyle9.pl b/tools/build/checkstyle9.pl
new file mode 100755
index 000000000000..df9ec2bbd7c1
--- /dev/null
+++ b/tools/build/checkstyle9.pl
@@ -0,0 +1,2696 @@
+#!/usr/bin/env perl
+# (c) 2001, Dave Jones. (the file handling bit)
+# (c) 2005, Joel Schopp <jschopp@austin.ibm.com> (the ugly bit)
+# (c) 2007,2008, Andy Whitcroft <apw@uk.ibm.com> (new conditions, test suite)
+# (c) 2008-2010 Andy Whitcroft <apw@canonical.com>
+# Licensed under the terms of the GNU GPL License version 2
+
+use strict;
+use warnings;
+use Term::ANSIColor qw(:constants);
+
+my $P = $0;
+$P =~ s@.*/@@g;
+
+our $SrcFile = qr{\.(?:h|c|cpp|s|S|pl|py|sh)$};
+
+my $V = '0.31';
+
+use Getopt::Long qw(:config no_auto_abbrev);
+
+my $quiet = 0;
+my $tree = 1;
+my $chk_signoff = 1;
+my $chk_patch = undef;
+my $chk_branch = undef;
+my $tst_only;
+my $emacs = 0;
+my $github = 0;
+my $terse = 0;
+my $file = undef;
+my $color = "auto";
+my $no_warnings = 0;
+my $summary = 1;
+my $mailback = 0;
+my $summary_file = 0;
+my $root;
+my %debug;
+my $help = 0;
+
+sub help {
+ my ($exitcode) = @_;
+
+ print << "EOM";
+Usage:
+
+ $P [OPTION]... [FILE]...
+ $P [OPTION]... [GIT-REV-LIST]
+
+Version: $V
+
+Options:
+ -q, --quiet quiet
+ --patch treat FILE as patchfile
+ --branch treat args as GIT revision list
+ --emacs emacs compile window format
+ --terse one line per report
+ -f, --file treat FILE as regular source file
+ --strict fail if only warnings are found
+ --no-summary suppress the per-file summary
+ --mailback only produce a report in case of warnings/errors
+ --summary-file include the filename in summary
+ --debug KEY=[0|1] turn on/off debugging of KEY, where KEY is one of
+ 'values', 'possible', 'type', and 'attr' (default
+ is all off)
+ --test-only=WORD report only warnings/errors containing WORD
+ literally
+ --color[=WHEN] Use colors 'always', 'never', or only when output
+ is a terminal ('auto'). Default is 'auto'.
+ -h, --help, --version display this help and exit
+
+When FILE is - read standard input.
+EOM
+
+ exit($exitcode);
+}
+
+# Use at your own risk
+print "\n", MAGENTA, "WARNING:", RESET, " This code is highly experimental ... likely isn't a great style(9) match yet\n\n";
+
+# Perl's Getopt::Long allows options to take optional arguments after a space.
+# Prevent --color by itself from consuming other arguments
+foreach (@ARGV) {
+ if ($_ eq "--color" || $_ eq "-color") {
+ $_ = "--color=$color";
+ }
+}
+
+GetOptions(
+ 'q|quiet+' => \$quiet,
+ 'tree!' => \$tree,
+ 'signoff!' => \$chk_signoff,
+ 'patch!' => \$chk_patch,
+ 'branch!' => \$chk_branch,
+ 'emacs!' => \$emacs,
+ 'github!' => \$github,
+ 'terse!' => \$terse,
+ 'f|file!' => \$file,
+ 'strict!' => \$no_warnings,
+ 'root=s' => \$root,
+ 'summary!' => \$summary,
+ 'mailback!' => \$mailback,
+ 'summary-file!' => \$summary_file,
+
+ 'debug=s' => \%debug,
+ 'test-only=s' => \$tst_only,
+ 'color=s' => \$color,
+ 'no-color' => sub { $color = 'never'; },
+ 'h|help' => \$help,
+ 'version' => \$help
+) or help(1);
+
+help(0) if ($help);
+
+my $exit = 0;
+
+if ($#ARGV < 0) {
+ print "$P: no input files\n";
+ exit(1);
+}
+
+if (!defined $chk_branch && !defined $chk_patch && !defined $file) {
+ $chk_branch = $ARGV[0] =~ /.\.\./ ? 1 : 0;
+ $file = $ARGV[0] =~ /$SrcFile/ ? 1 : 0;
+ $chk_patch = $chk_branch || $file ? 0 : 1;
+} elsif (!defined $chk_branch && !defined $chk_patch) {
+ if ($file) {
+ $chk_branch = $chk_patch = 0;
+ } else {
+ $chk_branch = $ARGV[0] =~ /.\.\./ ? 1 : 0;
+ $chk_patch = $chk_branch ? 0 : 1;
+ }
+} elsif (!defined $chk_branch && !defined $file) {
+ if ($chk_patch) {
+ $chk_branch = $file = 0;
+ } else {
+ $chk_branch = $ARGV[0] =~ /.\.\./ ? 1 : 0;
+ $file = $chk_branch ? 0 : 1;
+ }
+} elsif (!defined $chk_patch && !defined $file) {
+ if ($chk_branch) {
+ $chk_patch = $file = 0;
+ } else {
+ $file = $ARGV[0] =~ /$SrcFile/ ? 1 : 0;
+ $chk_patch = $file ? 0 : 1;
+ }
+} elsif (!defined $chk_branch) {
+ $chk_branch = $chk_patch || $file ? 0 : 1;
+} elsif (!defined $chk_patch) {
+ $chk_patch = $chk_branch || $file ? 0 : 1;
+} elsif (!defined $file) {
+ $file = $chk_patch || $chk_branch ? 0 : 1;
+}
+
+if (($chk_patch && $chk_branch) ||
+ ($chk_patch && $file) ||
+ ($chk_branch && $file)) {
+ die "Only one of --file, --branch, --patch is permitted\n";
+}
+if (!$chk_patch && !$chk_branch && !$file) {
+ die "One of --file, --branch, --patch is required\n";
+}
+
+if ($color =~ /^always$/i) {
+ $color = 1;
+} elsif ($color =~ /^never$/i) {
+ $color = 0;
+} elsif ($color =~ /^auto$/i) {
+ $color = (-t STDOUT);
+} else {
+ die "Invalid color mode: $color\n";
+}
+
+my $dbg_values = 0;
+my $dbg_possible = 0;
+my $dbg_adv_dcs = 0;
+my $dbg_adv_checking = 0;
+my $dbg_adv_apw = 0;
+for my $key (keys %debug) {
+ ## no critic
+ eval "\${dbg_$key} = '$debug{$key}';";
+ die "$@" if ($@);
+}
+
+my $rpt_cleaners = 0;
+
+if ($terse) {
+ $emacs = 1;
+ $quiet++;
+}
+
+my $emitted_corrupt = 0;
+
+our $Ident = qr{
+ [A-Za-z_][A-Za-z\d_]*
+ (?:\s*\#\#\s*[A-Za-z_][A-Za-z\d_]*)*
+ }x;
+our $Storage = qr{extern|static|asmlinkage};
+our $Sparse = qr{
+ __force
+ }x;
+
+# Notes to $Attribute:
+our $Attribute = qr{
+ const|
+ volatile|
+ QEMU_NORETURN|
+ QEMU_WARN_UNUSED_RESULT|
+ QEMU_SENTINEL|
+ QEMU_PACKED|
+ GCC_FMT_ATTR
+ }x;
+our $Modifier;
+our $Inline = qr{inline};
+our $Member = qr{->$Ident|\.$Ident|\[[^]]*\]};
+our $Lval = qr{$Ident(?:$Member)*};
+
+our $Constant = qr{(?:[0-9]+|0x[0-9a-fA-F]+)[UL]*};
+our $Assignment = qr{(?:\*\=|/=|%=|\+=|-=|<<=|>>=|&=|\^=|\|=|=)};
+our $Compare = qr{<=|>=|==|!=|<|>};
+our $Operators = qr{
+ <=|>=|==|!=|
+ =>|->|<<|>>|<|>|!|~|
+ &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%
+ }x;
+
+our $NonptrType;
+our $Type;
+our $Declare;
+
+our $NON_ASCII_UTF8 = qr{
+ [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
+ | \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
+ | [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
+ | \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
+ | \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
+ | [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
+ | \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
+}x;
+
+our $UTF8 = qr{
+ [\x09\x0A\x0D\x20-\x7E] # ASCII
+ | $NON_ASCII_UTF8
+}x;
+
+# some readers default to ISO-8859-1 when showing email source. detect
+# when UTF-8 is incorrectly interpreted as ISO-8859-1 and reencoded back.
+# False positives are possible but very unlikely.
+our $UTF8_MOJIBAKE = qr{
+ \xC3[\x82-\x9F] \xC2[\x80-\xBF] # c2-df 80-bf
+ | \xC3\xA0 \xC2[\xA0-\xBF] \xC2[\x80-\xBF] # e0 a0-bf 80-bf
+ | \xC3[\xA1-\xAC\xAE\xAF] (?: \xC2[\x80-\xBF]){2} # e1-ec/ee/ef 80-bf 80-bf
+ | \xC3\xAD \xC2[\x80-\x9F] \xC2[\x80-\xBF] # ed 80-9f 80-bf
+ | \xC3\xB0 \xC2[\x90-\xBF] (?: \xC2[\x80-\xBF]){2} # f0 90-bf 80-bf 80-bf
+ | \xC3[\xB1-\xB3] (?: \xC2[\x80-\xBF]){3} # f1-f3 80-bf 80-bf 80-bf
+ | \xC3\xB4 \xC2[\x80-\x8F] (?: \xC2[\x80-\xBF]){2} # f4 80-b8 80-bf 80-bf
+}x;
+
+# There are still some false positives, but this catches most
+# common cases.
+our $typeTypedefs = qr{(?x:
+ (?![KMGTPE]iB) # IEC binary prefix (do not match)
+ [A-Z][A-Z\d_]*[a-z][A-Za-z\d_]* # camelcase
+ | [A-Z][A-Z\d_]*AIOCB # all uppercase
+ | [A-Z][A-Z\d_]*CPU # all uppercase
+ | QEMUBH # all uppercase
+)};
+
+our @typeList = (
+ qr{void},
+ qr{(?:unsigned\s+)?char},
+ qr{(?:unsigned\s+)?short},
+ qr{(?:unsigned\s+)?int},
+ qr{(?:unsigned\s+)?long},
+ qr{(?:unsigned\s+)?long\s+int},
+ qr{(?:unsigned\s+)?long\s+long},
+ qr{(?:unsigned\s+)?long\s+long\s+int},
+ qr{unsigned},
+ qr{float},
+ qr{double},
+ qr{bool},
+ qr{struct\s+$Ident},
+ qr{union\s+$Ident},
+ qr{enum\s+$Ident},
+ qr{${Ident}_t},
+ qr{${Ident}_handler},
+ qr{${Ident}_handler_fn},
+ qr{target_(?:u)?long},
+ qr{hwaddr},
+);
+
+# This can be modified by sub possible. Since it can be empty, be careful
+# about regexes that always match, because they can cause infinite loops.
+our @modifierList = (
+);
+
+sub build_types {
+ my $all = "(?x: \n" . join("|\n ", @typeList) . "\n)";
+ if (@modifierList > 0) {
+ my $mods = "(?x: \n" . join("|\n ", @modifierList) . "\n)";
+ $Modifier = qr{(?:$Attribute|$Sparse|$mods)};
+ } else {
+ $Modifier = qr{(?:$Attribute|$Sparse)};
+ }
+ $NonptrType = qr{
+ (?:$Modifier\s+|const\s+)*
+ (?:
+ (?:typeof|__typeof__)\s*\(\s*\**\s*$Ident\s*\)|
+ (?:$typeTypedefs\b)|
+ (?:${all}\b)
+ )
+ (?:\s+$Modifier|\s+const)*
+ }x;
+ $Type = qr{
+ $NonptrType
+ (?:[\s\*]+\s*const|[\s\*]+|(?:\s*\[\s*\])+)?
+ (?:\s+$Inline|\s+$Modifier)*
+ }x;
+ $Declare = qr{(?:$Storage\s+)?$Type};
+}
+build_types();
+
+$chk_signoff = 0 if ($file);
+
+my @rawlines = ();
+my @lines = ();
+my $vname;
+if ($chk_branch) {
+ my @patches;
+ my %git_commits = ();
+ my $HASH;
+ open($HASH, "-|", "git", "log", "--reverse", "--no-merges", "--format=%H %s", $ARGV[0]) ||
+ die "$P: git log --reverse --no-merges --format='%H %s' $ARGV[0] failed - $!\n";
+
+ for my $line (<$HASH>) {
+ $line =~ /^([0-9a-fA-F]{40,40}) (.*)$/;
+ next if (!defined($1) || !defined($2));
+ my $sha1 = $1;
+ my $subject = $2;
+ push(@patches, $sha1);
+ $git_commits{$sha1} = $subject;
+ }
+
+ close $HASH;
+
+ die "$P: no revisions returned for revlist '$ARGV[0]'\n"
+ unless @patches;
+
+ my $i = 1;
+ my $num_patches = @patches;
+ for my $hash (@patches) {
+ my $FILE;
+ open($FILE, '-|', "git", "show", "--patch-with-stat", $hash) ||
+ die "$P: git show $hash - $!\n";
+ while (<$FILE>) {
+ chomp;
+ push(@rawlines, $_);
+ }
+ close($FILE);
+ $vname = substr($hash, 0, 12) . ' (' . $git_commits{$hash} . ')';
+ if ($num_patches > 1 && $quiet == 0) {
+ my $prefix = "$i/$num_patches";
+ $prefix = BLUE . BOLD . $prefix . RESET if $color;
+ print "$prefix Checking commit $vname\n";
+ $vname = "Patch $i/$num_patches";
+ } else {
+ $vname = "Commit " . $vname;
+ }
+ if (!process($hash)) {
+ $exit = 1;
+ print "\n" if ($num_patches > 1 && $quiet == 0);
+ }
+ @rawlines = ();
+ @lines = ();
+ $i++;
+ }
+} else {
+ for my $filename (@ARGV) {
+ my $FILE;
+ if ($file) {
+ open($FILE, '-|', "diff -u /dev/null $filename") ||
+ die "$P: $filename: diff failed - $!\n";
+ } elsif ($filename eq '-') {
+ open($FILE, '<&STDIN');
+ } else {
+ open($FILE, '<', "$filename") ||
+ die "$P: $filename: open failed - $!\n";
+ }
+ if ($filename eq '-') {
+ $vname = 'Your patch';
+ } else {
+ $vname = $filename;
+ }
+ print "Checking $filename...\n" if @ARGV > 1 && $quiet == 0;
+ while (<$FILE>) {
+ chomp;
+ push(@rawlines, $_);
+ }
+ close($FILE);
+ if (!process($filename)) {
+ $exit = 1;
+ }
+ @rawlines = ();
+ @lines = ();
+ }
+}
+
+exit($exit);
+
+sub top_of_kernel_tree {
+ my ($root) = @_;
+
+ my @tree_check = (
+ "Makefile.inc1", "README.md", "sys",
+ "usr.sbin"
+ );
+
+ foreach my $check (@tree_check) {
+ if (! -e $root . '/' . $check) {
+ return 0;
+ }
+ }
+ return 1;
+}
+
+sub expand_tabs {
+ my ($str) = @_;
+
+ my $res = '';
+ my $n = 0;
+ for my $c (split(//, $str)) {
+ if ($c eq "\t") {
+ $res .= ' ';
+ $n++;
+ for (; ($n % 8) != 0; $n++) {
+ $res .= ' ';
+ }
+ next;
+ }
+ $res .= $c;
+ $n++;
+ }
+
+ return $res;
+}
+sub copy_spacing {
+ (my $res = shift) =~ tr/\t/ /c;
+ return $res;
+}
+
+sub line_stats {
+ my ($line) = @_;
+
+ # Drop the diff line leader and expand tabs
+ $line =~ s/^.//;
+ $line = expand_tabs($line);
+
+ # Pick the indent from the front of the line.
+ my ($white) = ($line =~ /^(\s*)/);
+
+ return (length($line), length($white));
+}
+
+my $sanitise_quote = '';
+
+sub sanitise_line_reset {
+ my ($in_comment) = @_;
+
+ if ($in_comment) {
+ $sanitise_quote = '*/';
+ } else {
+ $sanitise_quote = '';
+ }
+}
+sub sanitise_line {
+ my ($line) = @_;
+
+ my $res = '';
+ my $l = '';
+
+ my $qlen = 0;
+ my $off = 0;
+ my $c;
+
+ # Always copy over the diff marker.
+ $res = substr($line, 0, 1);
+
+ for ($off = 1; $off < length($line); $off++) {
+ $c = substr($line, $off, 1);
+
+ # Comments we are wacking completely including the begin
+ # and end, all to $;.
+ if ($sanitise_quote eq '' && substr($line, $off, 2) eq '/*') {
+ $sanitise_quote = '*/';
+
+ substr($res, $off, 2, "$;$;");
+ $off++;
+ next;
+ }
+ if ($sanitise_quote eq '*/' && substr($line, $off, 2) eq '*/') {
+ $sanitise_quote = '';
+ substr($res, $off, 2, "$;$;");
+ $off++;
+ next;
+ }
+ if ($sanitise_quote eq '' && substr($line, $off, 2) eq '//') {
+ $sanitise_quote = '//';
+
+ substr($res, $off, 2, $sanitise_quote);
+ $off++;
+ next;
+ }
+
+ # A \ in a string means ignore the next character.
+ if (($sanitise_quote eq "'" || $sanitise_quote eq '"') &&
+ $c eq "\\") {
+ substr($res, $off, 2, 'XX');
+ $off++;
+ next;
+ }
+ # Regular quotes.
+ if ($c eq "'" || $c eq '"') {
+ if ($sanitise_quote eq '') {
+ $sanitise_quote = $c;
+
+ substr($res, $off, 1, $c);
+ next;
+ } elsif ($sanitise_quote eq $c) {
+ $sanitise_quote = '';
+ }
+ }
+
+ #print "c<$c> SQ<$sanitise_quote>\n";
+ if ($off != 0 && $sanitise_quote eq '*/' && $c ne "\t") {
+ substr($res, $off, 1, $;);
+ } elsif ($off != 0 && $sanitise_quote eq '//' && $c ne "\t") {
+ substr($res, $off, 1, $;);
+ } elsif ($off != 0 && $sanitise_quote && $c ne "\t") {
+ substr($res, $off, 1, 'X');
+ } else {
+ substr($res, $off, 1, $c);
+ }
+ }
+
+ if ($sanitise_quote eq '//') {
+ $sanitise_quote = '';
+ }
+
+ # The pathname on a #include may be surrounded by '<' and '>'.
+ if ($res =~ /^.\s*\#\s*include\s+\<(.*)\>/) {
+ my $clean = 'X' x length($1);
+ $res =~ s@\<.*\>@<$clean>@;
+
+ # The whole of a #error is a string.
+ } elsif ($res =~ /^.\s*\#\s*(?:error|warning)\s+(.*)\b/) {
+ my $clean = 'X' x length($1);
+ $res =~ s@(\#\s*(?:error|warning)\s+).*@$1$clean@;
+ }
+
+ return $res;
+}
+
+sub ctx_statement_block {
+ my ($linenr, $remain, $off) = @_;
+ my $line = $linenr - 1;
+ my $blk = '';
+ my $soff = $off;
+ my $coff = $off - 1;
+ my $coff_set = 0;
+
+ my $loff = 0;
+
+ my $type = '';
+ my $level = 0;
+ my @stack = ();
+ my $p;
+ my $c;
+ my $len = 0;
+
+ my $remainder;
+ while (1) {
+ @stack = (['', 0]) if ($#stack == -1);
+
+ #warn "CSB: blk<$blk> remain<$remain>\n";
+ # If we are about to drop off the end, pull in more
+ # context.
+ if ($off >= $len) {
+ for (; $remain > 0; $line++) {
+ last if (!defined $lines[$line]);
+ next if ($lines[$line] =~ /^-/);
+ $remain--;
+ $loff = $len;
+ $blk .= $lines[$line] . "\n";
+ $len = length($blk);
+ $line++;
+ last;
+ }
+ # Bail if there is no further context.
+ #warn "CSB: blk<$blk> off<$off> len<$len>\n";
+ if ($off >= $len) {
+ last;
+ }
+ }
+ $p = $c;
+ $c = substr($blk, $off, 1);
+ $remainder = substr($blk, $off);
+
+ #warn "CSB: c<$c> type<$type> level<$level> remainder<$remainder> coff_set<$coff_set>\n";
+
+ # Handle nested #if/#else.
+ if ($remainder =~ /^#\s*(?:ifndef|ifdef|if)\s/) {
+ push(@stack, [ $type, $level ]);
+ } elsif ($remainder =~ /^#\s*(?:else|elif)\b/) {
+ ($type, $level) = @{$stack[$#stack - 1]};
+ } elsif ($remainder =~ /^#\s*endif\b/) {
+ ($type, $level) = @{pop(@stack)};
+ }
+
+ # Statement ends at the ';' or a close '}' at the
+ # outermost level.
+ if ($level == 0 && $c eq ';') {
+ last;
+ }
+
+ # An else is really a conditional as long as its not else if
+ if ($level == 0 && $coff_set == 0 &&
+ (!defined($p) || $p =~ /(?:\s|\}|\+)/) &&
+ $remainder =~ /^(else)(?:\s|{)/ &&
+ $remainder !~ /^else\s+if\b/) {
+ $coff = $off + length($1) - 1;
+ $coff_set = 1;
+ #warn "CSB: mark coff<$coff> soff<$soff> 1<$1>\n";
+ #warn "[" . substr($blk, $soff, $coff - $soff + 1) . "]\n";
+ }
+
+ if (($type eq '' || $type eq '(') && $c eq '(') {
+ $level++;
+ $type = '(';
+ }
+ if ($type eq '(' && $c eq ')') {
+ $level--;
+ $type = ($level != 0)? '(' : '';
+
+ if ($level == 0 && $coff < $soff) {
+ $coff = $off;
+ $coff_set = 1;
+ #warn "CSB: mark coff<$coff>\n";
+ }
+ }
+ if (($type eq '' || $type eq '{') && $c eq '{') {
+ $level++;
+ $type = '{';
+ }
+ if ($type eq '{' && $c eq '}') {
+ $level--;
+ $type = ($level != 0)? '{' : '';
+
+ if ($level == 0) {
+ if (substr($blk, $off + 1, 1) eq ';') {
+ $off++;
+ }
+ last;
+ }
+ }
+ $off++;
+ }
+ # We are truly at the end, so shuffle to the next line.
+ if ($off == $len) {
+ $loff = $len + 1;
+ $line++;
+ $remain--;
+ }
+
+ my $statement = substr($blk, $soff, $off - $soff + 1);
+ my $condition = substr($blk, $soff, $coff - $soff + 1);
+
+ #warn "STATEMENT<$statement>\n";
+ #warn "CONDITION<$condition>\n";
+
+ #print "coff<$coff> soff<$off> loff<$loff>\n";
+
+ return ($statement, $condition,
+ $line, $remain + 1, $off - $loff + 1, $level);
+}
+
+sub statement_lines {
+ my ($stmt) = @_;
+
+ # Strip the diff line prefixes and rip blank lines at start and end.
+ $stmt =~ s/(^|\n)./$1/g;
+ $stmt =~ s/^\s*//;
+ $stmt =~ s/\s*$//;
+
+ my @stmt_lines = ($stmt =~ /\n/g);
+
+ return $#stmt_lines + 2;
+}
+
+sub statement_rawlines {
+ my ($stmt) = @_;
+
+ my @stmt_lines = ($stmt =~ /\n/g);
+
+ return $#stmt_lines + 2;
+}
+
+sub statement_block_size {
+ my ($stmt) = @_;
+
+ $stmt =~ s/(^|\n)./$1/g;
+ $stmt =~ s/^\s*\{//;
+ $stmt =~ s/}\s*$//;
+ $stmt =~ s/^\s*//;
+ $stmt =~ s/\s*$//;
+
+ my @stmt_lines = ($stmt =~ /\n/g);
+ my @stmt_statements = ($stmt =~ /;/g);
+
+ my $stmt_lines = $#stmt_lines + 2;
+ my $stmt_statements = $#stmt_statements + 1;
+
+ if ($stmt_lines > $stmt_statements) {
+ return $stmt_lines;
+ } else {
+ return $stmt_statements;
+ }
+}
+
+sub ctx_statement_full {
+ my ($linenr, $remain, $off) = @_;
+ my ($statement, $condition, $level);
+
+ my (@chunks);
+
+ # Grab the first conditional/block pair.
+ ($statement, $condition, $linenr, $remain, $off, $level) =
+ ctx_statement_block($linenr, $remain, $off);
+ #print "F: c<$condition> s<$statement> remain<$remain>\n";
+ push(@chunks, [ $condition, $statement ]);
+ if (!($remain > 0 && $condition =~ /^\s*(?:\n[+-])?\s*(?:if|else|do)\b/s)) {
+ return ($level, $linenr, @chunks);
+ }
+
+ # Pull in the following conditional/block pairs and see if they
+ # could continue the statement.
+ for (;;) {
+ ($statement, $condition, $linenr, $remain, $off, $level) =
+ ctx_statement_block($linenr, $remain, $off);
+ #print "C: c<$condition> s<$statement> remain<$remain>\n";
+ last if (!($remain > 0 && $condition =~ /^(?:\s*\n[+-])*\s*(?:else|do)\b/s));
+ #print "C: push\n";
+ push(@chunks, [ $condition, $statement ]);
+ }
+
+ return ($level, $linenr, @chunks);
+}
+
+sub ctx_block_get {
+ my ($linenr, $remain, $outer, $open, $close, $off) = @_;
+ my $line;
+ my $start = $linenr - 1;
+ my $blk = '';
+ my @o;
+ my @c;
+ my @res = ();
+
+ my $level = 0;
+ my @stack = ($level);
+ for ($line = $start; $remain > 0; $line++) {
+ next if ($rawlines[$line] =~ /^-/);
+ $remain--;
+
+ $blk .= $rawlines[$line];
+
+ # Handle nested #if/#else.
+ if ($lines[$line] =~ /^.\s*#\s*(?:ifndef|ifdef|if)\s/) {
+ push(@stack, $level);
+ } elsif ($lines[$line] =~ /^.\s*#\s*(?:else|elif)\b/) {
+ $level = $stack[$#stack - 1];
+ } elsif ($lines[$line] =~ /^.\s*#\s*endif\b/) {
+ $level = pop(@stack);
+ }
+
+ foreach my $c (split(//, $lines[$line])) {
+ ##print "C<$c>L<$level><$open$close>O<$off>\n";
+ if ($off > 0) {
+ $off--;
+ next;
+ }
+
+ if ($c eq $close && $level > 0) {
+ $level--;
+ last if ($level == 0);
+ } elsif ($c eq $open) {
+ $level++;
+ }
+ }
+
+ if (!$outer || $level <= 1) {
+ push(@res, $rawlines[$line]);
+ }
+
+ last if ($level == 0);
+ }
+
+ return ($level, @res);
+}
+sub ctx_block_outer {
+ my ($linenr, $remain) = @_;
+
+ my ($level, @r) = ctx_block_get($linenr, $remain, 1, '{', '}', 0);
+ return @r;
+}
+sub ctx_block {
+ my ($linenr, $remain) = @_;
+
+ my ($level, @r) = ctx_block_get($linenr, $remain, 0, '{', '}', 0);
+ return @r;
+}
+sub ctx_statement {
+ my ($linenr, $remain, $off) = @_;
+
+ my ($level, @r) = ctx_block_get($linenr, $remain, 0, '(', ')', $off);
+ return @r;
+}
+sub ctx_block_level {
+ my ($linenr, $remain) = @_;
+
+ return ctx_block_get($linenr, $remain, 0, '{', '}', 0);
+}
+sub ctx_statement_level {
+ my ($linenr, $remain, $off) = @_;
+
+ return ctx_block_get($linenr, $remain, 0, '(', ')', $off);
+}
+
+sub ctx_locate_comment {
+ my ($first_line, $end_line) = @_;
+
+ # Catch a comment on the end of the line itself.
+ my ($current_comment) = ($rawlines[$end_line - 1] =~ m@.*(/\*.*\*/)\s*(?:\\\s*)?$@);
+ return $current_comment if (defined $current_comment);
+
+ # Look through the context and try and figure out if there is a
+ # comment.
+ my $in_comment = 0;
+ $current_comment = '';
+ for (my $linenr = $first_line; $linenr < $end_line; $linenr++) {
+ my $line = $rawlines[$linenr - 1];
+ #warn " $line\n";
+ if ($linenr == $first_line and $line =~ m@^.\s*\*@) {
+ $in_comment = 1;
+ }
+ if ($line =~ m@/\*@) {
+ $in_comment = 1;
+ }
+ if (!$in_comment && $current_comment ne '') {
+ $current_comment = '';
+ }
+ $current_comment .= $line . "\n" if ($in_comment);
+ if ($line =~ m@\*/@) {
+ $in_comment = 0;
+ }
+ }
+
+ chomp($current_comment);
+ return($current_comment);
+}
+sub ctx_has_comment {
+ my ($first_line, $end_line) = @_;
+ my $cmt = ctx_locate_comment($first_line, $end_line);
+
+ ##print "LINE: $rawlines[$end_line - 1 ]\n";
+ ##print "CMMT: $cmt\n";
+
+ return ($cmt ne '');
+}
+
+sub raw_line {
+ my ($linenr, $cnt) = @_;
+
+ my $offset = $linenr - 1;
+ $cnt++;
+
+ my $line;
+ while ($cnt) {
+ $line = $rawlines[$offset++];
+ next if (defined($line) && $line =~ /^-/);
+ $cnt--;
+ }
+
+ return $line;
+}
+
+sub cat_vet {
+ my ($vet) = @_;
+ my ($res, $coded);
+
+ $res = '';
+ while ($vet =~ /([^[:cntrl:]]*)([[:cntrl:]]|$)/g) {
+ $res .= $1;
+ if ($2 ne '') {
+ $coded = sprintf("^%c", unpack('C', $2) + 64);
+ $res .= $coded;
+ }
+ }
+ $res =~ s/$/\$/;
+
+ return $res;
+}
+
+my $av_preprocessor = 0;
+my $av_pending;
+my @av_paren_type;
+my $av_pend_colon;
+
+sub annotate_reset {
+ $av_preprocessor = 0;
+ $av_pending = '_';
+ @av_paren_type = ('E');
+ $av_pend_colon = 'O';
+}
+
+sub annotate_values {
+ my ($stream, $type) = @_;
+
+ my $res;
+ my $var = '_' x length($stream);
+ my $cur = $stream;
+
+ print "$stream\n" if ($dbg_values > 1);
+
+ while (length($cur)) {
+ @av_paren_type = ('E') if ($#av_paren_type < 0);
+ print " <" . join('', @av_paren_type) .
+ "> <$type> <$av_pending>" if ($dbg_values > 1);
+ if ($cur =~ /^(\s+)/o) {
+ print "WS($1)\n" if ($dbg_values > 1);
+ if ($1 =~ /\n/ && $av_preprocessor) {
+ $type = pop(@av_paren_type);
+ $av_preprocessor = 0;
+ }
+
+ } elsif ($cur =~ /^(\(\s*$Type\s*)\)/ && $av_pending eq '_') {
+ print "CAST($1)\n" if ($dbg_values > 1);
+ push(@av_paren_type, $type);
+ $type = 'C';
+
+ } elsif ($cur =~ /^($Type)\s*(?:$Ident|,|\)|\(|\s*$)/) {
+ print "DECLARE($1)\n" if ($dbg_values > 1);
+ $type = 'T';
+
+ } elsif ($cur =~ /^($Modifier)\s*/) {
+ print "MODIFIER($1)\n" if ($dbg_values > 1);
+ $type = 'T';
+
+ } elsif ($cur =~ /^(\#\s*define\s*$Ident)(\(?)/o) {
+ print "DEFINE($1,$2)\n" if ($dbg_values > 1);
+ $av_preprocessor = 1;
+ push(@av_paren_type, $type);
+ if ($2 ne '') {
+ $av_pending = 'N';
+ }
+ $type = 'E';
+
+ } elsif ($cur =~ /^(\#\s*(?:undef\s*$Ident|include\b))/o) {
+ print "UNDEF($1)\n" if ($dbg_values > 1);
+ $av_preprocessor = 1;
+ push(@av_paren_type, $type);
+
+ } elsif ($cur =~ /^(\#\s*(?:ifdef|ifndef|if))/o) {
+ print "PRE_START($1)\n" if ($dbg_values > 1);
+ $av_preprocessor = 1;
+
+ push(@av_paren_type, $type);
+ push(@av_paren_type, $type);
+ $type = 'E';
+
+ } elsif ($cur =~ /^(\#\s*(?:else|elif))/o) {
+ print "PRE_RESTART($1)\n" if ($dbg_values > 1);
+ $av_preprocessor = 1;
+
+ push(@av_paren_type, $av_paren_type[$#av_paren_type]);
+
+ $type = 'E';
+
+ } elsif ($cur =~ /^(\#\s*(?:endif))/o) {
+ print "PRE_END($1)\n" if ($dbg_values > 1);
+
+ $av_preprocessor = 1;
+
+ # Assume all arms of the conditional end as this
+ # one does, and continue as if the #endif was not here.
+ pop(@av_paren_type);
+ push(@av_paren_type, $type);
+ $type = 'E';
+
+ } elsif ($cur =~ /^(\\\n)/o) {
+ print "PRECONT($1)\n" if ($dbg_values > 1);
+
+ } elsif ($cur =~ /^(__attribute__)\s*\(?/o) {
+ print "ATTR($1)\n" if ($dbg_values > 1);
+ $av_pending = $type;
+ $type = 'N';
+
+ } elsif ($cur =~ /^(sizeof)\s*(\()?/o) {
+ print "SIZEOF($1)\n" if ($dbg_values > 1);
+ if (defined $2) {
+ $av_pending = 'V';
+ }
+ $type = 'N';
+
+ } elsif ($cur =~ /^(if|while|for)\b/o) {
+ print "COND($1)\n" if ($dbg_values > 1);
+ $av_pending = 'E';
+ $type = 'N';
+
+ } elsif ($cur =~/^(case)/o) {
+ print "CASE($1)\n" if ($dbg_values > 1);
+ $av_pend_colon = 'C';
+ $type = 'N';
+
+ } elsif ($cur =~/^(return|else|goto|typeof|__typeof__)\b/o) {
+ print "KEYWORD($1)\n" if ($dbg_values > 1);
+ $type = 'N';
+
+ } elsif ($cur =~ /^(\()/o) {
+ print "PAREN('$1')\n" if ($dbg_values > 1);
+ push(@av_paren_type, $av_pending);
+ $av_pending = '_';
+ $type = 'N';
+
+ } elsif ($cur =~ /^(\))/o) {
+ my $new_type = pop(@av_paren_type);
+ if ($new_type ne '_') {
+ $type = $new_type;
+ print "PAREN('$1') -> $type\n"
+ if ($dbg_values > 1);
+ } else {
+ print "PAREN('$1')\n" if ($dbg_values > 1);
+ }
+
+ } elsif ($cur =~ /^($Ident)\s*\(/o) {
+ print "FUNC($1)\n" if ($dbg_values > 1);
+ $type = 'V';
+ $av_pending = 'V';
+
+ } elsif ($cur =~ /^($Ident\s*):(?:\s*\d+\s*(,|=|;))?/) {
+ if (defined $2 && $type eq 'C' || $type eq 'T') {
+ $av_pend_colon = 'B';
+ } elsif ($type eq 'E') {
+ $av_pend_colon = 'L';
+ }
+ print "IDENT_COLON($1,$type>$av_pend_colon)\n" if ($dbg_values > 1);
+ $type = 'V';
+
+ } elsif ($cur =~ /^($Ident|$Constant)/o) {
+ print "IDENT($1)\n" if ($dbg_values > 1);
+ $type = 'V';
+
+ } elsif ($cur =~ /^($Assignment)/o) {
+ print "ASSIGN($1)\n" if ($dbg_values > 1);
+ $type = 'N';
+
+ } elsif ($cur =~/^(;|{|})/) {
+ print "END($1)\n" if ($dbg_values > 1);
+ $type = 'E';
+ $av_pend_colon = 'O';
+
+ } elsif ($cur =~/^(,)/) {
+ print "COMMA($1)\n" if ($dbg_values > 1);
+ $type = 'C';
+
+ } elsif ($cur =~ /^(\?)/o) {
+ print "QUESTION($1)\n" if ($dbg_values > 1);
+ $type = 'N';
+
+ } elsif ($cur =~ /^(:)/o) {
+ print "COLON($1,$av_pend_colon)\n" if ($dbg_values > 1);
+
+ substr($var, length($res), 1, $av_pend_colon);
+ if ($av_pend_colon eq 'C' || $av_pend_colon eq 'L') {
+ $type = 'E';
+ } else {
+ $type = 'N';
+ }
+ $av_pend_colon = 'O';
+
+ } elsif ($cur =~ /^(\[)/o) {
+ print "CLOSE($1)\n" if ($dbg_values > 1);
+ $type = 'N';
+
+ } elsif ($cur =~ /^(-(?![->])|\+(?!\+)|\*|\&\&|\&)/o) {
+ my $variant;
+
+ print "OPV($1)\n" if ($dbg_values > 1);
+ if ($type eq 'V') {
+ $variant = 'B';
+ } else {
+ $variant = 'U';
+ }
+
+ substr($var, length($res), 1, $variant);
+ $type = 'N';
+
+ } elsif ($cur =~ /^($Operators)/o) {
+ print "OP($1)\n" if ($dbg_values > 1);
+ if ($1 ne '++' && $1 ne '--') {
+ $type = 'N';
+ }
+
+ } elsif ($cur =~ /(^.)/o) {
+ print "C($1)\n" if ($dbg_values > 1);
+ }
+ if (defined $1) {
+ $cur = substr($cur, length($1));
+ $res .= $type x length($1);
+ }
+ }
+
+ return ($res, $var);
+}
+
+sub possible {
+ my ($possible, $line) = @_;
+ my $notPermitted = qr{(?:
+ ^(?:
+ $Modifier|
+ $Storage|
+ $Type|
+ DEFINE_\S+
+ )$|
+ ^(?:
+ goto|
+ return|
+ case|
+ else|
+ asm|__asm__|
+ do
+ )(?:\s|$)|
+ ^(?:typedef|struct|enum)\b|
+ ^\#
+ )}x;
+ warn "CHECK<$possible> ($line)\n" if ($dbg_possible > 2);
+ if ($possible !~ $notPermitted) {
+ # Check for modifiers.
+ $possible =~ s/\s*$Storage\s*//g;
+ $possible =~ s/\s*$Sparse\s*//g;
+ if ($possible =~ /^\s*$/) {
+
+ } elsif ($possible =~ /\s/) {
+ $possible =~ s/\s*(?:$Type|\#\#)\s*//g;
+ for my $modifier (split(' ', $possible)) {
+ if ($modifier !~ $notPermitted) {
+ warn "MODIFIER: $modifier ($possible) ($line)\n" if ($dbg_possible);
+ push(@modifierList, $modifier);
+ }
+ }
+
+ } else {
+ warn "POSSIBLE: $possible ($line)\n" if ($dbg_possible);
+ push(@typeList, $possible);
+ }
+ build_types();
+ } else {
+ warn "NOTPOSS: $possible ($line)\n" if ($dbg_possible > 1);
+ }
+}
+
+my $prefix = '';
+
+sub report {
+ my ($level, $msg) = @_;
+ if (defined $tst_only && $msg !~ /\Q$tst_only\E/) {
+ return 0;
+ }
+
+ my $output = '';
+ my $do_color = $color && !$github;
+ $output .= BOLD if $do_color;
+ $output .= "::error " if $github && $level eq 'ERROR';
+ $output .= "::warning " if $github && $level eq 'WARNING';
+ $output .= $prefix;
+ $output .= RED if $do_color && $level eq 'ERROR';
+ $output .= MAGENTA if $do_color && $level eq 'WARNING';
+ $output .= $level . ':' if !$github;
+ $output .= RESET if $do_color;
+ $output .= ' ' if (!$github);
+ $output .= $msg . "\n";
+
+ $output = (split('\n', $output))[0] . "\n" if ($terse);
+
+ push(our @report, $output);
+
+ return 1;
+}
+sub report_dump {
+ our @report;
+}
+sub ERROR {
+ if (report("ERROR", $_[0])) {
+ our $clean = 0;
+ our $cnt_error++;
+ }
+}
+sub WARN {
+ if (report("WARNING", $_[0])) {
+ our $clean = 0;
+ our $cnt_warn++;
+ }
+}
+
+# According to tests/qtest/bios-tables-test.c: do not
+# change expected file in the same commit with adding test
+sub checkfilename {
+ my ($name, $acpi_testexpected, $acpi_nontestexpected) = @_;
+
+ # Note: shell script that rebuilds the expected files is in the same
+ # directory as files themselves.
+ # Note: allowed diff list can be changed both when changing expected
+ # files and when changing tests.
+ if ($name =~ m#^tests/data/acpi/# and not $name =~ m#^\.sh$#) {
+ $$acpi_testexpected = $name;
+ } elsif ($name !~ m#^tests/qtest/bios-tables-test-allowed-diff.h$#) {
+ $$acpi_nontestexpected = $name;
+ }
+ if (defined $$acpi_testexpected and defined $$acpi_nontestexpected) {
+ ERROR("Do not add expected files together with tests, " .
+ "follow instructions in " .
+ "tests/qtest/bios-tables-test.c: both " .
+ $$acpi_testexpected . " and " .
+ $$acpi_nontestexpected . " found\n");
+ }
+}
+
+sub process {
+ my $filename = shift;
+
+ my $linenr=0;
+ my $prevline="";
+ my $prevrawline="";
+ my $stashline="";
+ my $stashrawline="";
+
+ my $length;
+ my $indent;
+ my $previndent=0;
+ my $stashindent=0;
+
+ our $clean = 1;
+ my $signoff = 0;
+ my $is_patch = 0;
+
+ my $in_header_lines = $file ? 0 : 1;
+ my $in_commit_log = 0; #Scanning lines before patch
+ my $non_utf8_charset = 0;
+
+ our @report = ();
+ our $cnt_lines = 0;
+ our $cnt_error = 0;
+ our $cnt_warn = 0;
+ our $cnt_chk = 0;
+
+ # Trace the real file/line as we go.
+ my $realfile = '';
+ my $realline = 0;
+ my $realcnt = 0;
+ my $here = '';
+ my $in_comment = 0;
+ my $comment_edge = 0;
+ my $first_line = 0;
+ my $p1_prefix = '';
+
+ my $prev_values = 'E';
+
+ # suppression flags
+ my %suppress_ifbraces;
+ my %suppress_whiletrailers;
+ my %suppress_export;
+
+ my $acpi_testexpected;
+ my $acpi_nontestexpected;
+
+ # Pre-scan the patch sanitizing the lines.
+
+ sanitise_line_reset();
+ my $line;
+ foreach my $rawline (@rawlines) {
+ $linenr++;
+ $line = $rawline;
+
+ if ($rawline=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
+ $realline=$1-1;
+ if (defined $2) {
+ $realcnt=$3+1;
+ } else {
+ $realcnt=1+1;
+ }
+ $in_comment = 0;
+
+ # Guestimate if this is a continuing comment. Run
+ # the context looking for a comment "edge". If this
+ # edge is a close comment then we must be in a comment
+ # at context start.
+ my $edge;
+ my $cnt = $realcnt;
+ for (my $ln = $linenr + 1; $cnt > 0; $ln++) {
+ next if (defined $rawlines[$ln - 1] &&
+ $rawlines[$ln - 1] =~ /^-/);
+ $cnt--;
+ #print "RAW<$rawlines[$ln - 1]>\n";
+ last if (!defined $rawlines[$ln - 1]);
+ if ($rawlines[$ln - 1] =~ m@(/\*|\*/)@ &&
+ $rawlines[$ln - 1] !~ m@"[^"]*(?:/\*|\*/)[^"]*"@) {
+ ($edge) = $1;
+ last;
+ }
+ }
+ if (defined $edge && $edge eq '*/') {
+ $in_comment = 1;
+ }
+
+ # Guestimate if this is a continuing comment. If this
+ # is the start of a diff block and this line starts
+ # ' *' then it is very likely a comment.
+ if (!defined $edge &&
+ $rawlines[$linenr] =~ m@^.\s*(?:\*\*+| \*)(?:\s|$)@)
+ {
+ $in_comment = 1;
+ }
+
+ ##print "COMMENT:$in_comment edge<$edge> $rawline\n";
+ sanitise_line_reset($in_comment);
+
+ } elsif ($realcnt && $rawline =~ /^(?:\+| |$)/) {
+ # Standardise the strings and chars within the input to
+ # simplify matching -- only bother with positive lines.
+ $line = sanitise_line($rawline);
+ }
+ push(@lines, $line);
+
+ if ($realcnt > 1) {
+ $realcnt-- if ($line =~ /^(?:\+| |$)/);
+ } else {
+ $realcnt = 0;
+ }
+
+ #print "==>$rawline\n";
+ #print "-->$line\n";
+ }
+
+ $prefix = '';
+
+ $realcnt = 0;
+ $linenr = 0;
+ foreach my $line (@lines) {
+ $linenr++;
+
+ my $rawline = $rawlines[$linenr - 1];
+
+#extract the line range in the file after the patch is applied
+ if ($line=~/^\@\@ -\d+(?:,\d+)? \+(\d+)(,(\d+))? \@\@/) {
+ $is_patch = 1;
+ $first_line = $linenr + 1;
+ $realline=$1-1;
+ if (defined $2) {
+ $realcnt=$3+1;
+ } else {
+ $realcnt=1+1;
+ }
+ annotate_reset();
+ $prev_values = 'E';
+
+ %suppress_ifbraces = ();
+ %suppress_whiletrailers = ();
+ %suppress_export = ();
+ next;
+
+# track the line number as we move through the hunk, note that
+# new versions of GNU diff omit the leading space on completely
+# blank context lines so we need to count that too.
+ } elsif ($line =~ /^( |\+|$)/) {
+ $realline++;
+ $realcnt-- if ($realcnt != 0);
+
+ # Measure the line length and indent.
+ ($length, $indent) = line_stats($rawline);
+
+ # Track the previous line.
+ ($prevline, $stashline) = ($stashline, $line);
+ ($previndent, $stashindent) = ($stashindent, $indent);
+ ($prevrawline, $stashrawline) = ($stashrawline, $rawline);
+
+ #warn "line<$line>\n";
+
+ } elsif ($realcnt == 1) {
+ $realcnt--;
+ }
+
+ my $hunk_line = ($realcnt != 0);
+
+#make up the handle for any error we report on this line
+ $prefix = "$filename:$realline: " if ($emacs && $file);
+ $prefix = "$filename:$linenr: " if ($emacs && !$file);
+ $prefix = "file=$filename,line=$realline:\:" if ($github && $file);
+ $prefix = "file=$realfile,line=$realline:\:" if ($github && !$file);
+
+ $here = "#$linenr: " if (!$file);
+ $here = "#$realline: " if ($file);
+
+ # extract the filename as it passes
+ if ($line =~ /^diff --git.*?(\S+)$/) {
+ $realfile = $1;
+ $realfile =~ s@^([^/]*)/@@ if (!$file);
+ checkfilename($realfile, \$acpi_testexpected, \$acpi_nontestexpected);
+ } elsif ($line =~ /^\+\+\+\s+(\S+)/) {
+ $realfile = $1;
+ $realfile =~ s@^([^/]*)/@@ if (!$file);
+ checkfilename($realfile, \$acpi_testexpected, \$acpi_nontestexpected);
+
+ $p1_prefix = $1;
+ if (!$file && $tree && $p1_prefix ne '' && defined $root &&
+ -e "$root/$p1_prefix") {
+ WARN("patch prefix '$p1_prefix' exists, appears to be a -p0 patch\n");
+ }
+
+ next;
+ }
+
+ $here .= "FILE: $realfile:$realline:" if ($realcnt != 0);
+
+ my $hereline = "$here\n$rawline\n";
+ my $herecurr = "$here\n$rawline\n";
+ my $hereprev = "$here\n$prevrawline\n$rawline\n";
+
+ $cnt_lines++ if ($realcnt != 0);
+
+# Check for incorrect file permissions
+ if ($line =~ /^new (file )?mode.*[7531]\d{0,2}$/) {
+ my $permhere = $here . "FILE: $realfile\n";
+ if ($realfile =~ /(\bMakefile(?:\.objs)?|\.c|\.cc|\.cpp|\.h|\.mak|\.[sS])$/) {
+ ERROR("do not set execute permissions for source files\n" . $permhere);
+ }
+ }
+
+# Accept git diff extended headers as valid patches
+ if ($line =~ /^(?:rename|copy) (?:from|to) [\w\/\.\-]+\s*$/) {
+ $is_patch = 1;
+ }
+
+# Filter out bad email addresses.
+ if ($line =~ /^(Author|From): .*noreply.*/) {
+ ERROR("Real email adress is needed\n" . $herecurr);
+ }
+
+#check the patch for a signoff:
+ if ($line =~ /^\s*signed-off-by:/i) {
+ # This is a signoff, if ugly, so do not double report.
+ $in_commit_log = 0;
+
+ if (!($line =~ /^\s*Signed-off-by:/)) {
+ ERROR("The correct form is \"Signed-off-by\"\n" .
+ $herecurr);
+ }
+ if ($line =~ /^\s*signed-off-by:\S/i) {
+ ERROR("space required after Signed-off-by:\n" .
+ $herecurr);
+ }
+ }
+
+# Check for wrappage within a valid hunk of the file
+ if ($realcnt != 0 && $line !~ m{^(?:\+|-| |\\ No newline|$)}) {
+ ERROR("patch seems to be corrupt (line wrapped?)\n" .
+ $herecurr) if (!$emitted_corrupt++);
+ }
+
+# UTF-8 regex found at http://www.w3.org/International/questions/qa-forms-utf-8.en.php
+ if (($realfile =~ /^$/ || $line =~ /^\+/) &&
+ $rawline !~ m/^$UTF8*$/) {
+ my ($utf8_prefix) = ($rawline =~ /^($UTF8*)/);
+
+ my $blank = copy_spacing($rawline);
+ my $ptr = substr($blank, 0, length($utf8_prefix)) . "^";
+ my $hereptr = "$hereline$ptr\n";
+
+ ERROR("Invalid UTF-8, patch and commit message should be encoded in UTF-8\n" . $hereptr);
+ }
+
+ if ($rawline =~ m/$UTF8_MOJIBAKE/) {
+ ERROR("Doubly-encoded UTF-8\n" . $herecurr);
+ }
+# Check if it's the start of a commit log
+# (not a header line and we haven't seen the patch filename)
+ if ($in_header_lines && $realfile =~ /^$/ &&
+ !($rawline =~ /^\s+\S/ ||
+ $rawline =~ /^(commit\b|from\b|[\w-]+:).*$/i)) {
+ $in_header_lines = 0;
+ $in_commit_log = 1;
+ }
+
+# Check if there is UTF-8 in a commit log when a mail header has explicitly
+# declined it, i.e defined some charset where it is missing.
+ if ($in_header_lines &&
+ $rawline =~ /^Content-Type:.+charset="(.+)".*$/ &&
+ $1 !~ /utf-8/i) {
+ $non_utf8_charset = 1;
+ }
+
+ if ($in_commit_log && $non_utf8_charset && $realfile =~ /^$/ &&
+ $rawline =~ /$NON_ASCII_UTF8/) {
+ WARN("8-bit UTF-8 used in possible commit log\n" . $herecurr);
+ }
+
+# ignore non-hunk lines and lines being removed
+ next if (!$hunk_line || $line =~ /^-/);
+
+#trailing whitespace
+ if ($line =~ /^\+.*\015/) {
+ my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+ ERROR("DOS line endings\n" . $herevet);
+
+ } elsif ($realfile =~ /^docs\/.+\.txt/ ||
+ $realfile =~ /^docs\/.+\.md/) {
+ if ($rawline =~ /^\+\s+$/ && $rawline !~ /^\+ {4}$/) {
+ # TODO: properly check we're in a code block
+ # (surrounding text is 4-column aligned)
+ my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+ ERROR("code blocks in documentation should have " .
+ "empty lines with exactly 4 columns of " .
+ "whitespace\n" . $herevet);
+ }
+ } elsif ($rawline =~ /^\+.*\S\s+$/ || $rawline =~ /^\+\s+$/) {
+ my $herevet = "$here\n" . cat_vet($rawline) . "\n";
+ ERROR("trailing whitespace\n" . $herevet);
+ $rpt_cleaners = 1;
+ }
+
+# check we are in a valid source file if not then ignore this hunk
+ next if ($realfile !~ /$SrcFile/);
+
+#120 column limit; exempt URLs, if no other words on line
+ if ($line =~ /^\+/ &&
+ !($line =~ /^\+\s*"[^"]*"\s*(?:\s*|,|\)\s*;)\s*$/) &&
+ !($rawline =~ /^[^[:alnum:]]*https?:\S*$/) &&
+ $length > 80 &&
+ $realfile !~ /\/tests\//)
+ {
+ if ($length > 120) {
+ ERROR("line over 120 characters\n" . $herecurr);
+ } else {
+ WARN("line over 80 characters\n" . $herecurr);
+ }
+ }
+
+# check for spaces before a quoted newline
+ if ($rawline =~ /^.*\".*\s\\n/) {
+ ERROR("unnecessary whitespace before a quoted newline\n" . $herecurr);
+ }
+
+# check for adding lines without a newline.
+ if ($line =~ /^\+/ && defined $lines[$linenr] && $lines[$linenr] =~ /^\\ No newline at end of file/) {
+ ERROR("adding a line without newline at end of file\n" . $herecurr);
+ }
+
+# check for RCS/CVS revision markers
+ if ($rawline =~ /^\+.*\$(FreeBSD|Revision|Log|Id)(?:\$|\b)/) {
+ ERROR("CVS style keyword markers, these will _not_ be updated\n". $herecurr);
+ }
+
+# check we are in a valid C source file if not then ignore this hunk
+ next if ($realfile !~ /\.(h|c|cpp)$/);
+
+# Block comment styles
+
+ # Block comments use /* on a line of its own
+ if ($rawline !~ m@^\+.*/\*.*\*/[ \t)}]*$@ && #inline /*...*/
+ $rawline =~ m@^\+.*/\*[*-]?+[ \t]*[^ \t]@) { # /* or /** or /*- non-blank
+ WARN("Block comments use a leading /* on a separate line\n" . $herecurr);
+ }
+
+# Block comments use * on subsequent lines
+ if ($prevline =~ /$;[ \t]*$/ && #ends in comment
+ $prevrawline =~ /^\+.*?\/\*/ && #starting /*
+ $prevrawline !~ /\*\/[ \t]*$/ && #no trailing */
+ $rawline =~ /^\+/ && #line is new
+ $rawline !~ /^\+[ \t]*\*/) { #no leading *
+ WARN("Block comments use * on subsequent lines\n" . $hereprev);
+ }
+
+# Block comments use */ on trailing lines
+ if ($rawline !~ m@^\+[ \t]*\*/[ \t]*$@ && #trailing */
+ $rawline !~ m@^\+.*/\*.*\*/[ \t]*$@ && #inline /*...*/
+ $rawline !~ m@^\+.*\*{2,}/[ \t]*$@ && #trailing **/
+ $rawline =~ m@^\+[ \t]*.+\*\/[ \t]*$@) { #non blank */
+ WARN("Block comments use a trailing */ on a separate line\n" . $herecurr);
+ }
+
+# Block comment * alignment
+ if ($prevline =~ /$;[ \t]*$/ && #ends in comment
+ $line =~ /^\+[ \t]*$;/ && #leading comment
+ $rawline =~ /^\+[ \t]*\*/ && #leading *
+ (($prevrawline =~ /^\+.*?\/\*/ && #leading /*
+ $prevrawline !~ /\*\/[ \t]*$/) || #no trailing */
+ $prevrawline =~ /^\+[ \t]*\*/)) { #leading *
+ my $oldindent;
+ $prevrawline =~ m@^\+([ \t]*/?)\*@;
+ if (defined($1)) {
+ $oldindent = expand_tabs($1);
+ } else {
+ $prevrawline =~ m@^\+(.*/?)\*@;
+ $oldindent = expand_tabs($1);
+ }
+ $rawline =~ m@^\+([ \t]*)\*@;
+ my $newindent = $1;
+ $newindent = expand_tabs($newindent);
+ if (length($oldindent) ne length($newindent)) {
+ WARN("Block comments should align the * on each line\n" . $hereprev);
+ }
+ }
+
+# Check for potential 'bare' types
+ my ($stat, $cond, $line_nr_next, $remain_next, $off_next,
+ $realline_next);
+ if ($realcnt && $line =~ /.\s*\S/) {
+ ($stat, $cond, $line_nr_next, $remain_next, $off_next) =
+ ctx_statement_block($linenr, $realcnt, 0);
+ $stat =~ s/\n./\n /g;
+ $cond =~ s/\n./\n /g;
+
+ # Find the real next line.
+ $realline_next = $line_nr_next;
+ if (defined $realline_next &&
+ (!defined $lines[$realline_next - 1] ||
+ substr($lines[$realline_next - 1], $off_next) =~ /^\s*$/)) {
+ $realline_next++;
+ }
+
+ my $s = $stat;
+ $s =~ s/{.*$//s;
+
+ # Ignore goto labels.
+ if ($s =~ /$Ident:\*$/s) {
+
+ # Ignore functions being called
+ } elsif ($s =~ /^.\s*$Ident\s*\(/s) {
+
+ } elsif ($s =~ /^.\s*else\b/s) {
+
+ # declarations always start with types
+ } elsif ($prev_values eq 'E' && $s =~ /^.\s*(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?((?:\s*$Ident)+?)\b(?:\s+$Sparse)?\s*\**\s*(?:$Ident|\(\*[^\)]*\))(?:\s*$Modifier)?\s*(?:;|=|,|\()/s) {
+ my $type = $1;
+ $type =~ s/\s+/ /g;
+ possible($type, "A:" . $s);
+
+ # definitions in global scope can only start with types
+ } elsif ($s =~ /^.(?:$Storage\s+)?(?:$Inline\s+)?(?:const\s+)?($Ident)\b\s*(?!:)/s) {
+ possible($1, "B:" . $s);
+ }
+
+ # any (foo ... *) is a pointer cast, and foo is a type
+ while ($s =~ /\(($Ident)(?:\s+$Sparse)*[\s\*]+\s*\)/sg) {
+ possible($1, "C:" . $s);
+ }
+
+ # Check for any sort of function declaration.
+ # int foo(something bar, other baz);
+ # void (*store_gdt)(x86_descr_ptr *);
+ if ($prev_values eq 'E' && $s =~ /^(.(?:typedef\s*)?(?:(?:$Storage|$Inline)\s*)*\s*$Type\s*(?:\b$Ident|\(\*\s*$Ident\))\s*)\(/s) {
+ my ($name_len) = length($1);
+
+ my $ctx = $s;
+ substr($ctx, 0, $name_len + 1, '');
+ $ctx =~ s/\)[^\)]*$//;
+
+ for my $arg (split(/\s*,\s*/, $ctx)) {
+ if ($arg =~ /^(?:const\s+)?($Ident)(?:\s+$Sparse)*\s*\**\s*(:?\b$Ident)?$/s || $arg =~ /^($Ident)$/s) {
+
+ possible($1, "D:" . $s);
+ }
+ }
+ }
+
+ }
+
+#
+# Checks which may be anchored in the context.
+#
+
+# Check for switch () and associated case and default
+# statements should be at the same indent.
+ if ($line=~/\bswitch\s*\(.*\)/) {
+ my $err = '';
+ my $sep = '';
+ my @ctx = ctx_block_outer($linenr, $realcnt);
+ shift(@ctx);
+ for my $ctx (@ctx) {
+ my ($clen, $cindent) = line_stats($ctx);
+ if ($ctx =~ /^\+\s*(case\s+|default:)/ &&
+ $indent != $cindent) {
+ $err .= "$sep$ctx\n";
+ $sep = '';
+ } else {
+ $sep = "[...]\n";
+ }
+ }
+ if ($err ne '') {
+ ERROR("switch and case should be at the same indent\n$hereline$err");
+ }
+ }
+
+# if/while/etc brace do not go on next line, unless defining a do while loop,
+# or if that brace on the next line is for something else
+ if ($line =~ /(.*)\b((?:if|while|for|switch)\s*\(|do\b|else\b)/ && $line !~ /^.\s*\#/) {
+ my $pre_ctx = "$1$2";
+
+ my ($level, @ctx) = ctx_statement_level($linenr, $realcnt, 0);
+ my $ctx_cnt = $realcnt - $#ctx - 1;
+ my $ctx = join("\n", @ctx);
+
+ my $ctx_ln = $linenr;
+ my $ctx_skip = $realcnt;
+
+ while ($ctx_skip > $ctx_cnt || ($ctx_skip == $ctx_cnt &&
+ defined $lines[$ctx_ln - 1] &&
+ $lines[$ctx_ln - 1] =~ /^-/)) {
+ ##print "SKIP<$ctx_skip> CNT<$ctx_cnt>\n";
+ $ctx_skip-- if (!defined $lines[$ctx_ln - 1] || $lines[$ctx_ln - 1] !~ /^-/);
+ $ctx_ln++;
+ }
+
+ #print "realcnt<$realcnt> ctx_cnt<$ctx_cnt>\n";
+ #print "pre<$pre_ctx>\nline<$line>\nctx<$ctx>\nnext<$lines[$ctx_ln - 1]>\n";
+
+ # The length of the "previous line" is checked against 80 because it
+ # includes the + at the beginning of the line (if the actual line has
+ # 79 or 80 characters, it is no longer possible to add a space and an
+ # opening brace there)
+ if ($#ctx == 0 && $ctx !~ /{\s*/ &&
+ defined($lines[$ctx_ln - 1]) && $lines[$ctx_ln - 1] =~ /^\+\s*\{/ &&
+ defined($lines[$ctx_ln - 2]) && length($lines[$ctx_ln - 2]) < 80) {
+ ERROR("that open brace { should be on the previous line\n" .
+ "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
+ }
+ if ($level == 0 && $pre_ctx !~ /}\s*while\s*\($/ &&
+ $ctx =~ /\)\s*\;\s*$/ &&
+ defined $lines[$ctx_ln - 1])
+ {
+ my ($nlength, $nindent) = line_stats($lines[$ctx_ln - 1]);
+ if ($nindent > $indent) {
+ ERROR("trailing semicolon indicates no statements, indent implies otherwise\n" .
+ "$here\n$ctx\n$rawlines[$ctx_ln - 1]\n");
+ }
+ }
+ }
+
+# 'do ... while (0/false)' only makes sense in macros, without trailing ';'
+ if ($line =~ /while\s*\((0|false)\);/) {
+ ERROR("suspicious ; after while (0)\n" . $herecurr);
+ }
+
+# Check superfluous trailing ';'
+ if ($line =~ /;;$/) {
+ ERROR("superfluous trailing semicolon\n" . $herecurr);
+ }
+
+# Check relative indent for conditionals and blocks.
+ if ($line =~ /\b(?:(?:if|while|for)\s*\(|do\b)/ && $line !~ /^.\s*#/ && $line !~ /\}\s*while\s*/) {
+ my ($s, $c) = ($stat, $cond);
+
+ substr($s, 0, length($c), '');
+
+ # Make sure we remove the line prefixes as we have
+ # none on the first line, and are going to re-add them
+ # where necessary.
+ $s =~ s/\n./\n/gs;
+
+ # Find out how long the conditional actually is.
+ my @newlines = ($c =~ /\n/gs);
+ my $cond_lines = 1 + $#newlines;
+
+ # We want to check the first line inside the block
+ # starting at the end of the conditional, so remove:
+ # 1) any blank line termination
+ # 2) any opening brace { on end of the line
+ # 3) any do (...) {
+ my $continuation = 0;
+ my $check = 0;
+ $s =~ s/^.*\bdo\b//;
+ $s =~ s/^\s*\{//;
+ if ($s =~ s/^\s*\\//) {
+ $continuation = 1;
+ }
+ if ($s =~ s/^\s*?\n//) {
+ $check = 1;
+ $cond_lines++;
+ }
+
+ # Also ignore a loop construct at the end of a
+ # preprocessor statement.
+ if (($prevline =~ /^.\s*#\s*define\s/ ||
+ $prevline =~ /\\\s*$/) && $continuation == 0) {
+ $check = 0;
+ }
+
+ my $cond_ptr = -1;
+ $continuation = 0;
+ while ($cond_ptr != $cond_lines) {
+ $cond_ptr = $cond_lines;
+
+ # If we see an #else/#elif then the code
+ # is not linear.
+ if ($s =~ /^\s*\#\s*(?:else|elif)/) {
+ $check = 0;
+ }
+
+ # Ignore:
+ # 1) blank lines, they should be at 0,
+ # 2) preprocessor lines, and
+ # 3) labels.
+ if ($continuation ||
+ $s =~ /^\s*?\n/ ||
+ $s =~ /^\s*#\s*?/ ||
+ $s =~ /^\s*$Ident\s*:/) {
+ $continuation = ($s =~ /^.*?\\\n/) ? 1 : 0;
+ if ($s =~ s/^.*?\n//) {
+ $cond_lines++;
+ }
+ }
+ }
+
+ my (undef, $sindent) = line_stats("+" . $s);
+ my $stat_real = raw_line($linenr, $cond_lines);
+
+ # Check if either of these lines are modified, else
+ # this is not this patch's fault.
+ if (!defined($stat_real) ||
+ $stat !~ /^\+/ && $stat_real !~ /^\+/) {
+ $check = 0;
+ }
+ if (defined($stat_real) && $cond_lines > 1) {
+ $stat_real = "[...]\n$stat_real";
+ }
+
+ #print "line<$line> prevline<$prevline> indent<$indent> sindent<$sindent> check<$check> continuation<$continuation> s<$s> cond_lines<$cond_lines> stat_real<$stat_real> stat<$stat>\n";
+
+ if ($check && (($sindent % 4) != 0 ||
+ ($sindent <= $indent && $s ne ''))) {
+ ERROR("suspect code indent for conditional statements ($indent, $sindent)\n" . $herecurr . "$stat_real\n");
+ }
+ }
+
+ # Track the 'values' across context and added lines.
+ my $opline = $line; $opline =~ s/^./ /;
+ my ($curr_values, $curr_vars) =
+ annotate_values($opline . "\n", $prev_values);
+ $curr_values = $prev_values . $curr_values;
+ if ($dbg_values) {
+ my $outline = $opline; $outline =~ s/\t/ /g;
+ print "$linenr > .$outline\n";
+ print "$linenr > $curr_values\n";
+ print "$linenr > $curr_vars\n";
+ }
+ $prev_values = substr($curr_values, -1);
+
+#ignore lines not being added
+ if ($line=~/^[^\+]/) {next;}
+
+# check for initialisation to aggregates open brace on the next line
+ if ($line =~ /^.\s*\{/ &&
+ $prevline =~ /(?:^|[^=])=\s*$/) {
+ ERROR("that open brace { should be on the previous line\n" . $hereprev);
+ }
+
+#
+# Checks which are anchored on the added line.
+#
+
+# check for malformed paths in #include statements (uses RAW line)
+ if ($rawline =~ m{^.\s*\#\s*include\s+[<"](.*)[">]}) {
+ my $path = $1;
+ if ($path =~ m{//}) {
+ ERROR("malformed #include filename\n" .
+ $herecurr);
+ }
+ }
+
+# Remove C99 comments.
+ $line =~ s@//.*@@;
+ $opline =~ s@//.*@@;
+
+# * goes on variable not on type
+ # (char*[ const])
+ if ($line =~ m{\($NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)\)}) {
+ my ($from, $to) = ($1, $1);
+
+ # Should start with a space.
+ $to =~ s/^(\S)/ $1/;
+ # Should not end with a space.
+ $to =~ s/\s+$//;
+ # '*'s should not have spaces between.
+ while ($to =~ s/\*\s+\*/\*\*/) {
+ }
+
+ #print "from<$from> to<$to>\n";
+ if ($from ne $to) {
+ ERROR("\"(foo$from)\" should be \"(foo$to)\"\n" . $herecurr);
+ }
+ } elsif ($line =~ m{\b$NonptrType(\s*(?:$Modifier\b\s*|\*\s*)+)($Ident)}) {
+ my ($from, $to, $ident) = ($1, $1, $2);
+
+ # Should start with a space.
+ $to =~ s/^(\S)/ $1/;
+ # Should not end with a space.
+ $to =~ s/\s+$//;
+ # '*'s should not have spaces between.
+ while ($to =~ s/\*\s+\*/\*\*/) {
+ }
+ # Modifiers should have spaces.
+ $to =~ s/(\b$Modifier$)/$1 /;
+
+ #print "from<$from> to<$to> ident<$ident>\n";
+ if ($from ne $to && $ident !~ /^$Modifier$/) {
+ ERROR("\"foo${from}bar\" should be \"foo${to}bar\"\n" . $herecurr);
+ }
+ }
+
+# function brace can't be on same line, except for #defines of do while,
+# or if closed on same line
+ if (($line=~/$Type\s*$Ident\(.*\).*\s\{/) and
+ !($line=~/\#\s*define.*do\s\{/) and !($line=~/}/)) {
+ ERROR("open brace '{' following function declarations go on the next line\n" . $herecurr);
+ }
+
+# missing space after union, struct or enum definition
+ if ($line =~ /^.\s*(?:typedef\s+)?(enum|union|struct)(?:\s+$Ident)?(?:\s+$Ident)?[=\{]/) {
+ ERROR("missing space after $1 definition\n" . $herecurr);
+ }
+
+# check for spacing round square brackets; allowed:
+# 1. with a type on the left -- int [] a;
+# 2. at the beginning of a line for slice initialisers -- [0...10] = 5,
+# 3. inside a curly brace -- = { [0...10] = 5 }
+# 4. after a comma -- [1] = 5, [2] = 6
+# 5. in a macro definition -- #define abc(x) [x] = y
+ while ($line =~ /(.*?\s)\[/g) {
+ my ($where, $prefix) = ($-[1], $1);
+ if ($prefix !~ /$Type\s+$/ &&
+ ($where != 0 || $prefix !~ /^.\s+$/) &&
+ $prefix !~ /\#\s*define[^(]*\([^)]*\)\s+$/ &&
+ $prefix !~ /[,{:]\s+$/) {
+ ERROR("space prohibited before open square bracket '['\n" . $herecurr);
+ }
+ }
+
+# check for spaces between functions and their parentheses.
+ while ($line =~ /($Ident)\s+\(/g) {
+ my $name = $1;
+ my $ctx_before = substr($line, 0, $-[1]);
+ my $ctx = "$ctx_before$name";
+
+ # Ignore those directives where spaces _are_ permitted.
+ if ($name =~ /^(?:
+ if|for|while|switch|return|case|
+ volatile|__volatile__|coroutine_fn|
+ __attribute__|format|__extension__|
+ asm|__asm__)$/x)
+ {
+
+ # Ignore 'catch (...)' in C++
+ } elsif ($name =~ /^catch$/ && $realfile =~ /(\.cpp|\.h)$/) {
+
+ # cpp #define statements have non-optional spaces, ie
+ # if there is a space between the name and the open
+ # parenthesis it is simply not a parameter group.
+ } elsif ($ctx_before =~ /^.\s*\#\s*define\s*$/) {
+
+ # cpp #elif statement condition may start with a (
+ } elsif ($ctx =~ /^.\s*\#\s*elif\s*$/) {
+
+ # If this whole things ends with a type its most
+ # likely a typedef for a function.
+ } elsif ($ctx =~ /$Type$/) {
+
+ } else {
+ ERROR("space prohibited between function name and open parenthesis '('\n" . $herecurr);
+ }
+ }
+# Check operator spacing.
+ if (!($line=~/\#\s*include/)) {
+ my $ops = qr{
+ <<=|>>=|<=|>=|==|!=|
+ \+=|-=|\*=|\/=|%=|\^=|\|=|&=|
+ =>|->|<<|>>|<|>|=|!|~|
+ &&|\|\||,|\^|\+\+|--|&|\||\+|-|\*|\/|%|
+ \?|::|:
+ }x;
+ my @elements = split(/($ops|;)/, $opline);
+ my $off = 0;
+
+ my $blank = copy_spacing($opline);
+
+ for (my $n = 0; $n < $#elements; $n += 2) {
+ $off += length($elements[$n]);
+
+ # Pick up the preceding and succeeding characters.
+ my $ca = substr($opline, 0, $off);
+ my $cc = '';
+ if (length($opline) >= ($off + length($elements[$n + 1]))) {
+ $cc = substr($opline, $off + length($elements[$n + 1]));
+ }
+ my $cb = "$ca$;$cc";
+
+ my $a = '';
+ $a = 'V' if ($elements[$n] ne '');
+ $a = 'W' if ($elements[$n] =~ /\s$/);
+ $a = 'C' if ($elements[$n] =~ /$;$/);
+ $a = 'B' if ($elements[$n] =~ /(\[|\()$/);
+ $a = 'O' if ($elements[$n] eq '');
+ $a = 'E' if ($ca =~ /^\s*$/);
+
+ my $op = $elements[$n + 1];
+
+ my $c = '';
+ if (defined $elements[$n + 2]) {
+ $c = 'V' if ($elements[$n + 2] ne '');
+ $c = 'W' if ($elements[$n + 2] =~ /^\s/);
+ $c = 'C' if ($elements[$n + 2] =~ /^$;/);
+ $c = 'B' if ($elements[$n + 2] =~ /^(\)|\]|;)/);
+ $c = 'O' if ($elements[$n + 2] eq '');
+ $c = 'E' if ($elements[$n + 2] =~ /^\s*\\$/);
+ } else {
+ $c = 'E';
+ }
+
+ my $ctx = "${a}x${c}";
+
+ my $at = "(ctx:$ctx)";
+
+ my $ptr = substr($blank, 0, $off) . "^";
+ my $hereptr = "$hereline$ptr\n";
+
+ # Pull out the value of this operator.
+ my $op_type = substr($curr_values, $off + 1, 1);
+
+ # Get the full operator variant.
+ my $opv = $op . substr($curr_vars, $off, 1);
+
+ # Ignore operators passed as parameters.
+ if ($op_type ne 'V' &&
+ $ca =~ /\s$/ && $cc =~ /^\s*,/) {
+
+# # Ignore comments
+# } elsif ($op =~ /^$;+$/) {
+
+ # ; should have either the end of line or a space or \ after it
+ } elsif ($op eq ';') {
+ if ($ctx !~ /.x[WEBC]/ &&
+ $cc !~ /^\\/ && $cc !~ /^;/) {
+ ERROR("space required after that '$op' $at\n" . $hereptr);
+ }
+
+ # // is a comment
+ } elsif ($op eq '//') {
+
+ # Ignore : used in class declaration in C++
+ } elsif ($opv eq ':B' && $ctx =~ /Wx[WE]/ &&
+ $line =~ /class/ && $realfile =~ /(\.cpp|\.h)$/) {
+
+ # No spaces for:
+ # ->
+ # : when part of a bitfield
+ } elsif ($op eq '->' || $opv eq ':B') {
+ if ($ctx =~ /Wx.|.xW/) {
+ ERROR("spaces prohibited around that '$op' $at\n" . $hereptr);
+ }
+
+ # , must have a space on the right.
+ # not required when having a single },{ on one line
+ } elsif ($op eq ',') {
+ if ($ctx !~ /.x[WEC]/ && $cc !~ /^}/ &&
+ ($elements[$n] . $elements[$n + 2]) !~ " *}\\{") {
+ ERROR("space required after that '$op' $at\n" . $hereptr);
+ }
+
+ # '*' as part of a type definition -- reported already.
+ } elsif ($opv eq '*_') {
+ #warn "'*' is part of type\n";
+
+ # unary operators should have a space before and
+ # none after. May be left adjacent to another
+ # unary operator, or a cast
+ } elsif ($op eq '!' || $op eq '~' ||
+ $opv eq '*U' || $opv eq '-U' ||
+ $opv eq '&U' || $opv eq '&&U') {
+ if ($op eq '~' && $ca =~ /::$/ && $realfile =~ /(\.cpp|\.h)$/) {
+ # '~' used as a name of Destructor
+
+ } elsif ($ctx !~ /[WEBC]x./ && $ca !~ /(?:\)|!|~|\*|-|\&|\||\+\+|\-\-|\{)$/) {
+ ERROR("space required before that '$op' $at\n" . $hereptr);
+ }
+ if ($op eq '*' && $cc =~/\s*$Modifier\b/) {
+ # A unary '*' may be const
+
+ } elsif ($ctx =~ /.xW/) {
+ ERROR("space prohibited after that '$op' $at\n" . $hereptr);
+ }
+
+ # unary ++ and unary -- are allowed no space on one side.
+ } elsif ($op eq '++' or $op eq '--') {
+ if ($ctx !~ /[WEOBC]x[^W]/ && $ctx !~ /[^W]x[WOBEC]/) {
+ ERROR("space required one side of that '$op' $at\n" . $hereptr);
+ }
+ if ($ctx =~ /Wx[BE]/ ||
+ ($ctx =~ /Wx./ && $cc =~ /^;/)) {
+ ERROR("space prohibited before that '$op' $at\n" . $hereptr);
+ }
+ if ($ctx =~ /ExW/) {
+ ERROR("space prohibited after that '$op' $at\n" . $hereptr);
+ }
+
+ # A colon needs no spaces before when it is
+ # terminating a case value or a label.
+ } elsif ($opv eq ':C' || $opv eq ':L') {
+ if ($ctx =~ /Wx./) {
+ ERROR("space prohibited before that '$op' $at\n" . $hereptr);
+ }
+
+ # All the others need spaces both sides.
+ } elsif ($ctx !~ /[EWC]x[CWE]/) {
+ my $ok = 0;
+
+ if ($realfile =~ /\.cpp|\.h$/) {
+ # Ignore template arguments <...> in C++
+ if (($op eq '<' || $op eq '>') && $line =~ /<.*>/) {
+ $ok = 1;
+ }
+
+ # Ignore :: in C++
+ if ($op eq '::') {
+ $ok = 1;
+ }
+ }
+
+ # Ignore email addresses <foo@bar>
+ if (($op eq '<' &&
+ $cc =~ /^\S+\@\S+>/) ||
+ ($op eq '>' &&
+ $ca =~ /<\S+\@\S+$/))
+ {
+ $ok = 1;
+ }
+
+ # Ignore ?:
+ if (($opv eq ':O' && $ca =~ /\?$/) ||
+ ($op eq '?' && $cc =~ /^:/)) {
+ $ok = 1;
+ }
+
+ if ($ok == 0) {
+ ERROR("spaces required around that '$op' $at\n" . $hereptr);
+ }
+ }
+ $off += length($elements[$n + 1]);
+ }
+ }
+
+#need space before brace following if, while, etc
+ if (($line =~ /\(.*\)\{/ && $line !~ /\($Type\)\{/) ||
+ $line =~ /do\{/) {
+ ERROR("space required before the open brace '{'\n" . $herecurr);
+ }
+
+# closing brace should have a space following it when it has anything
+# on the line
+ if ($line =~ /}(?!(?:,|;|\)))\S/) {
+ ERROR("space required after that close brace '}'\n" . $herecurr);
+ }
+
+# check spacing on square brackets
+ if ($line =~ /\[\s/ && $line !~ /\[\s*$/) {
+ ERROR("space prohibited after that open square bracket '['\n" . $herecurr);
+ }
+ if ($line =~ /\s\]/) {
+ ERROR("space prohibited before that close square bracket ']'\n" . $herecurr);
+ }
+
+# check spacing on parentheses
+ if ($line =~ /\(\s/ && $line !~ /\(\s*(?:\\)?$/ &&
+ $line !~ /for\s*\(\s+;/) {
+ ERROR("space prohibited after that open parenthesis '('\n" . $herecurr);
+ }
+ if ($line =~ /(\s+)\)/ && $line !~ /^.\s*\)/ &&
+ $line !~ /for\s*\(.*;\s+\)/ &&
+ $line !~ /:\s+\)/) {
+ ERROR("space prohibited before that close parenthesis ')'\n" . $herecurr);
+ }
+
+ if ($line =~ /^.\s*(Q(?:S?LIST|SIMPLEQ|TAILQ)_HEAD)\s*\(\s*[^,]/ &&
+ $line !~ /^.typedef/) {
+ ERROR("named $1 should be typedefed separately\n" . $herecurr);
+ }
+
+# Return needs parens
+ if ($line =~ /^.\s*return [^(]/) {
+ ERROR("parentheses required on return\n" . $herecurr);
+ }
+
+# Need a space before open parenthesis after if, while etc
+ if ($line=~/\b(if|while|for|switch|return)\(/) {
+ ERROR("space required before the open parenthesis '('\n" . $herecurr);
+ }
+
+# Check for illegal assignment in if conditional -- and check for trailing
+# statements after the conditional.
+ if ($line =~ /do\s*(?!{)/) {
+ my ($stat_next) = ctx_statement_block($line_nr_next,
+ $remain_next, $off_next);
+ $stat_next =~ s/\n./\n /g;
+ ##print "stat<$stat> stat_next<$stat_next>\n";
+
+ if ($stat_next =~ /^\s*while\b/) {
+ # If the statement carries leading newlines,
+ # then count those as offsets.
+ my ($whitespace) =
+ ($stat_next =~ /^((?:\s*\n[+-])*\s*)/s);
+ my $offset =
+ statement_rawlines($whitespace) - 1;
+
+ $suppress_whiletrailers{$line_nr_next +
+ $offset} = 1;
+ }
+ }
+ if (!defined $suppress_whiletrailers{$linenr} &&
+ $line =~ /\b(?:if|while|for)\s*\(/ && $line !~ /^.\s*#/) {
+ my ($s, $c) = ($stat, $cond);
+
+# if ($c =~ /\bif\s*\(.*[^<>!=]=[^=].*/s) {
+# ERROR("do not use assignment in if condition\n" . $herecurr);
+# }
+
+ # Find out what is on the end of the line after the
+ # conditional.
+ substr($s, 0, length($c), '');
+ $s =~ s/\n.*//g;
+ $s =~ s/$;//g; # Remove any comments
+ if (length($c) && $s !~ /^\s*{?\s*\\*\s*$/ &&
+ $c !~ /}\s*while\s*/)
+ {
+ # Find out how long the conditional actually is.
+ my @newlines = ($c =~ /\n/gs);
+ my $cond_lines = 1 + $#newlines;
+ my $stat_real = '';
+
+ $stat_real = raw_line($linenr, $cond_lines)
+ . "\n" if ($cond_lines);
+ if (defined($stat_real) && $cond_lines > 1) {
+ $stat_real = "[...]\n$stat_real";
+ }
+
+ ERROR("trailing statements should be on next line\n" . $herecurr . $stat_real);
+ }
+ }
+
+# Check for bitwise tests written as boolean
+ if ($line =~ /
+ (?:
+ (?:\[|\(|\&\&|\|\|)
+ \s*0[xX][0-9]+\s*
+ (?:\&\&|\|\|)
+ |
+ (?:\&\&|\|\|)
+ \s*0[xX][0-9]+\s*
+ (?:\&\&|\|\||\)|\])
+ )/x)
+ {
+ ERROR("boolean test with hexadecimal, perhaps just 1 \& or \|?\n" . $herecurr);
+ }
+
+# if and else should not have general statements after it
+ if ($line =~ /^.\s*(?:}\s*)?else\b(.*)/) {
+ my $s = $1;
+ $s =~ s/$;//g; # Remove any comments
+ if ($s !~ /^\s*(?:\sif|(?:{|)\s*\\?\s*$)/) {
+ ERROR("trailing statements should be on next line\n" . $herecurr);
+ }
+ }
+# if should not continue a brace
+ if ($line =~ /}\s*if\b/) {
+ ERROR("trailing statements should be on next line\n" .
+ $herecurr);
+ }
+# case and default should not have general statements after them
+ if ($line =~ /^.\s*(?:case\s*.*|default\s*):/g &&
+ $line !~ /\G(?:
+ (?:\s*$;*)(?:\s*{)?(?:\s*$;*)(?:\s*\\)?\s*$|
+ \s*return\s+
+ )/xg)
+ {
+ ERROR("trailing statements should be on next line\n" . $herecurr);
+ }
+
+ # Check for }<nl>else {, these must be at the same
+ # indent level to be relevant to each other.
+ if ($prevline=~/}\s*$/ and $line=~/^.\s*else\s*/ and
+ $previndent == $indent) {
+ ERROR("else should follow close brace '}'\n" . $hereprev);
+ }
+
+ if ($prevline=~/}\s*$/ and $line=~/^.\s*while\s*/ and
+ $previndent == $indent) {
+ my ($s, $c) = ctx_statement_block($linenr, $realcnt, 0);
+
+ # Find out what is on the end of the line after the
+ # conditional.
+ substr($s, 0, length($c), '');
+ $s =~ s/\n.*//g;
+
+ if ($s =~ /^\s*;/) {
+ ERROR("while should follow close brace '}'\n" . $hereprev);
+ }
+ }
+
+#no spaces allowed after \ in define
+ if ($line=~/\#\s*define.*\\\s$/) {
+ ERROR("Whitespace after \\ makes next lines useless\n" . $herecurr);
+ }
+
+# multi-statement macros should be enclosed in a do while loop, grab the
+# first statement and ensure its the whole macro if its not enclosed
+# in a known good container
+ if ($realfile !~ m@/vmlinux.lds.h$@ &&
+ $line =~ /^.\s*\#\s*define\s*$Ident(\()?/) {
+ my $ln = $linenr;
+ my $cnt = $realcnt;
+ my ($off, $dstat, $dcond, $rest);
+ my $ctx = '';
+
+ my $args = defined($1);
+
+ # Find the end of the macro and limit our statement
+ # search to that.
+ while ($cnt > 0 && defined $lines[$ln - 1] &&
+ $lines[$ln - 1] =~ /^(?:-|..*\\$)/)
+ {
+ $ctx .= $rawlines[$ln - 1] . "\n";
+ $cnt-- if ($lines[$ln - 1] !~ /^-/);
+ $ln++;
+ }
+ $ctx .= $rawlines[$ln - 1];
+
+ ($dstat, $dcond, $ln, $cnt, $off) =
+ ctx_statement_block($linenr, $ln - $linenr + 1, 0);
+ #print "dstat<$dstat> dcond<$dcond> cnt<$cnt> off<$off>\n";
+ #print "LINE<$lines[$ln-1]> len<" . length($lines[$ln-1]) . "\n";
+
+ # Extract the remainder of the define (if any) and
+ # rip off surrounding spaces, and trailing \'s.
+ $rest = '';
+ while ($off != 0 || ($cnt > 0 && $rest =~ /\\\s*$/)) {
+ #print "ADDING cnt<$cnt> $off <" . substr($lines[$ln - 1], $off) . "> rest<$rest>\n";
+ if ($off != 0 || $lines[$ln - 1] !~ /^-/) {
+ $rest .= substr($lines[$ln - 1], $off) . "\n";
+ $cnt--;
+ }
+ $ln++;
+ $off = 0;
+ }
+ $rest =~ s/\\\n.//g;
+ $rest =~ s/^\s*//s;
+ $rest =~ s/\s*$//s;
+
+ # Clean up the original statement.
+ if ($args) {
+ substr($dstat, 0, length($dcond), '');
+ } else {
+ $dstat =~ s/^.\s*\#\s*define\s+$Ident\s*//;
+ }
+ $dstat =~ s/$;//g;
+ $dstat =~ s/\\\n.//g;
+ $dstat =~ s/^\s*//s;
+ $dstat =~ s/\s*$//s;
+
+ # Flatten any parentheses and braces
+ while ($dstat =~ s/\([^\(\)]*\)/1/ ||
+ $dstat =~ s/\{[^\{\}]*\}/1/ ||
+ $dstat =~ s/\[[^\{\}]*\]/1/)
+ {
+ }
+
+ my $exceptions = qr{
+ $Declare|
+ module_param_named|
+ MODULE_PARAM_DESC|
+ DECLARE_PER_CPU|
+ DEFINE_PER_CPU|
+ __typeof__\(|
+ union|
+ struct|
+ \.$Ident\s*=\s*|
+ ^\"|\"$
+ }x;
+ #print "REST<$rest> dstat<$dstat> ctx<$ctx>\n";
+ if ($rest ne '' && $rest ne ',') {
+ if ($rest !~ /while\s*\(/ &&
+ $dstat !~ /$exceptions/)
+ {
+ ERROR("Macros with multiple statements should be enclosed in a do - while loop\n" . "$here\n$ctx\n");
+ }
+
+ } elsif ($ctx !~ /;/) {
+ if ($dstat ne '' &&
+ $dstat !~ /^(?:$Ident|-?$Constant)$/ &&
+ $dstat !~ /$exceptions/ &&
+ $dstat !~ /^\.$Ident\s*=/ &&
+ $dstat =~ /$Operators/)
+ {
+ ERROR("Macros with complex values should be enclosed in parenthesis\n" . "$here\n$ctx\n");
+ }
+ }
+ }
+
+# check for missing bracing around if etc
+ if ($line =~ /(^.*)\b(?:if|while|for)\b/ &&
+ $line !~ /\#\s*if/) {
+ my $allowed = 0;
+
+ # Check the pre-context.
+ if ($line =~ /(\}.*?)$/) {
+ my $pre = $1;
+
+ if ($line !~ /else/) {
+ print "APW: ALLOWED: pre<$pre> line<$line>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ }
+ my ($level, $endln, @chunks) =
+ ctx_statement_full($linenr, $realcnt, 1);
+ if ($dbg_adv_apw) {
+ print "APW: chunks<$#chunks> linenr<$linenr> endln<$endln> level<$level>\n";
+ print "APW: <<$chunks[1][0]>><<$chunks[1][1]>>\n"
+ if $#chunks >= 1;
+ }
+ if ($#chunks >= 0 && $level == 0) {
+ my $seen = 0;
+ my $herectx = $here . "\n";
+ my $ln = $linenr - 1;
+ for my $chunk (@chunks) {
+ my ($cond, $block) = @{$chunk};
+
+ # If the condition carries leading newlines, then count those as offsets.
+ my ($whitespace) = ($cond =~ /^((?:\s*\n[+-])*\s*)/s);
+ my $offset = statement_rawlines($whitespace) - 1;
+
+ #print "COND<$cond> whitespace<$whitespace> offset<$offset>\n";
+
+ # We have looked at and allowed this specific line.
+ $suppress_ifbraces{$ln + $offset} = 1;
+
+ $herectx .= "$rawlines[$ln + $offset]\n[...]\n";
+ $ln += statement_rawlines($block) - 1;
+
+ substr($block, 0, length($cond), '');
+
+ my $spaced_block = $block;
+ $spaced_block =~ s/\n\+/ /g;
+
+ $seen++ if ($spaced_block =~ /^\s*\{/);
+
+ print "APW: cond<$cond> block<$block> allowed<$allowed>\n"
+ if $dbg_adv_apw;
+ if (statement_lines($cond) > 1) {
+ print "APW: ALLOWED: cond<$cond>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ if ($block =~/\b(?:if|for|while)\b/) {
+ print "APW: ALLOWED: block<$block>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ if (statement_block_size($block) > 1) {
+ print "APW: ALLOWED: lines block<$block>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ }
+ $allowed=1; # disable for now.
+ if ($seen != ($#chunks + 1) && !$allowed) {
+ ERROR("braces {} are necessary for all arms of this statement\n" . $herectx);
+ }
+ }
+ }
+ if (!defined $suppress_ifbraces{$linenr - 1} &&
+ $line =~ /\b(if|while|for|else)\b/ &&
+ $line !~ /\#\s*if/ &&
+ $line !~ /\#\s*else/) {
+ my $allowed = 0;
+
+ # Check the pre-context.
+ if (substr($line, 0, $-[0]) =~ /(\}\s*)$/) {
+ my $pre = $1;
+
+ if ($line !~ /else/) {
+ print "APW: ALLOWED: pre<$pre> line<$line>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ }
+
+ my ($level, $endln, @chunks) =
+ ctx_statement_full($linenr, $realcnt, $-[0]);
+
+ # Check the condition.
+ my ($cond, $block) = @{$chunks[0]};
+ print "CHECKING<$linenr> cond<$cond> block<$block>\n"
+ if $dbg_adv_checking;
+ if (defined $cond) {
+ substr($block, 0, length($cond), '');
+ }
+ if (statement_lines($cond) > 1) {
+ print "APW: ALLOWED: cond<$cond>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ if ($block =~/\b(?:if|for|while)\b/) {
+ print "APW: ALLOWED: block<$block>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ if (statement_block_size($block) > 1) {
+ print "APW: ALLOWED: lines block<$block>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ # Check the post-context.
+ if (defined $chunks[1]) {
+ my ($cond, $block) = @{$chunks[1]};
+ if (defined $cond) {
+ substr($block, 0, length($cond), '');
+ }
+ if ($block =~ /^\s*\{/) {
+ print "APW: ALLOWED: chunk-1 block<$block>\n"
+ if $dbg_adv_apw;
+ $allowed = 1;
+ }
+ }
+ print "DCS: level=$level block<$block> allowed=$allowed\n"
+ if $dbg_adv_dcs;
+ if ($level == 0 && $block !~ /^\s*\{/ && !$allowed) {
+ my $herectx = $here . "\n";;
+ my $cnt = statement_rawlines($block);
+
+ for (my $n = 0; $n < $cnt; $n++) {
+ $herectx .= raw_line($linenr, $n) . "\n";;
+ }
+
+ WARN("braces {} are encouraged even for single statement blocks\n" . $herectx);
+ }
+ }
+
+# warn about #if 0
+ if ($line =~ /^.\s*\#\s*if\s+0\b/) {
+ ERROR("if this code is redundant consider removing it\n" .
+ $herecurr);
+ }
+
+# Check that the storage class is at the beginning of a declaration
+ if ($line =~ /\b$Storage\b/ && $line !~ /^.\s*$Storage\b/) {
+ ERROR("storage class should be at the beginning of the declaration\n" . $herecurr)
+ }
+
+# check the location of the inline attribute, that it is between
+# storage class and type.
+ if ($line =~ /\b$Type\s+$Inline\b/ ||
+ $line =~ /\b$Inline\s+$Storage\b/) {
+ ERROR("inline keyword should sit between storage class and type\n" . $herecurr);
+ }
+
+# check for sizeof(&)
+ if ($line =~ /\bsizeof\s*\(\s*\&/) {
+ ERROR("sizeof(& should be avoided\n" . $herecurr);
+ }
+
+# check for new externs in .c files.
+ if ($realfile =~ /\.c$/ && defined $stat &&
+ $stat =~ /^.\s*(?:extern\s+)?$Type\s+($Ident)(\s*)\(/s)
+ {
+ my $function_name = $1;
+ my $paren_space = $2;
+
+ my $s = $stat;
+ if (defined $cond) {
+ substr($s, 0, length($cond), '');
+ }
+ if ($s =~ /^\s*;/ &&
+ $function_name ne 'uninitialized_var')
+ {
+ ERROR("externs should be avoided in .c files\n" . $herecurr);
+ }
+
+ if ($paren_space =~ /\n/) {
+ ERROR("arguments for function declarations should follow identifier\n" . $herecurr);
+ }
+
+ } elsif ($realfile =~ /\.c$/ && defined $stat &&
+ $stat =~ /^.\s*extern\s+/)
+ {
+ ERROR("externs should be avoided in .c files\n" . $herecurr);
+ }
+
+# check for gcc specific __FUNCTION__
+ if ($line =~ /__FUNCTION__/) {
+ ERROR("__func__ should be used instead of gcc specific __FUNCTION__\n" . $herecurr);
+ }
+
+# recommend sigaction over signal for portability, when establishing a handler
+ if ($line =~ /\bsignal\s*\(/ && !($line =~ /SIG_(?:IGN|DFL)/)) {
+ ERROR("use sigaction to establish signal handlers; signal is not portable\n" . $herecurr);
+ }
+
+# format strings checks
+ my $string;
+ while ($line =~ /(?:^|")([X\t]*)(?:"|$)/g) {
+ $string = substr($rawline, $-[1], $+[1] - $-[1]);
+ $string =~ s/%%/__/g;
+ # check for %L{u,d,i} in strings
+ if ($string =~ /(?<!%)%L[udi]/) {
+ ERROR("\%Ld/%Lu are not-standard C, use %lld/%llu\n" . $herecurr);
+ }
+ }
+
+ # Continue checking for error messages that contains newlines. This
+ # check handles cases where string literals are spread over multiple lines.
+ # Example:
+ # error_report("Error msg line #1"
+ # "Error msg line #2\n");
+ my $quoted_newline_regex = qr{\+\s*\".*\\n.*\"};
+ my $continued_str_literal = qr{\+\s*\".*\"};
+
+ if ($rawline =~ /$quoted_newline_regex/) {
+ # Backtrack to first line that does not contain only a quoted literal
+ # and assume that it is the start of the statement.
+ my $i = $linenr - 2;
+
+ while (($i >= 0) & $rawlines[$i] =~ /$continued_str_literal/) {
+ $i--;
+ }
+ }
+
+ }
+
+ # If we have no input at all, then there is nothing to report on
+ # so just keep quiet.
+ if ($#rawlines == -1) {
+ return 1;
+ }
+
+ # In mailback mode only produce a report in the negative, for
+ # things that appear to be patches.
+ if ($mailback && ($clean == 1 || !$is_patch)) {
+ return 1;
+ }
+
+ # This is not a patch, and we are are in 'no-patch' mode so
+ # just keep quiet.
+ if (!$chk_patch && !$is_patch) {
+ return 1;
+ }
+
+ if (!$is_patch && $filename !~ /cover-letter\.patch$/) {
+ ERROR("Does not appear to be a unified-diff format patch\n");
+ }
+
+ print report_dump();
+ if ($summary && !($clean == 1 && $quiet == 1)) {
+ print "$filename " if ($summary_file);
+ print "total: $cnt_error errors, $cnt_warn warnings, " .
+ "$cnt_lines lines checked\n";
+ print "\n" if ($quiet == 0);
+ }
+
+ if ($quiet == 0) {
+ # If there were whitespace errors which cleanpatch can fix
+ # then suggest that.
+# if ($rpt_cleaners) {
+# print "NOTE: whitespace errors detected, you may wish to use scripts/cleanpatch or\n";
+# print " scripts/cleanfile\n\n";
+# }
+ }
+
+ if ($clean == 1 && $quiet == 0) {
+ print "$vname has no obvious style problems and is ready for submission.\n"
+ }
+
+ return ($no_warnings ? $clean : $cnt_error == 0);
+}
diff --git a/tools/build/cross-build/Makefile b/tools/build/cross-build/Makefile
index 69c1e9c49844..72d78d7b6588 100644
--- a/tools/build/cross-build/Makefile
+++ b/tools/build/cross-build/Makefile
@@ -1,4 +1,3 @@
-# $FreeBSD$
NO_OBJ=
SCRIPTS= date.sh hostname.sh
diff --git a/tools/build/cross-build/capsicum_stubs.c b/tools/build/cross-build/capsicum_stubs.c
index 227ef3496b09..75eff8534fc4 100644
--- a/tools/build/cross-build/capsicum_stubs.c
+++ b/tools/build/cross-build/capsicum_stubs.c
@@ -33,8 +33,6 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*/
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
#include <sys/types.h>
#include <sys/capsicum.h>
diff --git a/tools/build/cross-build/date.sh b/tools/build/cross-build/date.sh
index f697a7f0cd54..4e8cd150147a 100644
--- a/tools/build/cross-build/date.sh
+++ b/tools/build/cross-build/date.sh
@@ -1,6 +1,5 @@
#!/bin/sh
#
-# $FreeBSD$
#
exec /bin/date -r0 "$@"
diff --git a/tools/build/cross-build/fake_chflags/Makefile b/tools/build/cross-build/fake_chflags/Makefile
index c4559be0e778..75c251a2b272 100644
--- a/tools/build/cross-build/fake_chflags/Makefile
+++ b/tools/build/cross-build/fake_chflags/Makefile
@@ -1,4 +1,3 @@
-# $FreeBSD$
NO_OBJ=
SCRIPTS= chflags
diff --git a/tools/build/cross-build/fake_chflags/chflags b/tools/build/cross-build/fake_chflags/chflags
index cd9becba5112..7baa4712636f 100644
--- a/tools/build/cross-build/fake_chflags/chflags
+++ b/tools/build/cross-build/fake_chflags/chflags
@@ -34,7 +34,6 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $FreeBSD$
#
# chflags doesn't exist on Linux, just skip the calls for now
# TODO: we could also create a wrapper that calls `chattr +i` for `chflags schg`, etc
diff --git a/tools/build/cross-build/fake_sysctl.c b/tools/build/cross-build/fake_sysctl.c
index 289fb83652f6..4f1b271f3858 100644
--- a/tools/build/cross-build/fake_sysctl.c
+++ b/tools/build/cross-build/fake_sysctl.c
@@ -35,8 +35,6 @@
*/
/* This file contains wrappers for sysctls used during build/install */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/sysctl.h>
#include <err.h>
diff --git a/tools/build/cross-build/fgetln_fallback.c b/tools/build/cross-build/fgetln_fallback.c
index 9bd202c125da..000cd38ce596 100644
--- a/tools/build/cross-build/fgetln_fallback.c
+++ b/tools/build/cross-build/fgetln_fallback.c
@@ -26,7 +26,7 @@
*/
#include <stdio.h>
-#include <sys/cdefs.h>
+
#include <sys/types.h>
#include <string.h>
diff --git a/tools/build/cross-build/hostname.sh b/tools/build/cross-build/hostname.sh
index 855741beca85..24aaeb8e2a29 100644
--- a/tools/build/cross-build/hostname.sh
+++ b/tools/build/cross-build/hostname.sh
@@ -1,6 +1,5 @@
#!/bin/sh
#
-# $FreeBSD$
#
echo dummy
diff --git a/tools/build/cross-build/include/common/db.h b/tools/build/cross-build/include/common/db.h
index 8e429abc792f..ac00000cda6e 100644
--- a/tools/build/cross-build/include/common/db.h
+++ b/tools/build/cross-build/include/common/db.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/getopt.h b/tools/build/cross-build/include/common/getopt.h
index 621011d69c1c..9db08597351e 100644
--- a/tools/build/cross-build/include/common/getopt.h
+++ b/tools/build/cross-build/include/common/getopt.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/grp.h b/tools/build/cross-build/include/common/grp.h
index 750e1e9a49f6..b666209d928b 100644
--- a/tools/build/cross-build/include/common/grp.h
+++ b/tools/build/cross-build/include/common/grp.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/libcasper.h b/tools/build/cross-build/include/common/libcasper.h
index dd5afa9a0573..b41b212d3085 100644
--- a/tools/build/cross-build/include/common/libcasper.h
+++ b/tools/build/cross-build/include/common/libcasper.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/libelf.h b/tools/build/cross-build/include/common/libelf.h
index 5bbd34777648..be77a08eb3e2 100644
--- a/tools/build/cross-build/include/common/libelf.h
+++ b/tools/build/cross-build/include/common/libelf.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
/* Needed to get opensolaris stuff to compile */
diff --git a/tools/build/cross-build/include/common/libutil.h b/tools/build/cross-build/include/common/libutil.h
index 5e4e0422d3b2..15afd2fbca15 100644
--- a/tools/build/cross-build/include/common/libutil.h
+++ b/tools/build/cross-build/include/common/libutil.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/machine/endian.h b/tools/build/cross-build/include/common/machine/endian.h
index d70b60ca39f7..8a05f636d1f7 100644
--- a/tools/build/cross-build/include/common/machine/endian.h
+++ b/tools/build/cross-build/include/common/machine/endian.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#if __has_include_next(<machine/endian.h>)
#include_next <machine/endian.h>
diff --git a/tools/build/cross-build/include/common/netconfig.h b/tools/build/cross-build/include/common/netconfig.h
index 95f3bb94d2f4..c592b4076bb6 100644
--- a/tools/build/cross-build/include/common/netconfig.h
+++ b/tools/build/cross-build/include/common/netconfig.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/netdb.h b/tools/build/cross-build/include/common/netdb.h
index 350174ebde9b..b2cf0b6fb305 100644
--- a/tools/build/cross-build/include/common/netdb.h
+++ b/tools/build/cross-build/include/common/netdb.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <netdb.h>
diff --git a/tools/build/cross-build/include/common/osreldate.h b/tools/build/cross-build/include/common/osreldate.h
index 801cc5e41210..714351e9cb59 100644
--- a/tools/build/cross-build/include/common/osreldate.h
+++ b/tools/build/cross-build/include/common/osreldate.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/pwd.h b/tools/build/cross-build/include/common/pwd.h
index 14abc7fcadf0..a34955a63780 100644
--- a/tools/build/cross-build/include/common/pwd.h
+++ b/tools/build/cross-build/include/common/pwd.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
@@ -41,6 +39,10 @@
#define user_from_uid __nbcompat_user_from_uid
+#ifndef _PASSWORD_EFMT1
+#define _PASSWORD_EFMT1 '_' /* extended encryption format */
+#endif
+
int pwcache_userdb(int (*a_setpassent)(int), void (*a_endpwent)(void),
struct passwd *(*a_getpwnam)(const char *),
struct passwd *(*a_getpwuid)(uid_t));
diff --git a/tools/build/cross-build/include/common/string.h b/tools/build/cross-build/include/common/string.h
index 8a33f4d4ff19..56909e9bca0a 100644
--- a/tools/build/cross-build/include/common/string.h
+++ b/tools/build/cross-build/include/common/string.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/_iovec.h b/tools/build/cross-build/include/common/sys/_iovec.h
index 89f09c7c7d27..35b290bd3dbf 100644
--- a/tools/build/cross-build/include/common/sys/_iovec.h
+++ b/tools/build/cross-build/include/common/sys/_iovec.h
@@ -32,7 +32,5 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/_null.h b/tools/build/cross-build/include/common/sys/_null.h
index 5b65c8c3ebf8..8be996a8fbde 100644
--- a/tools/build/cross-build/include/common/sys/_null.h
+++ b/tools/build/cross-build/include/common/sys/_null.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/_types.h b/tools/build/cross-build/include/common/sys/_types.h
index 129eaf52357d..650edc8080d0 100644
--- a/tools/build/cross-build/include/common/sys/_types.h
+++ b/tools/build/cross-build/include/common/sys/_types.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/cdefs.h b/tools/build/cross-build/include/common/sys/cdefs.h
index 6d62333bcffe..3f9b7866141f 100644
--- a/tools/build/cross-build/include/common/sys/cdefs.h
+++ b/tools/build/cross-build/include/common/sys/cdefs.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
/* musl libc does not provide a sys/cdefs.h header */
@@ -109,6 +107,9 @@
#define __predict_false(exp) __builtin_expect((exp), 0)
#endif
+#ifndef __weak_symbol
+#define __weak_symbol __attribute__((__weak__))
+#endif
#ifndef __weak_reference
#ifdef __ELF__
#define __weak_reference(sym, alias) \
@@ -120,6 +121,12 @@
#endif
#endif
+#ifndef __WEAK
+#ifdef __ELF__
+#define __WEAK(sym) __asm__(".weak " __XSTRING(sym))
+#endif
+#endif
+
/* Some files built as part of the bootstrap libegacy use these macros, but
* since we aren't actually building libc.so, we can defined them to be empty */
#ifndef __sym_compat
@@ -248,6 +255,13 @@
#define __DEQUALIFY(type, var) ((type)(__uintptr_t)(const volatile void *)(var))
#endif
+#ifndef __nosanitizeaddress
+#if __has_attribute(no_sanitize) && defined(__clang__)
+#define __nosanitizeaddress __attribute__((no_sanitize("address")))
+#else
+#define __nosanitizeaddress
+#endif
+#endif
/* Expose all declarations when using FreeBSD headers */
#define __POSIX_VISIBLE 200809
diff --git a/tools/build/cross-build/include/common/sys/ctype.h b/tools/build/cross-build/include/common/sys/ctype.h
index 68a4f9807ca7..ed218e19ffc7 100644
--- a/tools/build/cross-build/include/common/sys/ctype.h
+++ b/tools/build/cross-build/include/common/sys/ctype.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include <ctype.h>
diff --git a/tools/build/cross-build/include/common/sys/limits.h b/tools/build/cross-build/include/common/sys/limits.h
index 01fbe99c863a..04c422ed426f 100644
--- a/tools/build/cross-build/include/common/sys/limits.h
+++ b/tools/build/cross-build/include/common/sys/limits.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#include <limits.h>
#if __has_include_next(<sys/limits.h>)
diff --git a/tools/build/cross-build/include/common/sys/mman.h b/tools/build/cross-build/include/common/sys/mman.h
index f3ce83fd1df8..de8657aff304 100644
--- a/tools/build/cross-build/include/common/sys/mman.h
+++ b/tools/build/cross-build/include/common/sys/mman.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/param.h b/tools/build/cross-build/include/common/sys/param.h
index f672b1067d46..c09cd9865a93 100644
--- a/tools/build/cross-build/include/common/sys/param.h
+++ b/tools/build/cross-build/include/common/sys/param.h
@@ -35,8 +35,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/stdint.h b/tools/build/cross-build/include/common/sys/stdint.h
index 98f7010b308d..a97052244343 100644
--- a/tools/build/cross-build/include/common/sys/stdint.h
+++ b/tools/build/cross-build/include/common/sys/stdint.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#if defined(__has_include_next) && __has_include_next(<sys/stdint.h>)
diff --git a/tools/build/cross-build/include/common/sys/sysctl.h b/tools/build/cross-build/include/common/sys/sysctl.h
index 6d6f5438c557..3d7ecc7a5b02 100644
--- a/tools/build/cross-build/include/common/sys/sysctl.h
+++ b/tools/build/cross-build/include/common/sys/sysctl.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/common/sys/types.h b/tools/build/cross-build/include/common/sys/types.h
index 044ca6bed4f8..18b607ed82d2 100644
--- a/tools/build/cross-build/include/common/sys/types.h
+++ b/tools/build/cross-build/include/common/sys/types.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <sys/types.h>
@@ -68,4 +66,8 @@ typedef unsigned long cap_ioctl_t;
struct cap_rights;
typedef struct cap_rights cap_rights_t;
+
+/* Needed for bitstring */
+#include <sys/bitcount.h>
+
#endif
diff --git a/tools/build/cross-build/include/common/unistd.h b/tools/build/cross-build/include/common/unistd.h
index 593dd700f140..19efc57005bd 100644
--- a/tools/build/cross-build/include/common/unistd.h
+++ b/tools/build/cross-build/include/common/unistd.h
@@ -32,13 +32,16 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <unistd.h>
#include <getopt.h>
+struct crypt_data {
+ int initialized; /* For compatibility with glibc. */
+ char __buf[256]; /* Buffer returned by crypt_r(). */
+};
+
static inline int
check_utility_compat(const char *utility __unused)
{
diff --git a/tools/build/cross-build/include/linux/__unused_workaround_end.h b/tools/build/cross-build/include/linux/__unused_workaround_end.h
index eaf3d3a8f836..728e25ead9b0 100644
--- a/tools/build/cross-build/include/linux/__unused_workaround_end.h
+++ b/tools/build/cross-build/include/linux/__unused_workaround_end.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
/* Used to workaround system headers with struct members called __unused */
#ifdef __unused_undefd
diff --git a/tools/build/cross-build/include/linux/__unused_workaround_start.h b/tools/build/cross-build/include/linux/__unused_workaround_start.h
index 2f0ab003ad24..e01d5fc9971d 100644
--- a/tools/build/cross-build/include/linux/__unused_workaround_start.h
+++ b/tools/build/cross-build/include/linux/__unused_workaround_start.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
/* Used to workaround system headers with struct members called __unused */
#ifdef __unused
diff --git a/tools/build/cross-build/include/linux/__used_workaround_end.h b/tools/build/cross-build/include/linux/__used_workaround_end.h
index 99cc6c16ac26..d38c5711a30d 100644
--- a/tools/build/cross-build/include/linux/__used_workaround_end.h
+++ b/tools/build/cross-build/include/linux/__used_workaround_end.h
@@ -33,8 +33,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
/* Used to workaround system headers with struct members called __used */
#ifdef __used_undefd
diff --git a/tools/build/cross-build/include/linux/__used_workaround_start.h b/tools/build/cross-build/include/linux/__used_workaround_start.h
index ee290ce30169..c81e9c67248e 100644
--- a/tools/build/cross-build/include/linux/__used_workaround_start.h
+++ b/tools/build/cross-build/include/linux/__used_workaround_start.h
@@ -33,8 +33,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
/* Used to workaround system headers with struct members called __used */
#ifdef __used
diff --git a/tools/build/cross-build/include/linux/ctype.h b/tools/build/cross-build/include/linux/ctype.h
index fbd30580d1a9..afacebfbad91 100644
--- a/tools/build/cross-build/include/linux/ctype.h
+++ b/tools/build/cross-build/include/linux/ctype.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <ctype.h>
diff --git a/tools/build/cross-build/include/linux/endian.h b/tools/build/cross-build/include/linux/endian.h
index 92adf095636a..f4fc6855b398 100644
--- a/tools/build/cross-build/include/linux/endian.h
+++ b/tools/build/cross-build/include/linux/endian.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <endian.h>
diff --git a/tools/build/cross-build/include/linux/errno.h b/tools/build/cross-build/include/linux/errno.h
index 37f166aebabf..b05c6bb02aae 100644
--- a/tools/build/cross-build/include/linux/errno.h
+++ b/tools/build/cross-build/include/linux/errno.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <errno.h>
diff --git a/tools/build/cross-build/include/linux/fcntl.h b/tools/build/cross-build/include/linux/fcntl.h
index 4fa169d4ed4c..aafcfe43a325 100644
--- a/tools/build/cross-build/include/linux/fcntl.h
+++ b/tools/build/cross-build/include/linux/fcntl.h
@@ -35,8 +35,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/libutil.h b/tools/build/cross-build/include/linux/libutil.h
index 7a448babb9a8..8f9ca406edc1 100644
--- a/tools/build/cross-build/include/linux/libutil.h
+++ b/tools/build/cross-build/include/linux/libutil.h
@@ -32,12 +32,9 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
-#include <sys/cdefs.h>
#include <sys/types.h>
#include <sys/socket.h>
diff --git a/tools/build/cross-build/include/linux/limits.h b/tools/build/cross-build/include/linux/limits.h
index 833b49b49348..5eca34b1120c 100644
--- a/tools/build/cross-build/include/linux/limits.h
+++ b/tools/build/cross-build/include/linux/limits.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#if __has_include_next(<limits.h>)
#include_next <limits.h>
diff --git a/tools/build/cross-build/include/linux/nbtool_config.h b/tools/build/cross-build/include/linux/nbtool_config.h
index a3c39308a62f..d99b39739a48 100644
--- a/tools/build/cross-build/include/linux/nbtool_config.h
+++ b/tools/build/cross-build/include/linux/nbtool_config.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/netdb.h b/tools/build/cross-build/include/linux/netdb.h
index e1832cca3efa..2680b4736982 100644
--- a/tools/build/cross-build/include/linux/netdb.h
+++ b/tools/build/cross-build/include/linux/netdb.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/regex.h b/tools/build/cross-build/include/linux/regex.h
index a27053750c3e..858e26386653 100644
--- a/tools/build/cross-build/include/linux/regex.h
+++ b/tools/build/cross-build/include/linux/regex.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <regex.h>
diff --git a/tools/build/cross-build/include/linux/resolv.h b/tools/build/cross-build/include/linux/resolv.h
index 99652b78825b..4d075a05ffa5 100644
--- a/tools/build/cross-build/include/linux/resolv.h
+++ b/tools/build/cross-build/include/linux/resolv.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <resolv.h>
diff --git a/tools/build/cross-build/include/linux/signal.h b/tools/build/cross-build/include/linux/signal.h
index 5d4cdcd19fab..177c7f6169f0 100644
--- a/tools/build/cross-build/include/linux/signal.h
+++ b/tools/build/cross-build/include/linux/signal.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/spawn.h b/tools/build/cross-build/include/linux/spawn.h
index 873add3275af..a9b9f8de97a0 100644
--- a/tools/build/cross-build/include/linux/spawn.h
+++ b/tools/build/cross-build/include/linux/spawn.h
@@ -36,8 +36,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/stdio.h b/tools/build/cross-build/include/linux/stdio.h
index c5aa893b320c..202b65508aeb 100644
--- a/tools/build/cross-build/include/linux/stdio.h
+++ b/tools/build/cross-build/include/linux/stdio.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
/* No #pragam once since glibc can include this multiple times */
diff --git a/tools/build/cross-build/include/linux/stdlib.h b/tools/build/cross-build/include/linux/stdlib.h
index 1e559ce1158c..66ac46239a41 100644
--- a/tools/build/cross-build/include/linux/stdlib.h
+++ b/tools/build/cross-build/include/linux/stdlib.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include <sys/cdefs.h>
diff --git a/tools/build/cross-build/include/linux/string.h b/tools/build/cross-build/include/linux/string.h
index 1d173974a5bd..8fac9e0fe083 100644
--- a/tools/build/cross-build/include/linux/string.h
+++ b/tools/build/cross-build/include/linux/string.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
@@ -49,8 +47,11 @@
#include <sys/cdefs.h>
__BEGIN_DECLS
+#if !defined(__GLIBC__) || \
+ (defined(__GLIBC__) && (!__GLIBC_PREREQ(2, 38) || !defined(_GNU_SOURCE)))
size_t strlcpy(char *dst, const char *src, size_t siz);
size_t strlcat(char *dst, const char *src, size_t siz);
+#endif
char *strnstr(const char *str, const char *find, size_t str_len);
void strmode(mode_t mode, char *str);
diff --git a/tools/build/cross-build/include/linux/strings.h b/tools/build/cross-build/include/linux/strings.h
new file mode 100644
index 000000000000..36e451f277eb
--- /dev/null
+++ b/tools/build/cross-build/include/linux/strings.h
@@ -0,0 +1,38 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright 2022 Jessica Clarke <jrtc27@FreeBSD.org>
+ *
+ * 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.
+ */
+#pragma once
+#include <sys/cdefs.h>
+
+#include_next <strings.h>
+
+__BEGIN_DECLS
+
+int fls(int) __pure2;
+int flsl(long) __pure2;
+int flsll(long long) __pure2;
+
+__END_DECLS
diff --git a/tools/build/cross-build/include/linux/sys/disk.h b/tools/build/cross-build/include/linux/sys/disk.h
index d4dc46768756..b0cd0ef16609 100644
--- a/tools/build/cross-build/include/linux/sys/disk.h
+++ b/tools/build/cross-build/include/linux/sys/disk.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include <sys/mount.h>
diff --git a/tools/build/cross-build/include/linux/sys/endian.h b/tools/build/cross-build/include/linux/sys/endian.h
index 0c068a4793d5..085b3616c742 100644
--- a/tools/build/cross-build/include/linux/sys/endian.h
+++ b/tools/build/cross-build/include/linux/sys/endian.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/sys/filio.h b/tools/build/cross-build/include/linux/sys/filio.h
index 9433875ca5ec..7f9ffb8f92a2 100644
--- a/tools/build/cross-build/include/linux/sys/filio.h
+++ b/tools/build/cross-build/include/linux/sys/filio.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/sys/ioccom.h b/tools/build/cross-build/include/linux/sys/ioccom.h
index a70e20312940..021377abe471 100644
--- a/tools/build/cross-build/include/linux/sys/ioccom.h
+++ b/tools/build/cross-build/include/linux/sys/ioccom.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include <sys/ioctl.h>
diff --git a/tools/build/cross-build/include/linux/sys/mount.h b/tools/build/cross-build/include/linux/sys/mount.h
index be66e8ca5b62..edd8e29da91a 100644
--- a/tools/build/cross-build/include/linux/sys/mount.h
+++ b/tools/build/cross-build/include/linux/sys/mount.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <sys/mount.h>
diff --git a/tools/build/cross-build/include/linux/sys/param.h b/tools/build/cross-build/include/linux/sys/param.h
index 305d2767ae7e..33679d39ed49 100644
--- a/tools/build/cross-build/include/linux/sys/param.h
+++ b/tools/build/cross-build/include/linux/sys/param.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <sys/param.h>
diff --git a/tools/build/cross-build/include/linux/sys/stat.h b/tools/build/cross-build/include/linux/sys/stat.h
index 72c6bb950ce9..fa40b7e747b6 100644
--- a/tools/build/cross-build/include/linux/sys/stat.h
+++ b/tools/build/cross-build/include/linux/sys/stat.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
/*
diff --git a/tools/build/cross-build/include/linux/sys/time.h b/tools/build/cross-build/include/linux/sys/time.h
index 1c86bb9ba85d..d78dd401545a 100644
--- a/tools/build/cross-build/include/linux/sys/time.h
+++ b/tools/build/cross-build/include/linux/sys/time.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/sys/ttycom.h b/tools/build/cross-build/include/linux/sys/ttycom.h
index 8a1f7cf7c3d6..8f2cbf121e42 100644
--- a/tools/build/cross-build/include/linux/sys/ttycom.h
+++ b/tools/build/cross-build/include/linux/sys/ttycom.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/sys/types.h b/tools/build/cross-build/include/linux/sys/types.h
index b3bb61c1f1fd..770b3057f8a8 100644
--- a/tools/build/cross-build/include/linux/sys/types.h
+++ b/tools/build/cross-build/include/linux/sys/types.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/sys/ucred.h b/tools/build/cross-build/include/linux/sys/ucred.h
index 89f09c7c7d27..35b290bd3dbf 100644
--- a/tools/build/cross-build/include/linux/sys/ucred.h
+++ b/tools/build/cross-build/include/linux/sys/ucred.h
@@ -32,7 +32,5 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/linux/sys/wait.h b/tools/build/cross-build/include/linux/sys/wait.h
new file mode 100644
index 000000000000..ca17bfae9b8a
--- /dev/null
+++ b/tools/build/cross-build/include/linux/sys/wait.h
@@ -0,0 +1,47 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright 2021 Jessica Clarke <jrtc27@FreeBSD.org>
+ *
+ * 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.
+ */
+
+#pragma once
+
+/*
+ * glibc's sys/wait.h and stdlib.h both define various wait-related constants,
+ * depending on __USE_XOPEN(2K8) and if the other header has been included.
+ * Since they each probe the other's include guard to determine that, there is
+ * a window between a header defining its include guard and checking for the
+ * other's within which, if the other is included for the first time, they both
+ * believe the other has already defined the relevant macros etc, and so
+ * neither ends up doing so. This was not previously hit, and is still not hit
+ * when using glibc normally (though seems extremely fragile). However, as of
+ * glibc 2.34, signal.h, included by sys/wait, includes a new bits/sigstksz,
+ * which in turn includes unistd.h (when _SC_SIGSTKSZ_SOURCE is defined, which
+ * is implied by _GNU_SOURCE), which we wrap and include stdlib.h from,
+ * creating the exact aforementioned situation that breaks. Thus, forcefully
+ * include stdlib.h first whenever sys/wait.h is as a workaround, since that
+ * way round still works.
+ */
+#include <stdlib.h>
+#include_next <sys/wait.h>
diff --git a/tools/build/cross-build/include/linux/time.h b/tools/build/cross-build/include/linux/time.h
index 189f1f266916..bc3c4c81021b 100644
--- a/tools/build/cross-build/include/linux/time.h
+++ b/tools/build/cross-build/include/linux/time.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
/* We can't use #pragma once here since at least the version of time.h
* shipped with glibc must be included more than once with different
diff --git a/tools/build/cross-build/include/linux/unistd.h b/tools/build/cross-build/include/linux/unistd.h
index f518df2ac9ae..ce179724e17b 100644
--- a/tools/build/cross-build/include/linux/unistd.h
+++ b/tools/build/cross-build/include/linux/unistd.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
@@ -41,17 +39,9 @@
/* Ensure that unistd.h pulls in getopt */
#define __USE_POSIX2
#endif
-/*
- * Before version 2.25, glibc's unistd.h would define the POSIX subset of
- * getopt.h by defining __need_getopt, including getopt.h (which would
- * disable the header guard) and then undefining it so later including
- * getopt.h explicitly would define the extensions. However, we wrap getopt,
- * and so the wrapper's #pragma once breaks that. Thus getopt.h must be
- * included before the real unistd.h to ensure we get all the extensions.
- */
-#include <getopt.h>
#include_next <unistd.h>
#include <fcntl.h>
+#include <getopt.h>
#include <stdlib.h>
#include <string.h>
#include <sys/syscall.h>
diff --git a/tools/build/cross-build/include/linux/wctype.h b/tools/build/cross-build/include/linux/wctype.h
index 8c4a44d8bbe3..044a34fbd16b 100644
--- a/tools/build/cross-build/include/linux/wctype.h
+++ b/tools/build/cross-build/include/linux/wctype.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <wctype.h>
diff --git a/tools/build/cross-build/include/mac/libutil.h b/tools/build/cross-build/include/mac/libutil.h
index 5812e58ed39f..2f654986a06f 100644
--- a/tools/build/cross-build/include/mac/libutil.h
+++ b/tools/build/cross-build/include/mac/libutil.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/mac/nbtool_config.h b/tools/build/cross-build/include/mac/nbtool_config.h
index cb1bf1a0b655..db5903b9adf3 100644
--- a/tools/build/cross-build/include/mac/nbtool_config.h
+++ b/tools/build/cross-build/include/mac/nbtool_config.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/mac/signal.h b/tools/build/cross-build/include/mac/signal.h
index cdcaab75f326..9c2ccca21da2 100644
--- a/tools/build/cross-build/include/mac/signal.h
+++ b/tools/build/cross-build/include/mac/signal.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <signal.h>
diff --git a/tools/build/cross-build/include/mac/stdlib.h b/tools/build/cross-build/include/mac/stdlib.h
index 314ae0d1dca6..7e84039d29ad 100644
--- a/tools/build/cross-build/include/mac/stdlib.h
+++ b/tools/build/cross-build/include/mac/stdlib.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <stdlib.h>
@@ -42,6 +40,7 @@ __BEGIN_DECLS
int rpmatch(const char *response);
+char *secure_getenv(const char *name);
long long strtonum(const char *numstr, long long minval, long long maxval,
const char **errstrp);
diff --git a/tools/build/cross-build/include/mac/string.h b/tools/build/cross-build/include/mac/string.h
index 3f9ec4935a37..d7db0d3023a4 100644
--- a/tools/build/cross-build/include/mac/string.h
+++ b/tools/build/cross-build/include/mac/string.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/mac/sys/_types.h b/tools/build/cross-build/include/mac/sys/_types.h
index fd14a7836792..5ca37580b85a 100644
--- a/tools/build/cross-build/include/mac/sys/_types.h
+++ b/tools/build/cross-build/include/mac/sys/_types.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <sys/_types.h>
diff --git a/tools/build/cross-build/include/mac/sys/endian.h b/tools/build/cross-build/include/mac/sys/endian.h
index f64a6d47beaf..64f548e6dc50 100644
--- a/tools/build/cross-build/include/mac/sys/endian.h
+++ b/tools/build/cross-build/include/mac/sys/endian.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/include/mac/sys/linker_set.h b/tools/build/cross-build/include/mac/sys/linker_set.h
new file mode 100644
index 000000000000..c0b81747c78b
--- /dev/null
+++ b/tools/build/cross-build/include/mac/sys/linker_set.h
@@ -0,0 +1,140 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 1999 John D. Polstra
+ * Copyright (c) 1999,2001 Peter Wemm <peter@FreeBSD.org>
+ * All rights reserved.
+ * Copyright (c) 2023 Jessica Clarke <jrtc27@FreeBSD.org>
+ *
+ * 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.
+ */
+
+#ifndef _SYS_LINKER_SET_H_
+#define _SYS_LINKER_SET_H_
+
+#include <mach-o/dyld.h>
+#include <mach-o/getsect.h>
+
+/*
+ * The following macros are used to declare global sets of objects, which
+ * are collected by the linker into a `linker_set' as defined below.
+ * For Mach-O, this is done by constructing a separate section for each set.
+ */
+
+#define __MAKE_SET_CONST const
+
+/*
+ * Private macros, not to be used outside this header file.
+ */
+
+/*
+ * The userspace address sanitizer inserts redzones around global variables,
+ * violating the assumption that linker set elements are packed.
+ */
+#define __NOASAN __nosanitizeaddress
+
+#define __MAKE_SET_QV(set, sym, qv) \
+ static void const * qv \
+ __NOASAN \
+ __set_##set##_sym_##sym __section("__DATA,set_" #set) \
+ __used = &(sym)
+#define __MAKE_SET(set, sym) __MAKE_SET_QV(set, sym, __MAKE_SET_CONST)
+
+static inline __pure2 uint8_t *
+__set_getsectiondata(const char *segname, const char *sectname,
+ unsigned long *size)
+{
+ uint32_t image_count, image_index;
+ const struct mach_header *mh;
+ uint8_t *ret;
+
+ image_count = _dyld_image_count();
+ for (image_index = 0; image_index < image_count; ++image_index) {
+ mh = _dyld_get_image_header(image_index);
+ if (mh == NULL)
+ continue;
+
+ ret = getsectiondata((const struct mach_header_64 *)mh,
+ segname, sectname, size);
+ if (ret != NULL)
+ return (ret);
+ }
+
+ return (NULL);
+}
+
+#define __SET_RANGE(set) ({ \
+ unsigned long __set_size; \
+ char *__set_data; \
+ __set_data = __set_getsectiondata("__DATA", \
+ "set_" #set, &__set_size); \
+ (struct { \
+ __CONCAT(__typeof_set_,set) **begin; \
+ __CONCAT(__typeof_set_,set) **limit; \
+ }){ \
+ .begin = (__CONCAT(__typeof_set_,set) **)__set_data, \
+ .limit = (__CONCAT(__typeof_set_,set) **)(__set_data + \
+ __set_size) \
+ }; \
+})
+
+/*
+ * Public macros.
+ */
+#define TEXT_SET(set, sym) __MAKE_SET(set, sym)
+#define DATA_SET(set, sym) __MAKE_SET(set, sym)
+#define DATA_WSET(set, sym) __MAKE_SET_QV(set, sym, )
+#define BSS_SET(set, sym) __MAKE_SET(set, sym)
+#define ABS_SET(set, sym) __MAKE_SET(set, sym)
+#define SET_ENTRY(set, sym) __MAKE_SET(set, sym)
+
+/*
+ * Initialize before referring to a given linker set.
+ */
+#define SET_DECLARE(set, ptype) \
+ typedef ptype __CONCAT(__typeof_set_,set)
+
+#define SET_BEGIN(set) \
+ (__SET_RANGE(set).begin)
+#define SET_LIMIT(set) \
+ (__SET_RANGE(set).limit)
+
+/*
+ * Iterate over all the elements of a set.
+ *
+ * Sets always contain addresses of things, and "pvar" points to words
+ * containing those addresses. Thus is must be declared as "type **pvar",
+ * and the address of each set item is obtained inside the loop by "*pvar".
+ */
+#define SET_FOREACH(pvar, set) \
+ for (pvar = SET_BEGIN(set); pvar < SET_LIMIT(set); pvar++)
+
+#define SET_ITEM(set, i) \
+ ((SET_BEGIN(set))[i])
+
+/*
+ * Provide a count of the items in a set.
+ */
+#define SET_COUNT(set) \
+ (SET_LIMIT(set) - SET_BEGIN(set))
+
+#endif /* _SYS_LINKER_SET_H_ */
diff --git a/tools/build/cross-build/include/mac/sys/stat.h b/tools/build/cross-build/include/mac/sys/stat.h
index 0ff5ac929d06..95a9d0ce4764 100644
--- a/tools/build/cross-build/include/mac/sys/stat.h
+++ b/tools/build/cross-build/include/mac/sys/stat.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#include_next <sys/stat.h>
diff --git a/tools/build/cross-build/include/mac/sys/time.h b/tools/build/cross-build/include/mac/sys/time.h
index 094764b8888c..6a0526c552e1 100644
--- a/tools/build/cross-build/include/mac/sys/time.h
+++ b/tools/build/cross-build/include/mac/sys/time.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
#include_next <sys/time.h>
diff --git a/tools/build/cross-build/include/mac/unistd.h b/tools/build/cross-build/include/mac/unistd.h
index 3a4010e0d013..8af6af93821e 100644
--- a/tools/build/cross-build/include/mac/unistd.h
+++ b/tools/build/cross-build/include/mac/unistd.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/cross-build/mkimg/Makefile b/tools/build/cross-build/mkimg/Makefile
index 932f6150f118..405d579fb633 100644
--- a/tools/build/cross-build/mkimg/Makefile
+++ b/tools/build/cross-build/mkimg/Makefile
@@ -1,4 +1,3 @@
-# $FreeBSD$
# allow building mkimg as a host tool.
diff --git a/tools/build/cross-build/mkimg/Makefile.depend b/tools/build/cross-build/mkimg/Makefile.depend
index f80275d86ab1..11aba52f82cf 100644
--- a/tools/build/cross-build/mkimg/Makefile.depend
+++ b/tools/build/cross-build/mkimg/Makefile.depend
@@ -1,4 +1,3 @@
-# $FreeBSD$
# Autogenerated - do NOT edit!
DIRDEPS = \
diff --git a/tools/build/cross-build/progname.c b/tools/build/cross-build/progname.c
index 645227df48d7..81467627f164 100644
--- a/tools/build/cross-build/progname.c
+++ b/tools/build/cross-build/progname.c
@@ -34,8 +34,6 @@
* SUCH DAMAGE.
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <stdlib.h>
#ifdef __GLIBC__
diff --git a/tools/build/cross-build/secure_getenv.c b/tools/build/cross-build/secure_getenv.c
new file mode 100644
index 000000000000..466035f31a40
--- /dev/null
+++ b/tools/build/cross-build/secure_getenv.c
@@ -0,0 +1,16 @@
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2023 Mark Johnston <markj@FreeBSD.org>
+ */
+
+#include <stdlib.h>
+#include <unistd.h>
+
+char *
+secure_getenv(const char *name)
+{
+ if (issetugid() != 0)
+ return (NULL);
+ return (getenv(name));
+}
diff --git a/tools/build/depend-cleanup.sh b/tools/build/depend-cleanup.sh
index ae393c2451f0..71988e526369 100755
--- a/tools/build/depend-cleanup.sh
+++ b/tools/build/depend-cleanup.sh
@@ -1,6 +1,5 @@
#!/bin/sh
#
-# $FreeBSD$
#
# Our current make(1)-based approach to dependency tracking cannot cope with
# certain source tree changes, including:
@@ -17,23 +16,90 @@
# anyone would try a NO_CLEAN build against an object tree from before the
# related change. One year should be sufficient.
+set -e
+set -u
+
+warn()
+{
+ echo "$(basename "$0"):" "$@" >&2
+}
+
+err()
+{
+ warn "$@"
+ exit 1
+}
+
+usage()
+{
+ echo "usage: $(basename $0) [-v] [-n] objtop" >&2
+}
+
+VERBOSE=
+PRETEND=
+while getopts vn o; do
+ case "$o" in
+ v)
+ VERBOSE=1
+ ;;
+ n)
+ PRETEND=1
+ ;;
+ *)
+ usage
+ exit 1
+ ;;
+ esac
+done
+shift $((OPTIND-1))
+
+if [ $# -ne 1 ]; then
+ usage
+ exit 1
+fi
+
OBJTOP=$1
+shift
if [ ! -d "$OBJTOP" ]; then
- echo "usage: $(basename $0) objtop" >&2
- exit 1
+ err "$OBJTOP: Not a directory"
+fi
+
+if [ -z "${MACHINE+set}" ]; then
+ err "MACHINE not set"
fi
+if [ -z "${MACHINE_ARCH+set}" ]; then
+ err "MACHINE_ARCH not set"
+fi
+
+if [ -z "${ALL_libcompats+set}" ]; then
+ err "ALL_libcompats not set"
+fi
+
+run()
+{
+ if [ "$VERBOSE" ]; then
+ echo "$@"
+ fi
+ if ! [ "$PRETEND" ]; then
+ "$@"
+ fi
+}
+
# $1 directory
# $2 source filename w/o extension
# $3 source extension
clean_dep()
{
- if [ -e "$OBJTOP"/$1/.depend.$2.pico ] && \
- egrep -qw "$2\.$3" "$OBJTOP"/$1/.depend.$2.pico; then \
- echo "Removing stale dependencies for $2.$3"; \
- rm -f "$OBJTOP"/$1/.depend.$2.* \
- "$OBJTOP"/obj-lib32/$1/.depend.$2.*
- fi
+ for libcompat in "" $ALL_libcompats; do
+ dirprfx=${libcompat:+obj-lib${libcompat}/}
+ if egrep -qw "$2\.$3" "$OBJTOP"/$dirprfx$1/.depend.$2.*o 2>/dev/null; then
+ echo "Removing stale ${libcompat:+lib${libcompat} }dependencies and objects for $2.$3"
+ run rm -f \
+ "$OBJTOP"/$dirprfx$1/.depend.$2.* \
+ "$OBJTOP"/$dirprfx$1/$2.*o
+ fi
+ done
}
# Date Rev Description
@@ -47,14 +113,17 @@ if [ -e "$OBJTOP"/cddl/lib/libzfs/.depend.libzfs_changelist.o ] && \
egrep -qw "cddl/contrib/opensolaris/lib/libzfs/common/libzfs_changelist.c" \
"$OBJTOP"/cddl/lib/libzfs/.depend.libzfs_changelist.o; then
echo "Removing old ZFS tree"
- rm -rf "$OBJTOP"/cddl "$OBJTOP"/obj-lib32/cddl
+ for libcompat in "" $ALL_libcompats; do
+ dirprfx=${libcompat:+obj-lib${libcompat}/}
+ run rm -rf "$OBJTOP"/${dirprfx}cddl
+ done
fi
# 20200916 WARNS bumped, need bootstrapped crunchgen stubs
if [ -e "$OBJTOP"/rescue/rescue/rescue.c ] && \
! grep -q 'crunched_stub_t' "$OBJTOP"/rescue/rescue/rescue.c; then
echo "Removing old rescue(8) tree"
- rm -rf "$OBJTOP"/rescue/rescue
+ run rm -rf "$OBJTOP"/rescue/rescue
fi
# 20210105 fda7daf06301 pfctl gained its own version of pf_ruleset.c
@@ -62,14 +131,100 @@ if [ -e "$OBJTOP"/sbin/pfctl/.depend.pf_ruleset.o ] && \
egrep -qw "sys/netpfil/pf/pf_ruleset.c" \
"$OBJTOP"/sbin/pfctl/.depend.pf_ruleset.o; then
echo "Removing old pf_ruleset dependecy file"
- rm -rf "$OBJTOP"/sbin/pfctl/.depend.pf_ruleset.o
+ run rm -rf "$OBJTOP"/sbin/pfctl/.depend.pf_ruleset.o
fi
# 20210108 821aa63a0940 non-widechar version of ncurses removed
if [ -e "$OBJTOP"/lib/ncurses/ncursesw ]; then
echo "Removing stale ncurses objects"
- rm -rf "$OBJTOP"/lib/ncurses "$OBJTOP"/obj-lib32/lib/ncurses
+ for libcompat in "" $ALL_libcompats; do
+ dirprfx=${libcompat:+obj-lib${libcompat}/}
+ run rm -rf "$OBJTOP"/${dirprfx}lib/ncurses
+ done
fi
# 20210608 f20893853e8e move from atomic.S to atomic.c
-clean_dep cddl/lib/libspl atomic S
+clean_dep cddl/lib/libspl atomic S
+# 20211207 cbdec8db18b5 switch to libthr-friendly pdfork
+clean_dep lib/libc pdfork S
+
+# 20211230 5e6a2d6eb220 libc++.so.1 path changed in ldscript
+if [ -e "$OBJTOP"/lib/libc++/libc++.ld ] && \
+ fgrep -q "/usr/lib/libc++.so" "$OBJTOP"/lib/libc++/libc++.ld; then
+ echo "Removing old libc++ linker script"
+ run rm -f "$OBJTOP"/lib/libc++/libc++.ld
+fi
+
+# 20220326 fbc002cb72d2 move from bcmp.c to bcmp.S
+if [ "$MACHINE_ARCH" = "amd64" ]; then
+ clean_dep lib/libc bcmp c
+fi
+
+# 20220524 68fe988a40ca kqueue_test binary replaced shell script
+if stat "$OBJTOP"/tests/sys/kqueue/libkqueue/*kqtest* \
+ "$OBJTOP"/tests/sys/kqueue/libkqueue/.depend.kqtest* >/dev/null 2>&1; then
+ echo "Removing old kqtest"
+ run rm -f "$OBJTOP"/tests/sys/kqueue/libkqueue/.depend.* \
+ "$OBJTOP"/tests/sys/kqueue/libkqueue/*
+fi
+
+# 20221115 42d10b1b56f2 move from rs.c to rs.cc
+clean_dep usr.bin/rs rs c
+
+# 20230110 bc42155199b5 usr.sbin/zic/zic -> usr.sbin/zic
+if [ -d "$OBJTOP"/usr.sbin/zic/zic ] ; then
+ echo "Removing old zic directory"
+ run rm -rf "$OBJTOP"/usr.sbin/zic/zic
+fi
+
+# 20230208 29c5f8bf9a01 move from mkmakefile.c to mkmakefile.cc
+clean_dep usr.sbin/config mkmakefile c
+# 20230209 83d7ed8af3d9 convert to main.cc and mkoptions.cc
+clean_dep usr.sbin/config main c
+clean_dep usr.sbin/config mkoptions c
+
+# 20230401 54579376c05e kqueue1 from syscall to C wrapper
+clean_dep lib/libc kqueue1 S
+
+# 20230623 b077aed33b7b OpenSSL 3.0 update
+if [ -f "$OBJTOP"/secure/lib/libcrypto/aria.o ]; then
+ echo "Removing old OpenSSL 1.1.1 tree"
+ for libcompat in "" $ALL_libcompats; do
+ dirprfx=${libcompat:+obj-lib${libcompat}/}
+ run rm -rf "$OBJTOP"/${dirprfx}secure/lib/libcrypto \
+ "$OBJTOP"/${dirprfx}secure/lib/libssl
+ done
+fi
+
+# 20230714 ee8b0c436d72 replace ffs/fls implementations with clang builtins
+clean_dep lib/libc ffs S
+clean_dep lib/libc ffsl S
+clean_dep lib/libc ffsll S
+clean_dep lib/libc fls S
+clean_dep lib/libc flsl S
+clean_dep lib/libc flsll S
+
+# 20230815 28f6c2f29280 GoogleTest update
+if [ -e "$OBJTOP"/tests/sys/fs/fusefs/mockfs.o ] && \
+ grep -q '_ZN7testing8internal18g_linked_ptr_mutexE' "$OBJTOP"/tests/sys/fs/fusefs/mockfs.o; then
+ echo "Removing stale fusefs GoogleTest objects"
+ run rm -rf "$OBJTOP"/tests/sys/fs/fusefs
+fi
+
+# 20231031 0527c9bdc718 Remove forward compat ino64 stuff
+clean_dep lib/libc fstat c
+clean_dep lib/libc fstatat c
+clean_dep lib/libc fstatfs c
+clean_dep lib/libc getdirentries c
+clean_dep lib/libc getfsstat c
+clean_dep lib/libc statfs c
+
+# 20240308 e6ffc7669a56 Remove pointless MD syscall(2)
+# 20240308 0ee0ae237324 Remove pointless MD syscall(2)
+# 20240308 7b3836c28188 Remove pointless MD syscall(2)
+if [ ${MACHINE} != i386 -a -f "$OBJTOP"/lib/libsys/.depend.syscall.o ] && \
+ grep -q -e 'libsys/[^ /]*/syscall.S' "$OBJTOP"/lib/libsys/.depend.syscall.*; then
+ echo "Removing stale <arch>/syscall.S depends"
+ clean_dep lib/libsys syscall S
+ clean_dep lib/libc syscall S
+fi
diff --git a/tools/build/dummy.c b/tools/build/dummy.c
index b656a0305a97..8aff747b3f7e 100644
--- a/tools/build/dummy.c
+++ b/tools/build/dummy.c
@@ -1,5 +1,4 @@
/*
- * $FreeBSD$
*
* Empty file to keep linker happy.
*/
diff --git a/tools/build/fcntl.h b/tools/build/fcntl.h
index 3f88a4bf73d3..6aaf3eef2804 100644
--- a/tools/build/fcntl.h
+++ b/tools/build/fcntl.h
@@ -22,8 +22,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#ifndef _LEGACY_SYS_FCNTL_H_
diff --git a/tools/build/freebsd-yeet.pl b/tools/build/freebsd-yeet.pl
new file mode 100755
index 000000000000..33466a5c1094
--- /dev/null
+++ b/tools/build/freebsd-yeet.pl
@@ -0,0 +1,147 @@
+#!/usr/local/bin/perl
+#
+# Remove almost all of the $ FreeBSD $ tags in the tree.
+#
+# Copyright (c) 2023, Warner Losh
+# SPDX-License-Identifier: BSD-2-Clause
+#
+# Needs p5-File-Lib package
+# Caveat Emptor
+#
+use strict;
+use warnings;
+use File::Find;
+
+sub skip_list
+{
+ my $fn = $_[0];
+
+ if ($fn =~ m=^./contrib/=) {
+ return 1;
+ }
+ if ($fn =~ m=^./sys/contrib/=) {
+ return 1;
+ }
+ if ($fn =~ m=^./cddl/contrib/=) {
+ return 1;
+ }
+ if ($fn =~ m=^./crypto/=) {
+ return 1;
+ }
+ if ($fn =~ m=^./.git/=) {
+ return 1;
+ }
+ if ($fn =~ m=~$=) {
+ return 1;
+ }
+ return 0;
+}
+
+my $pretty;
+my $pattern;
+my $repl;
+my $count;
+my $syshash;
+my $hash;
+
+sub do_one
+{
+ $pretty = $_[0];
+ $pattern = $_[1];
+ $repl = "";
+ $repl = $_[2];
+ $syshash = $_[3];
+ $hash = $_[4];
+ $count = 0;
+
+ sub findfiles
+ {
+ return unless -f;
+ my $fn="$File::Find::name";
+ return if skip_list($fn);
+ open my $fh, '<', $_ or die "Can't open $fn: $!\n";
+ local $/;
+ my $file = <$fh>;
+ close $fh;
+ my $len = length($file);
+
+ $file =~ s=$pattern=$repl=gm;
+ my $len2 = length($file);
+ return if $len2 == $len;
+ print "$pretty: $fn\n";
+ open my $fhw, '>', $_ or die "Can't write $fn: $!\n";
+ print $fhw $file;
+ close $fhw;
+ $count++;
+ }
+
+ $count = 0;
+ find({ wanted => \&findfiles, }, './sys');
+ if ($count > 0) {
+ print "Changed $pretty\n";
+ system("git commit -a -m'sys: Remove \$FreeBSD\$: $pretty\n\nRemove /$pattern/\n\nSimilar commit in current:\n(cherry picked from commit $syshash)'");
+ }
+ $count = 0;
+ find({ wanted => \&findfiles, }, '.');
+ if ($count > 0) {
+ print "Changed $pretty\n";
+ system("git commit -a -m'Remove \$FreeBSD\$: $pretty\n\nRemove /$pattern/\n\nSimilar commit in main:\n(cherry picked from commit $hash)'");
+ }
+}
+
+# These are the commits to head
+# 9524e274b548 Remove $FreeBSD$: one-line xdr pattern
+# 26a58599a09a Remove $FreeBSD$: one-line forth tag
+# 401ab69cff8f Remove $FreeBSD$: one-line ps tag
+# 6ef644f5889a Remove $FreeBSD$: one-line lua tag
+# 9636a14538f5 Remove $FreeBSD$: two-line lua tag
+# 8c99d94c900f sys: Remove $FreeBSD$: two-line lua tag
+# ae992a336e8d Remove $FreeBSD$: one-line catalog
+# 2063df147163 sys: Remove $FreeBSD$: one-line catalog
+# 05248206f720 Remove $FreeBSD$: one-line bare tag
+# 78d146160dc5 sys: Remove $FreeBSD$: one-line bare tag
+# b2c76c41be32 Remove $FreeBSD$: one-line nroff pattern
+# fa9896e082a1 Remove $FreeBSD$: two-line nroff pattern
+# 9e7892125655 sys: Remove $FreeBSD$: two-line nroff pattern
+# d0b2dbfa0ecf Remove $FreeBSD$: one-line sh pattern
+# 031beb4e239b sys: Remove $FreeBSD$: one-line sh pattern
+# b1cfcffa89e6 Remove $FreeBSD$: one-line .S pattern
+# d4bf8003ee42 sys: Remove $FreeBSD$: one-line .S pattern
+# c8573564095b Remove $FreeBSD$: alt one-line .c pattern
+# da5432eda807 Remove $FreeBSD$: alt two-line .c pattern
+# 1d386b48a555 Remove $FreeBSD$: one-line .c pattern
+# 685dc743dc3b sys: Remove $FreeBSD$: one-line .c pattern
+# e5d258c9e599 Remove $FreeBSD$: two-line .c pattern
+# dfc016587a1e sys: Remove $FreeBSD$: two-line .c pattern
+# 2a63c3be1582 Remove $FreeBSD$: one-line .c comment pattern
+# 71625ec9ad2a sys: Remove $FreeBSD$: one-line .c comment pattern
+# 42b388439bd3 Remove $FreeBSD$: one-line .h pattern
+# 2ff63af9b88c sys: Remove $FreeBSD$: one-line .h pattern
+# b3e7694832e8 Remove $FreeBSD$: two-line .h pattern
+# 95ee2897e98f sys: Remove $FreeBSD$: two-line .h pattern
+# d54a7d337331 Remove $FreeBSD$: one-line m4 tag
+# 82a265ad9bad sys: Remove $FreeBSD$: sound driver version
+
+# Note: Do two line before one line
+# commit message pattern replacement or '' sys hash src hash
+do_one("sound driver version", 'SND_DECLARE_FILE\("\$FreeBSD\$"\);', 'SND_DECLARE_FILE("");', '', '82a265ad9bad');
+do_one("one-line m4 tag", '^dnl\s*\$FreeBSD\$.*$\n', '', '', 'd54a7d337331');
+do_one("two-line .h pattern", '^\s*\*\n \*\s+\$FreeBSD\$$\n', '', '95ee2897e98f', 'b3e7694832e8');
+do_one("one-line .h pattern", '^\s*\*+\s*\$FreeBSD\$.*$\n', '', '2ff63af9b88c', '42b388439bd3');
+do_one("one-line .c comment pattern", '^/[*/]\s*\$FreeBSD\$.*\n', '', '71625ec9ad2a', '2a63c3be1582');
+do_one("two-line .c pattern", '^#include\s+<sys/cdefs.h>.*$\n\s+__FBSDID\("\$FreeBSD\$"\);\n','', 'dfc016587a1e', 'e5d258c9e599');
+do_one("one-line .c pattern", '^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n', '', '685dc743dc3b', '1d386b48a555');
+do_one("alt two-line .c pattern", '^\s*__RCSID\("\$FreeBSD\$"\);\n\n', '', '', 'da5432eda807');
+do_one("alt one-line .c pattern", '^\s*__RCSID\("\$FreeBSD\$"\);\n', '', '', 'c8573564095b');
+do_one("one-line .S pattern", '^\s\.(asciz|ident)\s+\"\$FreeBSD\$\".*\n', '', 'd4bf8003ee42', 'b1cfcffa89e6');
+do_one("one-line sh pattern", '^\s*#[#!]?\s*\$FreeBSD\$.*$\n', '', '031beb4e239b', 'd0b2dbfa0ecf');
+do_one("two-line nroff pattern", '^\.\\\\"\n\.\\\\"\s*\$FreeBSD\$$\n', '', '9e7892125655', 'fa9896e082a1');
+do_one("one-line nroff pattern", '^\.\\\\"\s*\$FreeBSD\$$\n', '', '', 'b2c76c41be32');
+do_one("one-line bare tag", '^\s*\$FreeBSD\$$\n', '', '78d146160dc5', '05248206f720');
+do_one("one-line catalog", '^\s*\$\s*\$FreeBSD\$$\n', '', '2063df147163', 'ae992a336e8d');
+do_one("two-line lua tag", '^--\n--\s*\$FreeBSD\$.*$\n', '', '8c99d94c900f', '9636a14538f5');
+do_one("one-line lua tag", '^--\s*\$FreeBSD\$.*$\n', '', '', '6ef644f5889a');
+do_one("one-line ps tag", '^%\s*RCSID:\s*\$FreeBSD\$.*$\n', '', '', '401ab69cff8f');
+do_one("one-line forth tag", '^\\\\[\s*]*\$FreeBSD\$.*$\n', '', '', '26a58599a09a');
+do_one("one-line xdr pattern", '^\s*%\s*__FBSDID\("\$FreeBSD\$"\);?\s*\n', '', '', '9524e274b548');
+exit;
diff --git a/tools/build/fspacectl.c b/tools/build/fspacectl.c
index 13abca23a318..478539a8798c 100644
--- a/tools/build/fspacectl.c
+++ b/tools/build/fspacectl.c
@@ -27,8 +27,6 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <errno.h>
#include <fcntl.h>
diff --git a/tools/build/futimens.c b/tools/build/futimens.c
index 7d1cae701e97..d00f94d342ae 100644
--- a/tools/build/futimens.c
+++ b/tools/build/futimens.c
@@ -25,8 +25,6 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/stat.h>
#include <errno.h>
diff --git a/tools/build/libc-bootstrap/libc_private.h b/tools/build/libc-bootstrap/libc_private.h
index febee84ac24e..5b8e20d930d1 100644
--- a/tools/build/libc-bootstrap/libc_private.h
+++ b/tools/build/libc-bootstrap/libc_private.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/libc-bootstrap/namespace.h b/tools/build/libc-bootstrap/namespace.h
index 2c242f88072d..e453d1f0a796 100644
--- a/tools/build/libc-bootstrap/namespace.h
+++ b/tools/build/libc-bootstrap/namespace.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/libc-bootstrap/un-namespace.h b/tools/build/libc-bootstrap/un-namespace.h
index f08ab41ea543..4972077cb45b 100644
--- a/tools/build/libc-bootstrap/un-namespace.h
+++ b/tools/build/libc-bootstrap/un-namespace.h
@@ -32,8 +32,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#pragma once
diff --git a/tools/build/make.py b/tools/build/make.py
index 799ea89b74b3..73788a8896c7 100755
--- a/tools/build/make.py
+++ b/tools/build/make.py
@@ -1,7 +1,7 @@
#!/usr/bin/env python3
# PYTHON_ARGCOMPLETE_OKAY
# -
-# SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+# SPDX-License-Identifier: BSD-2-Clause
#
# Copyright (c) 2018 Alex Richardson <arichardson@FreeBSD.org>
#
@@ -26,7 +26,6 @@
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
# SUCH DAMAGE.
#
-# $FreeBSD$
#
# This script makes it easier to build on non-FreeBSD systems by bootstrapping
@@ -49,43 +48,96 @@ import sys
from pathlib import Path
+# List of targets that are independent of TARGET/TARGET_ARCH and thus do not
+# need them to be set. Keep in the same order as Makefile documents them (if
+# they are documented).
+mach_indep_targets = [
+ "cleanuniverse",
+ "universe",
+ "universe-toolchain",
+ "tinderbox",
+ "worlds",
+ "kernels",
+ "kernel-toolchains",
+ "targets",
+ "toolchains",
+ "makeman",
+ "sysent",
+]
+
+
def run(cmd, **kwargs):
cmd = list(map(str, cmd)) # convert all Path objects to str
debug("Running", cmd)
subprocess.check_call(cmd, **kwargs)
+# Always bootstraps in order to control bmake's config to ensure compatibility
def bootstrap_bmake(source_root, objdir_prefix):
bmake_source_dir = source_root / "contrib/bmake"
bmake_build_dir = objdir_prefix / "bmake-build"
bmake_install_dir = objdir_prefix / "bmake-install"
bmake_binary = bmake_install_dir / "bin/bmake"
+ bmake_config = bmake_install_dir / ".make-py-config"
+
+ bmake_source_version = subprocess.run([
+ "sh", "-c", ". \"$0\"/VERSION; echo $_MAKE_VERSION", bmake_source_dir],
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.strip()
+ try:
+ bmake_source_version = int(bmake_source_version)
+ except ValueError:
+ sys.exit("Invalid source bmake version '" + bmake_source_version + "'")
+
+ bmake_installed_version = 0
+ if bmake_binary.exists():
+ bmake_installed_version = subprocess.run([
+ bmake_binary, "-r", "-f", "/dev/null", "-V", "MAKE_VERSION"],
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.strip()
+ try:
+ bmake_installed_version = int(bmake_installed_version.strip())
+ except ValueError:
+ print("Invalid installed bmake version '" +
+ bmake_installed_version + "', treating as not present")
+
+ configure_args = [
+ "--with-default-sys-path=.../share/mk:" +
+ str(bmake_install_dir / "share/mk"),
+ "--with-machine=amd64", # TODO? "--with-machine-arch=amd64",
+ "--without-filemon", "--prefix=" + str(bmake_install_dir)]
- if (bmake_install_dir / "bin/bmake").exists():
+ configure_args_str = ' '.join([shlex.quote(x) for x in configure_args])
+ if bmake_config.exists():
+ last_configure_args_str = bmake_config.read_text()
+ else:
+ last_configure_args_str = ""
+
+ debug("Source bmake version: " + str(bmake_source_version))
+ debug("Installed bmake version: " + str(bmake_installed_version))
+ debug("Configure args: " + configure_args_str)
+ debug("Last configure args: " + last_configure_args_str)
+
+ if bmake_installed_version == bmake_source_version and \
+ configure_args_str == last_configure_args_str:
return bmake_binary
+
print("Bootstrapping bmake...")
- # TODO: check if the host system bmake is new enough and use that instead
- if not bmake_build_dir.exists():
- os.makedirs(str(bmake_build_dir))
+ if bmake_build_dir.exists():
+ shutil.rmtree(str(bmake_build_dir))
+ if bmake_install_dir.exists():
+ shutil.rmtree(str(bmake_install_dir))
+
+ os.makedirs(str(bmake_build_dir))
+
env = os.environ.copy()
global new_env_vars
env.update(new_env_vars)
- if sys.platform.startswith("linux"):
- # Work around the deleted file bmake/missing/sys/cdefs.h
- # TODO: bmake should keep the compat sys/cdefs.h
- env["CFLAGS"] = "-I{src}/tools/build/cross-build/include/common " \
- "-I{src}/tools/build/cross-build/include/linux " \
- "-D_GNU_SOURCE=1".format(src=source_root)
- configure_args = [
- "--with-default-sys-path=" + str(bmake_install_dir / "share/mk"),
- "--with-machine=amd64", # TODO? "--with-machine-arch=amd64",
- "--without-filemon", "--prefix=" + str(bmake_install_dir)]
run(["sh", bmake_source_dir / "boot-strap"] + configure_args,
cwd=str(bmake_build_dir), env=env)
-
run(["sh", bmake_source_dir / "boot-strap", "op=install"] + configure_args,
cwd=str(bmake_build_dir))
+ bmake_config.write_text(configure_args_str)
+
print("Finished bootstrapping bmake...")
return bmake_binary
@@ -119,6 +171,7 @@ def check_required_make_env_var(varname, binary_name, bindir):
if parsed_args.debug:
run([guess, "--version"])
+
def check_xtool_make_env_var(varname, binary_name):
# Avoid calling brew --prefix on macOS if all variables are already set:
if os.getenv(varname):
@@ -129,12 +182,14 @@ def check_xtool_make_env_var(varname, binary_name):
return check_required_make_env_var(varname, binary_name,
parsed_args.cross_bindir)
+
def default_cross_toolchain():
# default to homebrew-installed clang on MacOS if available
if sys.platform.startswith("darwin"):
if shutil.which("brew"):
- llvm_dir = subprocess.run(["brew", "--prefix", "llvm"],
- capture_output=True).stdout.strip()
+ llvm_dir = subprocess.run([
+ "brew", "--prefix", "llvm"],
+ stdout=subprocess.PIPE, stderr=subprocess.PIPE).stdout.strip()
debug("Inferred LLVM dir as", llvm_dir)
try:
if llvm_dir and Path(llvm_dir.decode("utf-8"), "bin").exists():
@@ -195,7 +250,7 @@ if __name__ == "__main__":
new_env_vars = {}
if not sys.platform.startswith("freebsd"):
if not is_make_var_set("TARGET") or not is_make_var_set("TARGET_ARCH"):
- if "universe" not in sys.argv and "tinderbox" not in sys.argv:
+ if not set(sys.argv).intersection(set(mach_indep_targets)):
sys.exit("TARGET= and TARGET_ARCH= must be set explicitly "
"when building on non-FreeBSD")
if not parsed_args.bootstrap_toolchain:
@@ -256,7 +311,7 @@ if __name__ == "__main__":
and not is_make_var_set("WITHOUT_CLEAN")):
# Avoid accidentally deleting all of the build tree and wasting lots of
# time cleaning directories instead of just doing a rm -rf ${.OBJDIR}
- want_clean = input("You did not set -DWITHOUT_CLEAN/--clean/--no-clean."
+ want_clean = input("You did not set -DWITHOUT_CLEAN/--(no-)clean."
" Did you really mean to do a clean build? y/[N] ")
if not want_clean.lower().startswith("y"):
bmake_args.append("-DWITHOUT_CLEAN")
@@ -267,5 +322,13 @@ if __name__ == "__main__":
shlex.quote(s) for s in [str(bmake_binary)] + bmake_args)
debug("Running `env ", env_cmd_str, " ", make_cmd_str, "`", sep="")
os.environ.update(new_env_vars)
+
+ # Fedora defines bash function wrapper for some shell commands and this
+ # makes 'which <command>' return the function's source code instead of
+ # the binary path. Undefine it to restore the original behavior.
+ os.unsetenv("BASH_FUNC_which%%")
+ os.unsetenv("BASH_FUNC_ml%%")
+ os.unsetenv("BASH_FUNC_module%%")
+
os.chdir(str(source_root))
os.execv(str(bmake_binary), [str(bmake_binary)] + bmake_args)
diff --git a/tools/build/make_check/Makefile b/tools/build/make_check/Makefile
index c9273c3efd85..d9efa7e4f8ab 100644
--- a/tools/build/make_check/Makefile
+++ b/tools/build/make_check/Makefile
@@ -1,4 +1,3 @@
-# $FreeBSD$
.MAKE.MODE= normal
@@ -59,10 +58,6 @@ all:
@echo "ok 14 shell # Test shell detected no regression."
@${SMAKE} shell_1 || ${SMAKE} failure
@echo "ok 15 shell_1 # Test shell_1 detected no regression."
-.if !defined(.PARSEDIR)
- @${SMAKE} shell_2 || ${SMAKE} failure
- @echo "ok 16 shell_2 # Test shell_2 detected no regression."
-.endif
.if make(C_check)
C_check:
@@ -102,7 +97,6 @@ notdef:
.endif
.if make(modifiers)
-.if defined(.PARSEDIR)
# check if bmake can expand plain variables
.MAKE.EXPAND_VARIABLES= yes
x!= ${SMAKE} -V .CURDIR:H
@@ -110,21 +104,6 @@ modifiers:
.if ${.CURDIR:H} != "$x"
@false
.endif
-.else
-# See if make(1) supports the C modifier.
-modifiers: dollarV
- @if ${SMAKE} -V .CURDIR:C/.// 2>&1 >/dev/null | \
- grep -q "Unknown modifier 'C'"; then \
- false; \
- fi
-
-# check that make -V '${VAR}' works
-V_expn != V_OK=ok ${SMAKE} -r -f /dev/null -V '$${V_OK}'
-dollarV:
-.if ${V_expn} == ""
- @false
-.endif
-.endif
.endif
.if make(arith_expr)
diff --git a/tools/build/make_check/check.mk b/tools/build/make_check/check.mk
index f2d666d5ca43..2eac5edf403e 100644
--- a/tools/build/make_check/check.mk
+++ b/tools/build/make_check/check.mk
@@ -1,4 +1,3 @@
-# $FreeBSD$
all:
${MK} ${MK_ARG}
diff --git a/tools/build/make_check/regress.t b/tools/build/make_check/regress.t
index e37f3328bdf6..711559ed6e69 100644
--- a/tools/build/make_check/regress.t
+++ b/tools/build/make_check/regress.t
@@ -1,5 +1,4 @@
#!/bin/sh
-# $FreeBSD$
cd `dirname $0`
make all
diff --git a/tools/build/make_check/shell_test.sh b/tools/build/make_check/shell_test.sh
index 46169eb6efc2..4363618a2f36 100644
--- a/tools/build/make_check/shell_test.sh
+++ b/tools/build/make_check/shell_test.sh
@@ -1,5 +1,4 @@
#!/bin/sh
-# $FreeBSD$
echo $@
if ! test -t 0 ; then
cat
diff --git a/tools/build/mk/Makefile.boot b/tools/build/mk/Makefile.boot
index 7ebbf726e7f2..9f63a7499592 100644
--- a/tools/build/mk/Makefile.boot
+++ b/tools/build/mk/Makefile.boot
@@ -1,4 +1,3 @@
-# $FreeBSD$
CFLAGS+= -I${WORLDTMP}/legacy/usr/include
DPADD+= ${WORLDTMP}/legacy/usr/lib/libegacy.a
@@ -16,28 +15,27 @@ NM:= /usr/bin/nm
# Avoid stale dependecy warnings:
LIBC:=
-LIBZ:=
LIBM:=
LIBUTIL:=
LIBCPLUSPLUS:=
LIBARCHIVE:=
LIBPTHREAD:=
LIBMD:=${WORLDTMP}/legacy/usr/lib/libmd.a
-LIBNV:=${WORLDTMP}/legacy/usr/lib/libmd.a
+LIBNV:=${WORLDTMP}/legacy/usr/lib/libnv.a
LIBSBUF:=${WORLDTMP}/legacy/usr/lib/libsbuf.a
LIBY:=${WORLDTMP}/legacy/usr/lib/liby.a
LIBL:=${WORLDTMP}/legacy/usr/lib/libl.a
LIBROKEN:=${WORLDTMP}/legacy/usr/lib/libroken.a
LIBDWARF:=${WORLDTMP}/legacy/usr/lib/libdwarf.a
LIBELF:=${WORLDTMP}/legacy/usr/lib/libelf.a
+LIBZ:=${WORLDTMP}/legacy/usr/lib/libz.a
# Add various -Werror flags to catch missing function declarations
CFLAGS+= -Werror=implicit-function-declaration -Werror=implicit-int \
-Werror=return-type -Wundef
CFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1
-CFLAGS+= -I${SRCTOP}/tools/build/cross-build/include/common
# This is needed for code that compiles for pre-C11 C standards
-CWARNFLAGS+= -Wno-typedef-redefinition
+CWARNFLAGS.clang+=-Wno-typedef-redefinition
# bsd.sys.mk explicitly turns on -Wsystem-headers, but that's extremely
# noisy when building on Linux.
CWARNFLAGS+= -Wno-system-headers
@@ -65,10 +63,15 @@ RANLIBFLAGS:=
# MacOS ships /usr/lib/libarchive.dylib but doesn't provide the headers
CFLAGS+= -idirafter ${SRCTOP}/contrib/libarchive/libarchive
.else
-.error "Unsupported build OS: ${.MAKE.OS}"
+.error Unsupported build OS: ${.MAKE.OS}
.endif
.endif # ${.MAKE.OS} != "FreeBSD"
+.if ${.MAKE.OS} != "FreeBSD"
+# Add the common compatibility headers after the OS-specific ones.
+CFLAGS+= -I${SRCTOP}/tools/build/cross-build/include/common
+.endif
+
# we do not want to capture dependencies referring to the above
UPDATE_DEPENDFILE= no
diff --git a/tools/build/mk/Makefile.boot.pre b/tools/build/mk/Makefile.boot.pre
index 4113c934fbc0..afad8d17b922 100644
--- a/tools/build/mk/Makefile.boot.pre
+++ b/tools/build/mk/Makefile.boot.pre
@@ -1,4 +1,3 @@
-# $FreeBSD$
# Various MK_* options need to be set before including bsd.prog.mk/bsd.lib.mk
.if ${.MAKE.OS} != "FreeBSD"
diff --git a/tools/build/mk/OptionalObsoleteFiles.inc b/tools/build/mk/OptionalObsoleteFiles.inc
index f09029ef9b7c..8898a405ea49 100644
--- a/tools/build/mk/OptionalObsoleteFiles.inc
+++ b/tools/build/mk/OptionalObsoleteFiles.inc
@@ -1,8 +1,9 @@
#
-# $FreeBSD$
#
-# This file add support for the WITHOUT_* and WITH_* knobs in src.conf(5) to
-# the check-old and delete-old* targets.
+# This file adds support for the WITHOUT_* and WITH_* knobs in src.conf(5) to
+# the check-old* and delete-old* targets.
+#
+# Blocks should be in sort(1) order by primary option.
#
.if ${MK_ACCT} == no
@@ -80,50 +81,6 @@ OLD_FILES+=usr/share/man/man1/batch.1.gz
OLD_FILES+=usr/share/man/man8/atrun.8.gz
.endif
-.if ${MK_ATM} == no
-OLD_FILES+=usr/bin/sscop
-OLD_FILES+=usr/include/netnatm/addr.h
-OLD_FILES+=usr/include/netnatm/api/atmapi.h
-OLD_FILES+=usr/include/netnatm/api/ccatm.h
-OLD_FILES+=usr/include/netnatm/api/unisap.h
-OLD_DIRS+=usr/include/netnatm/api
-OLD_FILES+=usr/include/netnatm/msg/uni_config.h
-OLD_FILES+=usr/include/netnatm/msg/uni_hdr.h
-OLD_FILES+=usr/include/netnatm/msg/uni_ie.h
-OLD_FILES+=usr/include/netnatm/msg/uni_msg.h
-OLD_FILES+=usr/include/netnatm/msg/unimsglib.h
-OLD_FILES+=usr/include/netnatm/msg/uniprint.h
-OLD_FILES+=usr/include/netnatm/msg/unistruct.h
-OLD_DIRS+=usr/include/netnatm/msg
-OLD_FILES+=usr/include/netnatm/saal/sscfu.h
-OLD_FILES+=usr/include/netnatm/saal/sscfudef.h
-OLD_FILES+=usr/include/netnatm/saal/sscop.h
-OLD_FILES+=usr/include/netnatm/saal/sscopdef.h
-OLD_DIRS+=usr/include/netnatm/saal
-OLD_FILES+=usr/include/netnatm/sig/uni.h
-OLD_FILES+=usr/include/netnatm/sig/unidef.h
-OLD_FILES+=usr/include/netnatm/sig/unisig.h
-OLD_DIRS+=usr/include/netnatm/sig
-OLD_FILES+=usr/include/netnatm/unimsg.h
-OLD_FILES+=usr/lib/libngatm.a
-OLD_FILES+=usr/lib/libngatm.so
-OLD_LIBS+=usr/lib/libngatm.so.4
-OLD_FILES+=usr/lib/libngatm_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libngatm.a
-OLD_FILES+=usr/lib32/libngatm.so
-OLD_LIBS+=usr/lib32/libngatm.so.4
-OLD_FILES+=usr/lib32/libngatm_p.a
-.endif
-OLD_FILES+=usr/share/man/man1/sscop.1.gz
-OLD_FILES+=usr/share/man/man3/libngatm.3.gz
-OLD_FILES+=usr/share/man/man3/uniaddr.3.gz
-OLD_FILES+=usr/share/man/man3/unifunc.3.gz
-OLD_FILES+=usr/share/man/man3/unimsg.3.gz
-OLD_FILES+=usr/share/man/man3/unisap.3.gz
-OLD_FILES+=usr/share/man/man3/unistruct.3.gz
-.endif
-
.if ${MK_AUDIT} == no
OLD_FILES+=etc/rc.d/auditd
OLD_FILES+=etc/rc.d/auditdistd
@@ -170,6 +127,7 @@ OLD_FILES+=etc/autofs/special_media
OLD_FILES+=etc/autofs/special_noauto
OLD_FILES+=etc/autofs/special_null
OLD_FILES+=etc/auto_master
+OLD_FILES+=etc/devd/autofs.conf
OLD_FILES+=etc/rc.d/automount
OLD_FILES+=etc/rc.d/automountd
OLD_FILES+=etc/rc.d/autounmountd
@@ -184,6 +142,15 @@ OLD_FILES+=usr/share/man/man8/autounmountd.8.gz
OLD_DIRS+=etc/autofs
.endif
+.if ${MK_BEARSSL} == no
+OLD_FILES+=usr/lib/libbearssl.a
+OLD_FILES+=usr/lib/libbearssl.so
+OLD_LIBS+=usr/lib/libbearssl.so.5
+OLD_FILES+=usr/lib/libsecureboot.a
+OLD_FILES+=usr/lib/libsecureboot.so
+OLD_LIBS+=usr/lib/libsecureboot.so.5
+.endif
+
.if ${MK_BHYVE} == no
OLD_FILES+=usr/lib/libvmmapi.a
OLD_FILES+=usr/lib/libvmmapi.so
@@ -198,13 +165,6 @@ OLD_FILES+=usr/share/man/man8/bhyveload.8.gz
OLD_DIRS+=usr/share/examples/bhyve
.endif
-.if !defined(WITH_PORT_BASE_BINUTILS)
-.if ${MK_LLD_IS_LD} == no
-OLD_FILES+=usr/bin/ld
-OLD_FILES+=usr/share/man/man1/ld.1.gz
-.endif
-.endif
-
.if ${MK_BLACKLIST} == no
OLD_FILES+=etc/blacklistd.conf
OLD_FILES+=etc/rc.d/blacklistd
@@ -266,16 +226,6 @@ OLD_FILES+=usr/lib/libsdp.a
OLD_FILES+=usr/lib/libsdp.so
OLD_LIBS+=usr/lib/libsdp.so.4
OLD_FILES+=usr/lib/libsdp_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libbluetooth.a
-OLD_FILES+=usr/lib32/libbluetooth.so
-OLD_LIBS+=usr/lib32/libbluetooth.so.4
-OLD_FILES+=usr/lib32/libbluetooth_p.a
-OLD_FILES+=usr/lib32/libsdp.a
-OLD_FILES+=usr/lib32/libsdp.so
-OLD_LIBS+=usr/lib32/libsdp.so.4
-OLD_FILES+=usr/lib32/libsdp_p.a
-.endif
OLD_FILES+=usr/sbin/ath3kfw
OLD_FILES+=usr/sbin/bcmfw
OLD_FILES+=usr/sbin/bluetooth-config
@@ -448,13 +398,6 @@ OLD_FILES+=usr/sbin/bootptest
OLD_FILES+=usr/share/man/man8/bootptest.8.gz
.endif
-.if ${MK_BSD_CPIO} == no
-OLD_FILES+=usr/bin/bsdcpio
-OLD_FILES+=usr/bin/cpio
-OLD_FILES+=usr/share/man/man1/bsdcpio.1.gz
-OLD_FILES+=usr/share/man/man1/cpio.1.gz
-.endif
-
.if ${MK_BSDINSTALL} == no
OLD_FILES+=usr/libexec/bsdinstall/adduser
OLD_FILES+=usr/libexec/bsdinstall/auto
@@ -466,6 +409,7 @@ OLD_FILES+=usr/libexec/bsdinstall/distextract
OLD_FILES+=usr/libexec/bsdinstall/distfetch
OLD_FILES+=usr/libexec/bsdinstall/docsinstall
OLD_FILES+=usr/libexec/bsdinstall/entropy
+OLD_FILES+=usr/libexec/bsdinstall/fetchmissingdists
OLD_FILES+=usr/libexec/bsdinstall/hardening
OLD_FILES+=usr/libexec/bsdinstall/hostname
OLD_FILES+=usr/libexec/bsdinstall/jail
@@ -477,9 +421,11 @@ OLD_FILES+=usr/libexec/bsdinstall/netconfig_ipv4
OLD_FILES+=usr/libexec/bsdinstall/netconfig_ipv6
OLD_FILES+=usr/libexec/bsdinstall/partedit
OLD_FILES+=usr/libexec/bsdinstall/rootpass
+OLD_FILES+=usr/libexec/bsdinstall/runconsoles
OLD_FILES+=usr/libexec/bsdinstall/script
OLD_FILES+=usr/libexec/bsdinstall/scriptedpart
OLD_FILES+=usr/libexec/bsdinstall/services
+OLD_FILES+=usr/libexec/bsdinstall/startbsdinstall
OLD_FILES+=usr/libexec/bsdinstall/time
OLD_FILES+=usr/libexec/bsdinstall/umount
OLD_FILES+=usr/libexec/bsdinstall/wlanconfig
@@ -490,6 +436,13 @@ OLD_FILES+=usr/share/man/man8/sade.8.gz
OLD_DIRS+=usr/libexec/bsdinstall
.endif
+.if ${MK_BSD_CPIO} == no
+OLD_FILES+=usr/bin/bsdcpio
+OLD_FILES+=usr/bin/cpio
+OLD_FILES+=usr/share/man/man1/bsdcpio.1.gz
+OLD_FILES+=usr/share/man/man1/cpio.1.gz
+.endif
+
.if ${MK_BSNMP} == no
OLD_FILES+=etc/snmpd.config
OLD_FILES+=etc/rc.d/bsnmpd
@@ -534,10 +487,6 @@ OLD_FILES+=usr/lib/snmp_vacm.so
OLD_LIBS+=usr/lib/snmp_vacm.so.6
OLD_FILES+=usr/lib/snmp_wlan.so
OLD_LIBS+=usr/lib/snmp_wlan.so.6
-OLD_FILES+=usr/lib32/libbsnmp.a
-OLD_FILES+=usr/lib32/libbsnmp.so
-OLD_LIBS+=usr/lib32/libbsnmp.so.6
-OLD_FILES+=usr/lib32/libbsnmp_p.a
OLD_FILES+=usr/sbin/bsnmpd
OLD_FILES+=usr/sbin/gensnmptree
OLD_FILES+=usr/share/examples/etc/snmpd.config
@@ -904,14 +853,15 @@ OLD_DIRS+=usr/tests/usr.bin/calendar
.if ${MK_CASPER} == no
OLD_LIBS+=lib/libcasper.so.1
-OLD_LIBS+=lib/casper/libcap_dns.so.2
-OLD_LIBS+=lib/casper/libcap_fileargs.so.1
-OLD_LIBS+=lib/casper/libcap_grp.so.1
-OLD_LIBS+=lib/casper/libcap_net.so.1
-OLD_LIBS+=lib/casper/libcap_pwd.so.1
-OLD_LIBS+=lib/casper/libcap_sysctl.so.1
-OLD_LIBS+=lib/casper/libcap_sysctl.so.2
-OLD_LIBS+=lib/casper/libcap_syslog.so.1
+OLD_LIBS+=lib/libcap_dns.so.2
+OLD_LIBS+=lib/libcap_fileargs.so.1
+OLD_LIBS+=lib/libcap_grp.so.1
+OLD_LIBS+=lib/libcap_net.so.1
+OLD_LIBS+=lib/libcap_netdb.so.1
+OLD_LIBS+=lib/libcap_pwd.so.1
+OLD_LIBS+=lib/libcap_sysctl.so.1
+OLD_LIBS+=lib/libcap_sysctl.so.2
+OLD_LIBS+=lib/libcap_syslog.so.1
.endif
.if ${MK_CCD} == no
@@ -922,303 +872,6 @@ OLD_FILES+=usr/share/man/man4/ccd.4.gz
OLD_FILES+=usr/share/man/man8/ccdconfig.8.gz
.endif
-.if ${MK_CDDL} == no
-OLD_LIBS+=lib/libavl.so.2
-OLD_LIBS+=lib/libctf.so.2
-OLD_LIBS+=lib/libdtrace.so.2
-OLD_LIBS+=lib/libnvpair.so.2
-OLD_LIBS+=lib/libumem.so.2
-OLD_LIBS+=lib/libuutil.so.2
-OLD_FILES+=usr/bin/ctfconvert
-OLD_FILES+=usr/bin/ctfdump
-OLD_FILES+=usr/bin/ctfmerge
-OLD_FILES+=usr/lib/dtrace/drti.o
-OLD_FILES+=usr/lib/dtrace/errno.d
-OLD_FILES+=usr/lib/dtrace/io.d
-OLD_FILES+=usr/lib/dtrace/ip.d
-OLD_FILES+=usr/lib/dtrace/mbuf.d
-OLD_FILES+=usr/lib/dtrace/psinfo.d
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
-OLD_FILES+=usr/lib/dtrace/regs_x86.d
-.endif
-OLD_FILES+=usr/lib/dtrace/sctp.d
-OLD_FILES+=usr/lib/dtrace/siftr.d
-OLD_FILES+=usr/lib/dtrace/signal.d
-OLD_FILES+=usr/lib/dtrace/socket.d
-OLD_FILES+=usr/lib/dtrace/tcp.d
-OLD_FILES+=usr/lib/dtrace/udp.d
-OLD_FILES+=usr/lib/dtrace/udplite.d
-OLD_FILES+=usr/lib/dtrace/unistd.d
-OLD_FILES+=usr/lib/libavl.a
-OLD_FILES+=usr/lib/libavl.so
-OLD_FILES+=usr/lib/libavl_p.a
-OLD_FILES+=usr/lib/libctf.a
-OLD_FILES+=usr/lib/libctf.so
-OLD_FILES+=usr/lib/libctf_p.a
-OLD_FILES+=usr/lib/libdtrace.a
-OLD_FILES+=usr/lib/libdtrace.so
-OLD_FILES+=usr/lib/libdtrace_p.a
-OLD_FILES+=usr/lib/libnvpair.a
-OLD_FILES+=usr/lib/libnvpair.so
-OLD_FILES+=usr/lib/libnvpair_p.a
-OLD_FILES+=usr/lib/libumem.a
-OLD_FILES+=usr/lib/libumem.so
-OLD_FILES+=usr/lib/libumem_p.a
-OLD_FILES+=usr/lib/libuutil.a
-OLD_FILES+=usr/lib/libuutil.so
-OLD_FILES+=usr/lib/libuutil_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/dtrace/drti.o
-OLD_FILES+=usr/lib32/libavl.a
-OLD_FILES+=usr/lib32/libavl.so
-OLD_LIBS+=usr/lib32/libavl.so.2
-OLD_FILES+=usr/lib32/libavl_p.a
-OLD_FILES+=usr/lib32/libctf.a
-OLD_FILES+=usr/lib32/libctf.so
-OLD_LIBS+=usr/lib32/libctf.so.2
-OLD_FILES+=usr/lib32/libctf_p.a
-OLD_FILES+=usr/lib32/libdtrace.a
-OLD_FILES+=usr/lib32/libdtrace.so
-OLD_LIBS+=usr/lib32/libdtrace.so.2
-OLD_FILES+=usr/lib32/libdtrace_p.a
-OLD_FILES+=usr/lib32/libnvpair.a
-OLD_FILES+=usr/lib32/libnvpair.so
-OLD_LIBS+=usr/lib32/libnvpair.so.2
-OLD_FILES+=usr/lib32/libnvpair_p.a
-OLD_FILES+=usr/lib32/libumem.a
-OLD_FILES+=usr/lib32/libumem.so
-OLD_LIBS+=usr/lib32/libumem.so.2
-OLD_FILES+=usr/lib32/libumem_p.a
-OLD_FILES+=usr/lib32/libuutil.a
-OLD_FILES+=usr/lib32/libuutil.so
-OLD_LIBS+=usr/lib32/libuutil.so.2
-OLD_FILES+=usr/lib32/libuutil_p.a
-.endif
-OLD_LIBS+=lib/libdtrace.so.2
-OLD_FILES+=usr/libexec/dwatch/chmod
-OLD_FILES+=usr/libexec/dwatch/errno
-OLD_FILES+=usr/libexec/dwatch/fchmodat
-OLD_FILES+=usr/libexec/dwatch/io
-OLD_FILES+=usr/libexec/dwatch/io-done
-OLD_FILES+=usr/libexec/dwatch/io-start
-OLD_FILES+=usr/libexec/dwatch/ip
-OLD_FILES+=usr/libexec/dwatch/ip-receive
-OLD_FILES+=usr/libexec/dwatch/ip-send
-OLD_FILES+=usr/libexec/dwatch/kill
-OLD_FILES+=usr/libexec/dwatch/lchmod
-OLD_FILES+=usr/libexec/dwatch/nanosleep
-OLD_FILES+=usr/libexec/dwatch/open
-OLD_FILES+=usr/libexec/dwatch/openat
-OLD_FILES+=usr/libexec/dwatch/proc
-OLD_FILES+=usr/libexec/dwatch/proc-create
-OLD_FILES+=usr/libexec/dwatch/proc-exec
-OLD_FILES+=usr/libexec/dwatch/proc-exec-failure
-OLD_FILES+=usr/libexec/dwatch/proc-exec-success
-OLD_FILES+=usr/libexec/dwatch/proc-exit
-OLD_FILES+=usr/libexec/dwatch/proc-signal
-OLD_FILES+=usr/libexec/dwatch/proc-signal-clear
-OLD_FILES+=usr/libexec/dwatch/proc-signal-discard
-OLD_FILES+=usr/libexec/dwatch/proc-signal-send
-OLD_FILES+=usr/libexec/dwatch/proc-status
-OLD_FILES+=usr/libexec/dwatch/read
-OLD_FILES+=usr/libexec/dwatch/recv
-OLD_FILES+=usr/libexec/dwatch/recvfrom
-OLD_FILES+=usr/libexec/dwatch/recvmsg
-OLD_FILES+=usr/libexec/dwatch/rw
-OLD_FILES+=usr/libexec/dwatch/sched
-OLD_FILES+=usr/libexec/dwatch/sched-change-pri
-OLD_FILES+=usr/libexec/dwatch/sched-cpu
-OLD_FILES+=usr/libexec/dwatch/sched-dequeue
-OLD_FILES+=usr/libexec/dwatch/sched-enqueue
-OLD_FILES+=usr/libexec/dwatch/sched-exec
-OLD_FILES+=usr/libexec/dwatch/sched-lend-pri
-OLD_FILES+=usr/libexec/dwatch/sched-load-change
-OLD_FILES+=usr/libexec/dwatch/sched-off-cpu
-OLD_FILES+=usr/libexec/dwatch/sched-on-cpu
-OLD_FILES+=usr/libexec/dwatch/sched-preempt
-OLD_FILES+=usr/libexec/dwatch/sched-pri
-OLD_FILES+=usr/libexec/dwatch/sched-queue
-OLD_FILES+=usr/libexec/dwatch/sched-remain-cpu
-OLD_FILES+=usr/libexec/dwatch/sched-sleep
-OLD_FILES+=usr/libexec/dwatch/sched-surrender
-OLD_FILES+=usr/libexec/dwatch/sched-tick
-OLD_FILES+=usr/libexec/dwatch/sched-wakeup
-OLD_FILES+=usr/libexec/dwatch/send
-OLD_FILES+=usr/libexec/dwatch/sendmsg
-OLD_FILES+=usr/libexec/dwatch/sendrecv
-OLD_FILES+=usr/libexec/dwatch/sendto
-OLD_FILES+=usr/libexec/dwatch/systop
-OLD_FILES+=usr/libexec/dwatch/tcp
-OLD_FILES+=usr/libexec/dwatch/tcp-accept
-OLD_FILES+=usr/libexec/dwatch/tcp-accept-established
-OLD_FILES+=usr/libexec/dwatch/tcp-accept-refused
-OLD_FILES+=usr/libexec/dwatch/tcp-connect
-OLD_FILES+=usr/libexec/dwatch/tcp-connect-established
-OLD_FILES+=usr/libexec/dwatch/tcp-connect-refused
-OLD_FILES+=usr/libexec/dwatch/tcp-connect-request
-OLD_FILES+=usr/libexec/dwatch/tcp-established
-OLD_FILES+=usr/libexec/dwatch/tcp-init
-OLD_FILES+=usr/libexec/dwatch/tcp-io
-OLD_FILES+=usr/libexec/dwatch/tcp-receive
-OLD_FILES+=usr/libexec/dwatch/tcp-refused
-OLD_FILES+=usr/libexec/dwatch/tcp-send
-OLD_FILES+=usr/libexec/dwatch/tcp-state-change
-OLD_FILES+=usr/libexec/dwatch/tcp-status
-OLD_FILES+=usr/libexec/dwatch/udp
-OLD_FILES+=usr/libexec/dwatch/udp-receive
-OLD_FILES+=usr/libexec/dwatch/udp-send
-OLD_FILES+=usr/libexec/dwatch/udplite
-OLD_FILES+=usr/libexec/dwatch/udplite-receive
-OLD_FILES+=usr/libexec/dwatch/udplite-send
-OLD_FILES+=usr/libexec/dwatch/vop_create
-OLD_FILES+=usr/libexec/dwatch/vop_lookup
-OLD_FILES+=usr/libexec/dwatch/vop_mkdir
-OLD_FILES+=usr/libexec/dwatch/vop_mknod
-OLD_FILES+=usr/libexec/dwatch/vop_readdir
-OLD_FILES+=usr/libexec/dwatch/vop_remove
-OLD_FILES+=usr/libexec/dwatch/vop_rename
-OLD_FILES+=usr/libexec/dwatch/vop_rmdir
-OLD_FILES+=usr/libexec/dwatch/vop_symlink
-OLD_FILES+=usr/libexec/dwatch/write
-OLD_FILES+=usr/sbin/dtrace
-OLD_FILES+=usr/sbin/dwatch
-OLD_FILES+=usr/sbin/lockstat
-OLD_FILES+=usr/sbin/plockstat
-OLD_FILES+=usr/share/man/man1/dtrace.1.gz
-OLD_FILES+=usr/share/man/man1/dtruss.1.gz
-OLD_FILES+=usr/share/man/man1/lockstat.1.gz
-OLD_FILES+=usr/share/man/man1/plockstat.1.gz
-OLD_FILES+=usr/share/dtrace/blocking
-OLD_FILES+=usr/share/dtrace/disklatency
-OLD_FILES+=usr/share/dtrace/disklatencycmd
-OLD_FILES+=usr/share/dtrace/hotopen
-OLD_FILES+=usr/share/dtrace/nfsattrstats
-OLD_FILES+=usr/share/dtrace/nfsclienttime
-OLD_FILES+=usr/share/dtrace/siftr
-OLD_FILES+=usr/share/dtrace/toolkit/execsnoop
-OLD_FILES+=usr/share/dtrace/toolkit/hotkernel
-OLD_FILES+=usr/share/dtrace/toolkit/hotuser
-OLD_FILES+=usr/share/dtrace/toolkit/opensnoop
-OLD_FILES+=usr/share/dtrace/toolkit/procsystime
-OLD_FILES+=usr/share/dtrace/tcpconn
-OLD_FILES+=usr/share/dtrace/tcpdebug
-OLD_FILES+=usr/share/dtrace/tcpstate
-OLD_FILES+=usr/share/dtrace/tcptrack
-OLD_FILES+=usr/share/dtrace/udptrack
-OLD_FILES+=usr/share/man/man1/dtrace.1.gz
-OLD_DIRS+=usr/lib/dtrace
-OLD_DIRS+=usr/lib32/dtrace
-OLD_DIRS+=usr/libexec/dwatch
-OLD_DIRS+=usr/share/dtrace/toolkit
-OLD_DIRS+=usr/share/dtrace
-.endif
-
-.if ${MK_ZFS} == no
-OLD_FILES+=boot/gptzfsboot
-OLD_FILES+=boot/zfsboot
-OLD_FILES+=boot/zfsloader
-OLD_FILES+=etc/rc.d/zfs
-OLD_FILES+=etc/rc.d/zfsd
-OLD_FILES+=etc/rc.d/zfsbe
-OLD_FILES+=etc/rc.d/zvol
-OLD_FILES+=etc/devd/zfs.conf
-OLD_FILES+=etc/periodic/daily/404.status-zfs
-OLD_FILES+=etc/periodic/daily/800.scrub-zfs
-OLD_FILES+=etc/zfs/exports
-OLD_DIRS+=etc/zfs
-OLD_LIBS+=lib/libzfs.so.2
-OLD_LIBS+=lib/libzfs.so.3
-OLD_LIBS+=lib/libzfs_core.so.2
-OLD_LIBS+=lib/libzpool.so.2
-OLD_FILES+=rescue/zdb
-OLD_FILES+=rescue/zfs
-OLD_FILES+=rescue/zpool
-OLD_FILES+=sbin/bectl
-OLD_FILES+=sbin/zfs
-OLD_FILES+=sbin/zpool
-OLD_FILES+=sbin/zfsbootcfg
-OLD_FILES+=usr/bin/zinject
-OLD_FILES+=usr/bin/zstreamdump
-OLD_FILES+=usr/bin/ztest
-OLD_FILES+=usr/lib/libbe.a
-OLD_FILES+=usr/lib/libbe_p.a
-OLD_FILES+=usr/lib/libbe.so
-OLD_LIBS+=lib/libbe.so.1
-OLD_FILES+=usr/lib/libzfs.a
-OLD_LIBS+=usr/lib/libzfs.so
-OLD_FILES+=usr/lib/libzfs_core.a
-OLD_LIBS+=usr/lib/libzfs_core.so
-OLD_LIBS+=usr/lib/libzfs_core_p.a
-OLD_FILES+=usr/lib/libzfs_p.a
-OLD_FILES+=usr/lib/libzpool.a
-OLD_FILES+=usr/lib/libzpool.so
-OLD_LIBS+=usr/lib/libzpool.so.2
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libzfs.a
-OLD_FILES+=usr/lib32/libzfs.so
-OLD_LIBS+=usr/lib32/libzfs.so.2
-OLD_LIBS+=usr/lib32/libzfs.so.3
-OLD_FILES+=usr/lib32/libzfs_core.a
-OLD_FILES+=usr/lib32/libzfs_core.so
-OLD_LIBS+=usr/lib32/libzfs_core.so.2
-OLD_FILES+=usr/lib32/libzfs_core_p.a
-OLD_FILES+=usr/lib32/libzfs_p.a
-OLD_FILES+=usr/lib32/libzpool.a
-OLD_FILES+=usr/lib32/libzpool.so
-OLD_LIBS+=usr/lib32/libzpool.so.2
-.endif
-OLD_FILES+=usr/sbin/zfsd
-OLD_FILES+=usr/sbin/zhack
-OLD_FILES+=usr/sbin/zdb
-OLD_FILES+=usr/share/man/man3/be_activate.3.gz
-OLD_FILES+=usr/share/man/man3/be_active_name.3.gz
-OLD_FILES+=usr/share/man/man3/be_active_path.3.gz
-OLD_FILES+=usr/share/man/man3/be_create_depth.3.gz
-OLD_FILES+=usr/share/man/man3/be_create_from_existing_snap.3.gz
-OLD_FILES+=usr/share/man/man3/be_create_from_existing.3.gz
-OLD_FILES+=usr/share/man/man3/be_create.3.gz
-OLD_FILES+=usr/share/man/man3/be_deactivate.3.gz
-OLD_FILES+=usr/share/man/man3/be_destroy.3.gz
-OLD_FILES+=usr/share/man/man3/be_exists.3.gz
-OLD_FILES+=usr/share/man/man3/be_export.3.gz
-OLD_FILES+=usr/share/man/man3/be_get_bootenv_props.3.gz
-OLD_FILES+=usr/share/man/man3/be_get_dataset_props.3.gz
-OLD_FILES+=usr/share/man/man3/be_get_dataset_snapshots.3.gz
-OLD_FILES+=usr/share/man/man3/be_import.3.gz
-OLD_FILES+=usr/share/man/man3/be_is_auto_snapshot_name.3.gz
-OLD_FILES+=usr/share/man/man3/be_mount.3.gz
-OLD_FILES+=usr/share/man/man3/be_mounted_at.3.gz
-OLD_FILES+=usr/share/man/man3/be_nextboot_name.3.gz
-OLD_FILES+=usr/share/man/man3/be_nextboot_path.3.gz
-OLD_FILES+=usr/share/man/man3/be_nicenum.3.gz
-OLD_FILES+=usr/share/man/man3/be_prop_list_alloc.3.gz
-OLD_FILES+=usr/share/man/man3/be_prop_list_free.3.gz
-OLD_FILES+=usr/share/man/man3/be_rename.3.gz
-OLD_FILES+=usr/share/man/man3/be_root_concat.3.gz
-OLD_FILES+=usr/share/man/man3/be_root_path.3.gz
-OLD_FILES+=usr/share/man/man3/be_snapshot.3.gz
-OLD_FILES+=usr/share/man/man3/be_unmount.3.gz
-OLD_FILES+=usr/share/man/man3/be_validate_name.3.gz
-OLD_FILES+=usr/share/man/man3/be_validate_snap.3.gz
-OLD_FILES+=usr/share/man/man3/libbe_close.3.gz
-OLD_FILES+=usr/share/man/man3/libbe_errno.3.gz
-OLD_FILES+=usr/share/man/man3/libbe_error_description.3.gz
-OLD_FILES+=usr/share/man/man3/libbe_init.3.gz
-OLD_FILES+=usr/share/man/man3/libbe_print_on_error.3.gz
-OLD_FILES+=usr/share/man/man3/libbe.3.gz
-OLD_FILES+=usr/share/man/man5/zpool-features.5.gz
-OLD_FILES+=usr/share/man/man8/bectl.8.gz
-OLD_FILES+=usr/share/man/man8/gptzfsboot.8.gz
-OLD_FILES+=usr/share/man/man8/zdb.8.gz
-OLD_FILES+=usr/share/man/man8/zfs-program.8.gz
-OLD_FILES+=usr/share/man/man8/zfs.8.gz
-OLD_FILES+=usr/share/man/man8/zfsboot.8.gz
-OLD_FILES+=usr/share/man/man8/zfsbootcfg.8.gz
-OLD_FILES+=usr/share/man/man8/zfsd.8.gz
-OLD_FILES+=usr/share/man/man8/zfsloader.8.gz
-OLD_FILES+=usr/share/man/man8/zpool.8.gz
-.endif
-
.if ${MK_CLANG} == no && ${MK_LLVM_BINUTILS} == no
OLD_FILES+=usr/bin/llvm-addr2line
OLD_FILES+=usr/bin/llvm-ar
@@ -1231,6 +884,7 @@ OLD_FILES+=usr/bin/llvm-readobj
OLD_FILES+=usr/bin/llvm-size
OLD_FILES+=usr/bin/llvm-strings
OLD_FILES+=usr/bin/llvm-symbolizer
+OLD_FILES+=usr/bin/objdump
OLD_FILES+=usr/share/man/man1/llvm-addr2line.1.gz
OLD_FILES+=usr/share/man/man1/llvm-ar.1.gz
OLD_FILES+=usr/share/man/man1/llvm-nm.1.gz
@@ -1241,307 +895,424 @@ OLD_FILES+=usr/share/man/man1/llvm-readobj.1.gz
OLD_FILES+=usr/share/man/man1/llvm-size.1.gz
OLD_FILES+=usr/share/man/man1/llvm-strings.1.gz
OLD_FILES+=usr/share/man/man1/llvm-symbolizer.1.gz
+OLD_FILES+=usr/share/man/man1/objdump.1.gz
.endif
.if ${MK_CLANG} == no
OLD_FILES+=usr/bin/clang
OLD_FILES+=usr/bin/clang++
OLD_FILES+=usr/bin/clang-cpp
-OLD_FILES+=usr/lib/clang/13.0.0/include/cuda_wrappers/algorithm
-OLD_FILES+=usr/lib/clang/13.0.0/include/cuda_wrappers/complex
-OLD_FILES+=usr/lib/clang/13.0.0/include/cuda_wrappers/new
-OLD_DIRS+=usr/lib/clang/13.0.0/include/cuda_wrappers
-OLD_FILES+=usr/lib/clang/13.0.0/include/fuzzer/FuzzedDataProvider.h
-OLD_DIRS+=usr/lib/clang/13.0.0/include/fuzzer
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/__clang_openmp_device_functions.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/cmath
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/complex
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/complex.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/complex_cmath.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/math.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/openmp_wrappers/new
-OLD_DIRS+=usr/lib/clang/13.0.0/include/openmp_wrappers
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/emmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/mm_malloc.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/mmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/pmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/smmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/tmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ppc_wrappers/xmmintrin.h
-OLD_DIRS+=usr/lib/clang/13.0.0/include/ppc_wrappers
-OLD_FILES+=usr/lib/clang/13.0.0/include/profile/InstrProfData.inc
-OLD_DIRS+=usr/lib/clang/13.0.0/include/profile
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/allocator_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/asan_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/common_interface_defs.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/coverage_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/dfsan_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/hwasan_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/linux_syscall_hooks.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/lsan_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/msan_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/netbsd_syscall_hooks.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/scudo_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/tsan_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/tsan_interface_atomic.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sanitizer/ubsan_interface.h
-OLD_DIRS+=usr/lib/clang/13.0.0/include/sanitizer
-OLD_FILES+=usr/lib/clang/13.0.0/include/xray/xray_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xray/xray_log_interface.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xray/xray_records.h
-OLD_DIRS+=usr/lib/clang/13.0.0/include/xray
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_builtin_vars.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_cmath.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_complex_builtins.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_device_functions.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_intrinsics.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_libdevice_declares.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_math.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_math_forward_declares.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_cuda_runtime_wrapper.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_cmath.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_libdevice_declares.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_math.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__clang_hip_runtime_wrapper.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__stddef_max_align_t.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__wmmintrin_aes.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/__wmmintrin_pclmul.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/adxintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/altivec.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ammintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/amxintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm64intr.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_acle.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_bf16.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_cde.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_cmse.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_fp16.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_mve.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_neon.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/arm_sve.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/armintr.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx2intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512bf16intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512bitalgintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512bwintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512cdintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512dqintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512erintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512fintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512ifmaintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512ifmavlintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512pfintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vbmi2intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vbmiintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vbmivlintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlbf16intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlbitalgintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlbwintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlcdintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vldqintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlvbmi2intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlvnniintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vlvp2intersectintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vnniintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vp2intersectintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vpopcntdqintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avx512vpopcntdqvlintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avxintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/avxvnniintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/bmi2intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/bmiintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/builtins.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/cet.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/cetintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/cldemoteintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/clflushoptintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/clwbintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/clzerointrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/cpuid.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/emmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/enqcmdintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/f16cintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/float.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/fma4intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/fmaintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/fxsrintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/gfniintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/hexagon_circ_brev_intrinsics.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/hexagon_protos.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/hexagon_types.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/hresetintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/htmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/htmxlintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/hvx_hexagon_protos.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ia32intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/immintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/inttypes.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/invpcidintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/iso646.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/keylockerintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/limits.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/lwpintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/lzcntintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/mm3dnow.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/mm_malloc.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/mmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/module.modulemap
-OLD_FILES+=usr/lib/clang/13.0.0/include/movdirintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/msa.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/mwaitxintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/nmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/omp-tools.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/omp.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ompt.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/opencl-c-base.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/opencl-c.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/pconfigintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/pkuintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/pmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/popcntintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/prfchwintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/ptwriteintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/rdseedintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/riscv_vector.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/rtmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/s390intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/serializeintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/sgxintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/shaintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/smmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stdalign.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stdarg.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stdatomic.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stdbool.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stddef.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stdint.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/stdnoreturn.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/tbmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/tgmath.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/tmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/tsxldtrkintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/uintrintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/unwind.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/vadefs.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/vaesintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/varargs.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/vecintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/vpclmulqdqintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/waitpkgintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/wasm_simd128.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/wbnoinvdintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/wmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/x86gprintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/x86intrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xmmintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xopintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xsavecintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xsaveintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xsaveoptintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xsavesintrin.h
-OLD_FILES+=usr/lib/clang/13.0.0/include/xtestintrin.h
-OLD_DIRS+=usr/lib/clang/13.0.0/include
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-aarch64.so
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-arm.so
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-armhf.so
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-i386.so
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan-x86_64.so
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.cfi_diag-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.dd-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.dd-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan_cxx-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.msan_cxx-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-powerpc.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-powerpc64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-powerpc64le.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.profile-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.safestack-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.safestack-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.safestack-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.stats_client-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-basic-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-fdr-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-aarch64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-arm.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-armhf.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
-OLD_FILES+=usr/lib/clang/13.0.0/lib/freebsd/libclang_rt.xray-x86_64.a
-OLD_DIRS+=usr/lib/clang/13.0.0/lib/freebsd
-OLD_DIRS+=usr/lib/clang/13.0.0/lib
-OLD_DIRS+=usr/lib/clang/13.0.0
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_builtin_vars.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_cmath.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_complex_builtins.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_device_functions.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_intrinsics.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_libdevice_declares.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_math.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_math_forward_declares.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_runtime_wrapper.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_cuda_texture_intrinsics.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_hip_cmath.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_hip_libdevice_declares.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_hip_math.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_hip_runtime_wrapper.h
+OLD_FILES+=usr/lib/clang/18/include/__clang_hip_stdlib.h
+OLD_FILES+=usr/lib/clang/18/include/__stdarg___gnuc_va_list.h
+OLD_FILES+=usr/lib/clang/18/include/__stdarg___va_copy.h
+OLD_FILES+=usr/lib/clang/18/include/__stdarg_va_arg.h
+OLD_FILES+=usr/lib/clang/18/include/__stdarg_va_copy.h
+OLD_FILES+=usr/lib/clang/18/include/__stdarg_va_list.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_max_align_t.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_null.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_nullptr_t.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_offsetof.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_ptrdiff_t.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_rsize_t.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_size_t.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_unreachable.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_wchar_t.h
+OLD_FILES+=usr/lib/clang/18/include/__stddef_wint_t.h
+OLD_FILES+=usr/lib/clang/18/include/__wmmintrin_aes.h
+OLD_FILES+=usr/lib/clang/18/include/__wmmintrin_pclmul.h
+OLD_FILES+=usr/lib/clang/18/include/adcintrin.h
+OLD_FILES+=usr/lib/clang/18/include/adxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/altivec.h
+OLD_FILES+=usr/lib/clang/18/include/ammintrin.h
+OLD_FILES+=usr/lib/clang/18/include/amxcomplexintrin.h
+OLD_FILES+=usr/lib/clang/18/include/amxfp16intrin.h
+OLD_FILES+=usr/lib/clang/18/include/amxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/arm64intr.h
+OLD_FILES+=usr/lib/clang/18/include/arm_acle.h
+OLD_FILES+=usr/lib/clang/18/include/arm_bf16.h
+OLD_FILES+=usr/lib/clang/18/include/arm_cde.h
+OLD_FILES+=usr/lib/clang/18/include/arm_cmse.h
+OLD_FILES+=usr/lib/clang/18/include/arm_fp16.h
+OLD_FILES+=usr/lib/clang/18/include/arm_mve.h
+OLD_FILES+=usr/lib/clang/18/include/arm_neon.h
+OLD_FILES+=usr/lib/clang/18/include/arm_neon_sve_bridge.h
+OLD_FILES+=usr/lib/clang/18/include/arm_sme_draft_spec_subject_to_change.h
+OLD_FILES+=usr/lib/clang/18/include/arm_sve.h
+OLD_FILES+=usr/lib/clang/18/include/arm_vector_types.h
+OLD_FILES+=usr/lib/clang/18/include/armintr.h
+OLD_FILES+=usr/lib/clang/18/include/avx2intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512bf16intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512bitalgintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512bwintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512cdintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512dqintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512erintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512fintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512fp16intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512ifmaintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512ifmavlintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512pfintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vbmi2intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vbmiintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vbmivlintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlbf16intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlbitalgintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlbwintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlcdintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vldqintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlfp16intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlvbmi2intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlvnniintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vlvp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vnniintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vp2intersectintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vpopcntdqintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avx512vpopcntdqvlintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avxifmaintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avxneconvertintrin.h
+OLD_FILES+=usr/lib/clang/18/include/avxvnniint16intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avxvnniint8intrin.h
+OLD_FILES+=usr/lib/clang/18/include/avxvnniintrin.h
+OLD_FILES+=usr/lib/clang/18/include/bmi2intrin.h
+OLD_FILES+=usr/lib/clang/18/include/bmiintrin.h
+OLD_FILES+=usr/lib/clang/18/include/builtins.h
+OLD_FILES+=usr/lib/clang/18/include/cet.h
+OLD_FILES+=usr/lib/clang/18/include/cetintrin.h
+OLD_FILES+=usr/lib/clang/18/include/cldemoteintrin.h
+OLD_FILES+=usr/lib/clang/18/include/clflushoptintrin.h
+OLD_FILES+=usr/lib/clang/18/include/clwbintrin.h
+OLD_FILES+=usr/lib/clang/18/include/clzerointrin.h
+OLD_FILES+=usr/lib/clang/18/include/cmpccxaddintrin.h
+OLD_FILES+=usr/lib/clang/18/include/cpuid.h
+OLD_FILES+=usr/lib/clang/18/include/crc32intrin.h
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/algorithm
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/bits/basic_string.h
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/bits/basic_string.tcc
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/bits/shared_ptr_base.h
+OLD_DIRS+=usr/lib/clang/18/include/cuda_wrappers/bits
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/cmath
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/complex
+OLD_FILES+=usr/lib/clang/18/include/cuda_wrappers/new
+OLD_DIRS+=usr/lib/clang/18/include/cuda_wrappers
+OLD_FILES+=usr/lib/clang/18/include/emmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/enqcmdintrin.h
+OLD_FILES+=usr/lib/clang/18/include/f16cintrin.h
+OLD_FILES+=usr/lib/clang/18/include/float.h
+OLD_FILES+=usr/lib/clang/18/include/fma4intrin.h
+OLD_FILES+=usr/lib/clang/18/include/fmaintrin.h
+OLD_FILES+=usr/lib/clang/18/include/fuzzer/FuzzedDataProvider.h
+OLD_DIRS+=usr/lib/clang/18/include/fuzzer
+OLD_FILES+=usr/lib/clang/18/include/fxsrintrin.h
+OLD_FILES+=usr/lib/clang/18/include/gfniintrin.h
+OLD_FILES+=usr/lib/clang/18/include/hexagon_circ_brev_intrinsics.h
+OLD_FILES+=usr/lib/clang/18/include/hexagon_protos.h
+OLD_FILES+=usr/lib/clang/18/include/hexagon_types.h
+OLD_FILES+=usr/lib/clang/18/include/hlsl/hlsl_basic_types.h
+OLD_FILES+=usr/lib/clang/18/include/hlsl/hlsl_intrinsics.h
+OLD_DIRS+=usr/lib/clang/18/include/hlsl
+OLD_FILES+=usr/lib/clang/18/include/hlsl.h
+OLD_FILES+=usr/lib/clang/18/include/hresetintrin.h
+OLD_FILES+=usr/lib/clang/18/include/htmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/htmxlintrin.h
+OLD_FILES+=usr/lib/clang/18/include/hvx_hexagon_protos.h
+OLD_FILES+=usr/lib/clang/18/include/ia32intrin.h
+OLD_FILES+=usr/lib/clang/18/include/immintrin.h
+OLD_FILES+=usr/lib/clang/18/include/intrin.h
+OLD_FILES+=usr/lib/clang/18/include/inttypes.h
+OLD_FILES+=usr/lib/clang/18/include/invpcidintrin.h
+OLD_FILES+=usr/lib/clang/18/include/iso646.h
+OLD_FILES+=usr/lib/clang/18/include/keylockerintrin.h
+OLD_FILES+=usr/lib/clang/18/include/larchintrin.h
+OLD_FILES+=usr/lib/clang/18/include/lasxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/limits.h
+OLD_FILES+=usr/lib/clang/18/include/lsxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/lwpintrin.h
+OLD_FILES+=usr/lib/clang/18/include/lzcntintrin.h
+OLD_FILES+=usr/lib/clang/18/include/mm3dnow.h
+OLD_FILES+=usr/lib/clang/18/include/mm_malloc.h
+OLD_FILES+=usr/lib/clang/18/include/mmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/module.modulemap
+OLD_FILES+=usr/lib/clang/18/include/movdirintrin.h
+OLD_FILES+=usr/lib/clang/18/include/msa.h
+OLD_FILES+=usr/lib/clang/18/include/mwaitxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/nmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/omp-tools.h
+OLD_FILES+=usr/lib/clang/18/include/omp.h
+OLD_FILES+=usr/lib/clang/18/include/ompt.h
+OLD_FILES+=usr/lib/clang/18/include/opencl-c-base.h
+OLD_FILES+=usr/lib/clang/18/include/opencl-c.h
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/__clang_openmp_device_functions.h
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/cmath
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/complex
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/complex.h
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/complex_cmath.h
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/math.h
+OLD_FILES+=usr/lib/clang/18/include/openmp_wrappers/new
+OLD_DIRS+=usr/lib/clang/18/include/openmp_wrappers
+OLD_FILES+=usr/lib/clang/18/include/orc_rt/c_api.h
+OLD_DIRS+=usr/lib/clang/18/include/orc_rt
+OLD_FILES+=usr/lib/clang/18/include/pconfigintrin.h
+OLD_FILES+=usr/lib/clang/18/include/pkuintrin.h
+OLD_FILES+=usr/lib/clang/18/include/pmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/popcntintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/bmi2intrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/bmiintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/emmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/immintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/mm_malloc.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/mmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/nmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/pmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/smmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/tmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/x86gprintrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/x86intrin.h
+OLD_FILES+=usr/lib/clang/18/include/ppc_wrappers/xmmintrin.h
+OLD_DIRS+=usr/lib/clang/18/include/ppc_wrappers
+OLD_FILES+=usr/lib/clang/18/include/prfchiintrin.h
+OLD_FILES+=usr/lib/clang/18/include/prfchwintrin.h
+OLD_FILES+=usr/lib/clang/18/include/profile/InstrProfData.inc
+OLD_FILES+=usr/lib/clang/18/include/profile/MemProfData.inc
+OLD_DIRS+=usr/lib/clang/18/include/profile
+OLD_FILES+=usr/lib/clang/18/include/ptwriteintrin.h
+OLD_FILES+=usr/lib/clang/18/include/raointintrin.h
+OLD_FILES+=usr/lib/clang/18/include/rdpruintrin.h
+OLD_FILES+=usr/lib/clang/18/include/rdseedintrin.h
+OLD_FILES+=usr/lib/clang/18/include/riscv_bitmanip.h
+OLD_FILES+=usr/lib/clang/18/include/riscv_crypto.h
+OLD_FILES+=usr/lib/clang/18/include/riscv_ntlh.h
+OLD_FILES+=usr/lib/clang/18/include/riscv_vector.h
+OLD_FILES+=usr/lib/clang/18/include/rtmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/s390intrin.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/allocator_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/asan_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/common_interface_defs.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/coverage_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/dfsan_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/hwasan_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/linux_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/lsan_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/memprof_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/msan_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/netbsd_syscall_hooks.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/scudo_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/tsan_interface.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/tsan_interface_atomic.h
+OLD_FILES+=usr/lib/clang/18/include/sanitizer/ubsan_interface.h
+OLD_DIRS+=usr/lib/clang/18/include/sanitizer
+OLD_FILES+=usr/lib/clang/18/include/serializeintrin.h
+OLD_FILES+=usr/lib/clang/18/include/sgxintrin.h
+OLD_FILES+=usr/lib/clang/18/include/sha512intrin.h
+OLD_FILES+=usr/lib/clang/18/include/shaintrin.h
+OLD_FILES+=usr/lib/clang/18/include/sifive_vector.h
+OLD_FILES+=usr/lib/clang/18/include/sm3intrin.h
+OLD_FILES+=usr/lib/clang/18/include/sm4intrin.h
+OLD_FILES+=usr/lib/clang/18/include/smmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/stdalign.h
+OLD_FILES+=usr/lib/clang/18/include/stdarg.h
+OLD_FILES+=usr/lib/clang/18/include/stdatomic.h
+OLD_FILES+=usr/lib/clang/18/include/stdbool.h
+OLD_FILES+=usr/lib/clang/18/include/stdckdint.h
+OLD_FILES+=usr/lib/clang/18/include/stddef.h
+OLD_FILES+=usr/lib/clang/18/include/stdint.h
+OLD_FILES+=usr/lib/clang/18/include/stdnoreturn.h
+OLD_FILES+=usr/lib/clang/18/include/tbmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/tgmath.h
+OLD_FILES+=usr/lib/clang/18/include/tmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/tsxldtrkintrin.h
+OLD_FILES+=usr/lib/clang/18/include/uintrintrin.h
+OLD_FILES+=usr/lib/clang/18/include/unwind.h
+OLD_FILES+=usr/lib/clang/18/include/usermsrintrin.h
+OLD_FILES+=usr/lib/clang/18/include/vadefs.h
+OLD_FILES+=usr/lib/clang/18/include/vaesintrin.h
+OLD_FILES+=usr/lib/clang/18/include/varargs.h
+OLD_FILES+=usr/lib/clang/18/include/vecintrin.h
+OLD_FILES+=usr/lib/clang/18/include/velintrin.h
+OLD_FILES+=usr/lib/clang/18/include/velintrin_approx.h
+OLD_FILES+=usr/lib/clang/18/include/velintrin_gen.h
+OLD_FILES+=usr/lib/clang/18/include/vpclmulqdqintrin.h
+OLD_FILES+=usr/lib/clang/18/include/waitpkgintrin.h
+OLD_FILES+=usr/lib/clang/18/include/wasm_simd128.h
+OLD_FILES+=usr/lib/clang/18/include/wbnoinvdintrin.h
+OLD_FILES+=usr/lib/clang/18/include/wmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/x86gprintrin.h
+OLD_FILES+=usr/lib/clang/18/include/x86intrin.h
+OLD_FILES+=usr/lib/clang/18/include/xmmintrin.h
+OLD_FILES+=usr/lib/clang/18/include/xopintrin.h
+OLD_FILES+=usr/lib/clang/18/include/xray/xray_interface.h
+OLD_FILES+=usr/lib/clang/18/include/xray/xray_log_interface.h
+OLD_FILES+=usr/lib/clang/18/include/xray/xray_records.h
+OLD_DIRS+=usr/lib/clang/18/include/xray
+OLD_FILES+=usr/lib/clang/18/include/xsavecintrin.h
+OLD_FILES+=usr/lib/clang/18/include/xsaveintrin.h
+OLD_FILES+=usr/lib/clang/18/include/xsaveoptintrin.h
+OLD_FILES+=usr/lib/clang/18/include/xsavesintrin.h
+OLD_FILES+=usr/lib/clang/18/include/xtestintrin.h
+OLD_DIRS+=usr/lib/clang/18/include
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-aarch64.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-arm.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-armhf.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-i386.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-powerpc64.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-powerpc64le.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-preinit-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-riscv64.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan-x86_64.so
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.asan_static-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi_diag-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi_diag-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi_diag-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi_diag-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.cfi_diag-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.dd-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_interceptors-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.fuzzer_no_main-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan_cxx-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan_cxx-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.msan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-powerpc.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.profile-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.safestack-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.safestack-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.safestack-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.stats_client-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan_cxx-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan_cxx-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.tsan_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_minimal-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-i386.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-riscv64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.ubsan_standalone_cxx-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-basic-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-basic-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-basic-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-basic-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-basic-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-fdr-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-fdr-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-fdr-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-fdr-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-fdr-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-profiling-aarch64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-profiling-arm.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-profiling-armhf.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-profiling-powerpc64le.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-profiling-x86_64.a
+OLD_FILES+=usr/lib/clang/18/lib/freebsd/libclang_rt.xray-x86_64.a
+OLD_DIRS+=usr/lib/clang/18/lib/freebsd
+OLD_DIRS+=usr/lib/clang/18/lib
+OLD_FILES+=usr/lib/clang/18/share/asan_ignorelist.txt
+OLD_FILES+=usr/lib/clang/18/share/cfi_ignorelist.txt
+OLD_FILES+=usr/lib/clang/18/share/msan_ignorelist.txt
+OLD_DIRS+=usr/lib/clang/18/share
+OLD_DIRS+=usr/lib/clang/18
OLD_DIRS+=usr/lib/clang
OLD_FILES+=usr/share/doc/llvm/clang/LICENSE.TXT
OLD_DIRS+=usr/share/doc/llvm/clang
@@ -1640,14 +1411,6 @@ OLD_FILES+=usr/share/man/man3/cuse_wait_and_process.3.gz
OLD_DIRS+=usr/include/fs/cuse
.endif
-# devd(8) not listed here on purpose
-.if ${MK_CXX} == no
-OLD_FILES+=usr/bin/CC
-OLD_FILES+=usr/bin/c++
-OLD_FILES+=usr/bin/g++
-OLD_FILES+=usr/libexec/cc1plus
-.endif
-
.if ${MK_DEBUG_FILES} == no
.if exists(${DESTDIR}/usr/lib/debug)
DEBUG_DIRS!=find ${DESTDIR}/usr/lib/debug -mindepth 1 \
@@ -1669,52 +1432,16 @@ OLD_FILES+=usr/bin/dialog
OLD_FILES+=usr/bin/dpv
OLD_FILES+=usr/lib/libdialog.a
OLD_FILES+=usr/lib/libdialog.so
-OLD_FILES+=usr/lib/libdialog.so.10
+OLD_LIBS+=usr/lib/libdialog.so.10
OLD_FILES+=usr/lib/libdialog_p.a
OLD_FILES+=usr/lib/libdpv.a
OLD_FILES+=usr/lib/libdpv.so
-OLD_FILES+=usr/lib/libdpv.so.3
+OLD_LIBS+=usr/lib/libdpv.so.3
OLD_FILES+=usr/lib/libdpv_p.a
-OLD_FILES+=usr/sbin/bsdconfig
OLD_FILES+=usr/share/man/man1/dialog.1.gz
OLD_FILES+=usr/share/man/man1/dpv.1.gz
OLD_FILES+=usr/share/man/man3/dialog.3.gz
OLD_FILES+=usr/share/man/man3/dpv.3.gz
-OLD_FILES+=usr/share/man/man8/bsdconfig.8.gz
-OLD_DIRS+=usr/share/bsdconfig
-OLD_DIRS+=usr/share/bsdconfig/media
-OLD_DIRS+=usr/share/bsdconfig/networking
-OLD_DIRS+=usr/share/bsdconfig/packages
-OLD_DIRS+=usr/share/bsdconfig/password
-OLD_DIRS+=usr/share/bsdconfig/startup
-OLD_DIRS+=usr/share/bsdconfig/timezone
-OLD_DIRS+=usr/share/bsdconfig/usermgmt
-.endif
-
-.if ${MK_EFI} == no
-OLD_FILES+=usr/sbin/efibootmgr
-OLD_FILES+=usr/sbin/efidp
-OLD_FILES+=usr/sbin/efivar
-OLD_FILES+=usr/sbin/uefisign
-OLD_FILES+=usr/share/examples/uefisign/uefikeys
-.endif
-
-.if ${MK_FTP} == no
-OLD_FILES+=etc/ftpusers
-OLD_FILES+=etc/newsyslog.conf.d/ftp.conf
-OLD_FILES+=etc/pam.d/ftp
-OLD_FILES+=etc/pam.d/ftpd
-OLD_FILES+=etc/rc.d/ftpd
-OLD_FILES+=etc/syslog.d/ftp.conf
-OLD_FILES+=usr/bin/ftp
-OLD_FILES+=usr/bin/gate-ftp
-OLD_FILES+=usr/bin/pftp
-OLD_FILES+=usr/libexec/ftpd
-OLD_FILES+=usr/share/man/man1/ftp.1.gz
-OLD_FILES+=usr/share/man/man1/gate-ftp.1.gz
-OLD_FILES+=usr/share/man/man1/pftp.1.gz
-OLD_FILES+=usr/share/man/man5/ftpchroot.5.gz
-OLD_FILES+=usr/share/man/man8/ftpd.8.gz
.endif
.if ${MK_DICT} == no
@@ -1733,7 +1460,160 @@ OLD_DIRS+=etc/dma
OLD_FILES+=usr/libexec/dma
OLD_FILES+=usr/libexec/dma-mbox-create
OLD_FILES+=usr/share/man/man8/dma.8.gz
+OLD_FILES+=usr/share/examples/dma/auth.conf
OLD_FILES+=usr/share/examples/dma/mailer.conf
+OLD_DIRS+=usr/share/examples/dma
+.endif
+
+.if ${MK_DTRACE} == no
+OLD_LIBS+=lib/libctf.so.2
+OLD_LIBS+=lib/libdtrace.so.2
+OLD_FILES+=usr/bin/ctfconvert
+OLD_FILES+=usr/bin/ctfdump
+OLD_FILES+=usr/bin/ctfmerge
+OLD_FILES+=usr/lib/dtrace/drti.o
+OLD_FILES+=usr/lib/dtrace/errno.d
+OLD_FILES+=usr/lib/dtrace/io.d
+OLD_FILES+=usr/lib/dtrace/ip.d
+OLD_FILES+=usr/lib/dtrace/ipfw.d
+OLD_FILES+=usr/lib/dtrace/mbuf.d
+OLD_FILES+=usr/lib/dtrace/psinfo.d
+.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "i386"
+OLD_FILES+=usr/lib/dtrace/regs_x86.d
+.endif
+OLD_FILES+=usr/lib/dtrace/sctp.d
+OLD_FILES+=usr/lib/dtrace/siftr.d
+OLD_FILES+=usr/lib/dtrace/signal.d
+OLD_FILES+=usr/lib/dtrace/socket.d
+OLD_FILES+=usr/lib/dtrace/tcp.d
+OLD_FILES+=usr/lib/dtrace/udp.d
+OLD_FILES+=usr/lib/dtrace/udplite.d
+OLD_FILES+=usr/lib/dtrace/unistd.d
+OLD_FILES+=usr/lib/libctf.a
+OLD_FILES+=usr/lib/libctf.so
+OLD_FILES+=usr/lib/libctf_p.a
+OLD_FILES+=usr/lib/libdtrace.a
+OLD_FILES+=usr/lib/libdtrace.so
+OLD_FILES+=usr/lib/libdtrace_p.a
+OLD_LIBS+=lib/libdtrace.so.2
+OLD_FILES+=usr/libexec/dwatch/chmod
+OLD_FILES+=usr/libexec/dwatch/errno
+OLD_FILES+=usr/libexec/dwatch/fchmodat
+OLD_FILES+=usr/libexec/dwatch/io
+OLD_FILES+=usr/libexec/dwatch/io-done
+OLD_FILES+=usr/libexec/dwatch/io-start
+OLD_FILES+=usr/libexec/dwatch/ip
+OLD_FILES+=usr/libexec/dwatch/ip-receive
+OLD_FILES+=usr/libexec/dwatch/ip-send
+OLD_FILES+=usr/libexec/dwatch/kill
+OLD_FILES+=usr/libexec/dwatch/lchmod
+OLD_FILES+=usr/libexec/dwatch/nanosleep
+OLD_FILES+=usr/libexec/dwatch/open
+OLD_FILES+=usr/libexec/dwatch/openat
+OLD_FILES+=usr/libexec/dwatch/proc
+OLD_FILES+=usr/libexec/dwatch/proc-create
+OLD_FILES+=usr/libexec/dwatch/proc-exec
+OLD_FILES+=usr/libexec/dwatch/proc-exec-failure
+OLD_FILES+=usr/libexec/dwatch/proc-exec-success
+OLD_FILES+=usr/libexec/dwatch/proc-exit
+OLD_FILES+=usr/libexec/dwatch/proc-signal
+OLD_FILES+=usr/libexec/dwatch/proc-signal-clear
+OLD_FILES+=usr/libexec/dwatch/proc-signal-discard
+OLD_FILES+=usr/libexec/dwatch/proc-signal-send
+OLD_FILES+=usr/libexec/dwatch/proc-status
+OLD_FILES+=usr/libexec/dwatch/read
+OLD_FILES+=usr/libexec/dwatch/recv
+OLD_FILES+=usr/libexec/dwatch/recvfrom
+OLD_FILES+=usr/libexec/dwatch/recvmsg
+OLD_FILES+=usr/libexec/dwatch/rw
+OLD_FILES+=usr/libexec/dwatch/sched
+OLD_FILES+=usr/libexec/dwatch/sched-change-pri
+OLD_FILES+=usr/libexec/dwatch/sched-cpu
+OLD_FILES+=usr/libexec/dwatch/sched-dequeue
+OLD_FILES+=usr/libexec/dwatch/sched-enqueue
+OLD_FILES+=usr/libexec/dwatch/sched-exec
+OLD_FILES+=usr/libexec/dwatch/sched-lend-pri
+OLD_FILES+=usr/libexec/dwatch/sched-load-change
+OLD_FILES+=usr/libexec/dwatch/sched-off-cpu
+OLD_FILES+=usr/libexec/dwatch/sched-on-cpu
+OLD_FILES+=usr/libexec/dwatch/sched-preempt
+OLD_FILES+=usr/libexec/dwatch/sched-pri
+OLD_FILES+=usr/libexec/dwatch/sched-queue
+OLD_FILES+=usr/libexec/dwatch/sched-remain-cpu
+OLD_FILES+=usr/libexec/dwatch/sched-sleep
+OLD_FILES+=usr/libexec/dwatch/sched-surrender
+OLD_FILES+=usr/libexec/dwatch/sched-tick
+OLD_FILES+=usr/libexec/dwatch/sched-wakeup
+OLD_FILES+=usr/libexec/dwatch/send
+OLD_FILES+=usr/libexec/dwatch/sendmsg
+OLD_FILES+=usr/libexec/dwatch/sendrecv
+OLD_FILES+=usr/libexec/dwatch/sendto
+OLD_FILES+=usr/libexec/dwatch/systop
+OLD_FILES+=usr/libexec/dwatch/tcp
+OLD_FILES+=usr/libexec/dwatch/tcp-accept
+OLD_FILES+=usr/libexec/dwatch/tcp-accept-established
+OLD_FILES+=usr/libexec/dwatch/tcp-accept-refused
+OLD_FILES+=usr/libexec/dwatch/tcp-connect
+OLD_FILES+=usr/libexec/dwatch/tcp-connect-established
+OLD_FILES+=usr/libexec/dwatch/tcp-connect-refused
+OLD_FILES+=usr/libexec/dwatch/tcp-connect-request
+OLD_FILES+=usr/libexec/dwatch/tcp-established
+OLD_FILES+=usr/libexec/dwatch/tcp-init
+OLD_FILES+=usr/libexec/dwatch/tcp-io
+OLD_FILES+=usr/libexec/dwatch/tcp-receive
+OLD_FILES+=usr/libexec/dwatch/tcp-refused
+OLD_FILES+=usr/libexec/dwatch/tcp-send
+OLD_FILES+=usr/libexec/dwatch/tcp-state-change
+OLD_FILES+=usr/libexec/dwatch/tcp-status
+OLD_FILES+=usr/libexec/dwatch/udp
+OLD_FILES+=usr/libexec/dwatch/udp-receive
+OLD_FILES+=usr/libexec/dwatch/udp-send
+OLD_FILES+=usr/libexec/dwatch/udplite
+OLD_FILES+=usr/libexec/dwatch/udplite-receive
+OLD_FILES+=usr/libexec/dwatch/udplite-send
+OLD_FILES+=usr/libexec/dwatch/vop_create
+OLD_FILES+=usr/libexec/dwatch/vop_lookup
+OLD_FILES+=usr/libexec/dwatch/vop_mkdir
+OLD_FILES+=usr/libexec/dwatch/vop_mknod
+OLD_FILES+=usr/libexec/dwatch/vop_readdir
+OLD_FILES+=usr/libexec/dwatch/vop_remove
+OLD_FILES+=usr/libexec/dwatch/vop_rename
+OLD_FILES+=usr/libexec/dwatch/vop_rmdir
+OLD_FILES+=usr/libexec/dwatch/vop_symlink
+OLD_FILES+=usr/libexec/dwatch/write
+OLD_FILES+=usr/sbin/dtrace
+OLD_FILES+=usr/sbin/dwatch
+OLD_FILES+=usr/sbin/lockstat
+OLD_FILES+=usr/sbin/plockstat
+OLD_FILES+=usr/share/man/man1/dtrace.1.gz
+OLD_FILES+=usr/share/man/man1/dtruss.1.gz
+OLD_FILES+=usr/share/man/man1/lockstat.1.gz
+OLD_FILES+=usr/share/man/man1/plockstat.1.gz
+OLD_FILES+=usr/share/dtrace/blocking
+OLD_FILES+=usr/share/dtrace/disklatency
+OLD_FILES+=usr/share/dtrace/disklatencycmd
+OLD_FILES+=usr/share/dtrace/hotopen
+OLD_FILES+=usr/share/dtrace/nfsattrstats
+OLD_FILES+=usr/share/dtrace/nfsclienttime
+OLD_FILES+=usr/share/dtrace/siftr
+OLD_FILES+=usr/share/dtrace/toolkit/execsnoop
+OLD_FILES+=usr/share/dtrace/toolkit/hotkernel
+OLD_FILES+=usr/share/dtrace/toolkit/hotuser
+OLD_FILES+=usr/share/dtrace/toolkit/opensnoop
+OLD_FILES+=usr/share/dtrace/toolkit/procsystime
+OLD_FILES+=usr/share/dtrace/tcpconn
+OLD_FILES+=usr/share/dtrace/tcpdebug
+OLD_FILES+=usr/share/dtrace/tcpstate
+OLD_FILES+=usr/share/dtrace/tcptrack
+OLD_FILES+=usr/share/dtrace/udptrack
+OLD_FILES+=usr/share/man/man1/dtrace.1.gz
+OLD_DIRS+=usr/lib/dtrace
+. for libcompat in ${_ALL_libcompats}
+OLD_DIRS+=usr/lib${libcompat}/dtrace
+. endfor
+OLD_DIRS+=usr/libexec/dwatch
+OLD_DIRS+=usr/share/dtrace/toolkit
+OLD_DIRS+=usr/share/dtrace
.endif
.if ${MK_EE} == no
@@ -1753,6 +1633,14 @@ OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/ee.cat
OLD_FILES+=usr/share/nls/uk_UA.KOI8-U/ee.cat
.endif
+.if ${MK_EFI} == no
+OLD_FILES+=usr/sbin/efibootmgr
+OLD_FILES+=usr/sbin/efidp
+OLD_FILES+=usr/sbin/efivar
+OLD_FILES+=usr/sbin/uefisign
+OLD_FILES+=usr/share/examples/uefisign/uefikeys
+.endif
+
.if ${MK_EXAMPLES} == no
OLD_FILES+=usr/share/examples/BSD_daemon/FreeBSD.pfa
OLD_FILES+=usr/share/examples/BSD_daemon/README
@@ -1792,12 +1680,12 @@ OLD_FILES+=usr/share/examples/etc/login.access
OLD_FILES+=usr/share/examples/etc/make.conf
OLD_FILES+=usr/share/examples/etc/rc.bsdextended
OLD_FILES+=usr/share/examples/etc/rc.firewall
-OLD_FILES+=usr/share/examples/etc/rc.sendmail
OLD_FILES+=usr/share/examples/etc/termcap.small
OLD_FILES+=usr/share/examples/etc/wpa_supplicant.conf
OLD_FILES+=usr/share/examples/find_interface/Makefile
OLD_FILES+=usr/share/examples/find_interface/README
OLD_FILES+=usr/share/examples/find_interface/find_interface.c
+OLD_FILES+=usr/share/examples/flua/libjail.lua
OLD_FILES+=usr/share/examples/hast/ucarp.sh
OLD_FILES+=usr/share/examples/hast/ucarp_down.sh
OLD_FILES+=usr/share/examples/hast/ucarp_up.sh
@@ -1877,6 +1765,8 @@ OLD_FILES+=usr/share/examples/kld/syscall/module/Makefile
OLD_FILES+=usr/share/examples/kld/syscall/module/syscall.c
OLD_FILES+=usr/share/examples/kld/syscall/test/Makefile
OLD_FILES+=usr/share/examples/kld/syscall/test/call.c
+OLD_FILES+=usr/share/examples/kyua/Kyuafile.top
+OLD_FILES+=usr/share/examples/kyua/kyua.conf
OLD_FILES+=usr/share/examples/libusb20/Makefile
OLD_FILES+=usr/share/examples/libusb20/README
OLD_FILES+=usr/share/examples/libusb20/bulk.c
@@ -1948,6 +1838,7 @@ OLD_FILES+=usr/share/examples/scsi_target/scsi_cmds.c
OLD_FILES+=usr/share/examples/scsi_target/scsi_target.8
OLD_FILES+=usr/share/examples/scsi_target/scsi_target.c
OLD_FILES+=usr/share/examples/scsi_target/scsi_target.h
+OLD_FILES+=usr/share/examples/sendmail/mailer.conf
OLD_FILES+=usr/share/examples/ses/Makefile
OLD_FILES+=usr/share/examples/ses/Makefile.inc
OLD_FILES+=usr/share/examples/ses/getencstat/Makefile
@@ -1974,6 +1865,11 @@ OLD_FILES+=usr/share/examples/smbfs/print/lj6l
OLD_FILES+=usr/share/examples/smbfs/print/ljspool
OLD_FILES+=usr/share/examples/smbfs/print/printcap.sample
OLD_FILES+=usr/share/examples/smbfs/print/tolj
+OLD_FILES+=usr/share/examples/sound/basic.c
+OLD_FILES+=usr/share/examples/sound/ossmidi.h
+OLD_FILES+=usr/share/examples/sound/ossinit.h
+OLD_FILES+=usr/share/examples/sound/README
+OLD_FILES+=usr/share/examples/sound/midi.c
OLD_FILES+=usr/share/examples/sunrpc/Makefile
OLD_FILES+=usr/share/examples/sunrpc/dir/Makefile
OLD_FILES+=usr/share/examples/sunrpc/dir/dir.x
@@ -2007,6 +1903,7 @@ OLD_DIRS+=usr/share/examples/dwatch
OLD_DIRS+=usr/share/examples/etc
OLD_DIRS+=usr/share/examples/etc/defaults
OLD_DIRS+=usr/share/examples/find_interface
+OLD_DIRS+=usr/share/examples/flua
OLD_DIRS+=usr/share/examples/hast
OLD_DIRS+=usr/share/examples/ibcs2
OLD_DIRS+=usr/share/examples/hostapd
@@ -2026,6 +1923,7 @@ OLD_DIRS+=usr/share/examples/kld/khelp
OLD_DIRS+=usr/share/examples/kld/syscall
OLD_DIRS+=usr/share/examples/kld/syscall/module
OLD_DIRS+=usr/share/examples/kld/syscall/test
+OLD_DIRS+=usr/share/examples/kyua
OLD_DIRS+=usr/share/examples/libusb20
OLD_DIRS+=usr/share/examples/libvgl
OLD_DIRS+=usr/share/examples/mdoc
@@ -2036,6 +1934,7 @@ OLD_DIRS+=usr/share/examples/ppi
OLD_DIRS+=usr/share/examples/ppp
OLD_DIRS+=usr/share/examples/printing
OLD_DIRS+=usr/share/examples/scsi_target
+OLD_DIRS+=usr/share/examples/sendmail
OLD_DIRS+=usr/share/examples/ses
OLD_DIRS+=usr/share/examples/ses/getencstat
OLD_DIRS+=usr/share/examples/ses/sesd
@@ -2044,6 +1943,7 @@ OLD_DIRS+=usr/share/examples/ses/setobjstat
OLD_DIRS+=usr/share/examples/ses/srcs
OLD_DIRS+=usr/share/examples/smbfs
OLD_DIRS+=usr/share/examples/smbfs/print
+OLD_DIRS+=usr/share/examples/sound
OLD_DIRS+=usr/share/examples/sunrpc
OLD_DIRS+=usr/share/examples/sunrpc/dir
OLD_DIRS+=usr/share/examples/sunrpc/msg
@@ -2053,6 +1953,11 @@ OLD_DIRS+=usr/share/examples/uefisign
OLD_DIRS+=usr/share/examples/ypldap
.endif
+.if ${MK_FDT} == no
+OLD_FILES+=usr/sbin/ofwdump
+OLD_FILES+=usr/share/man/man8/ofwdump.8.gz
+.endif
+
.if ${MK_FINGER} == no
OLD_FILES+=usr/bin/finger
OLD_FILES+=usr/share/man/man1/finger.1.gz
@@ -2092,11 +1997,29 @@ OLD_FILES+=usr/share/man/man5/freebsd-update.conf.5.gz
OLD_FILES+=usr/share/man/man8/freebsd-update.8.gz
.endif
-.if ${MK_FREEBSD_UPDATE} == no && ${MK_PORTSNAP} == no
+.if ${MK_FREEBSD_UPDATE} == no
OLD_FILES+=usr/libexec/phttpget
OLD_FILES+=usr/share/man/man8/phttpget.8.gz
.endif
+.if ${MK_FTP} == no
+OLD_FILES+=etc/ftpusers
+OLD_FILES+=etc/newsyslog.conf.d/ftp.conf
+OLD_FILES+=etc/pam.d/ftp
+OLD_FILES+=etc/pam.d/ftpd
+OLD_FILES+=etc/rc.d/ftpd
+OLD_FILES+=etc/syslog.d/ftp.conf
+OLD_FILES+=usr/bin/ftp
+OLD_FILES+=usr/bin/gate-ftp
+OLD_FILES+=usr/bin/pftp
+OLD_FILES+=usr/libexec/ftpd
+OLD_FILES+=usr/share/man/man1/ftp.1.gz
+OLD_FILES+=usr/share/man/man1/gate-ftp.1.gz
+OLD_FILES+=usr/share/man/man1/pftp.1.gz
+OLD_FILES+=usr/share/man/man5/ftpchroot.5.gz
+OLD_FILES+=usr/share/man/man8/ftpd.8.gz
+.endif
+
.if ${MK_GAMES} == no
OLD_FILES+=usr/bin/caesar
OLD_FILES+=usr/bin/factor
@@ -2142,18 +2065,6 @@ OLD_FILES+=usr/share/man/man8/strfile.8.gz
OLD_FILES+=usr/share/man/man8/unstr.8.gz
.endif
-.if ${MK_LLVM_COV} == no && !defined(WITH_PORT_BASE_GCC)
-OLD_FILES+=usr/bin/gcov
-OLD_FILES+=usr/share/man/man1/gcov.1.gz
-.endif
-
-.if ${MK_LLVM_COV} == no
-OLD_FILES+=usr/bin/llvm-cov
-OLD_FILES+=usr/bin/llvm-profdata
-OLD_FILES+=usr/share/man/man1/llvm-cov.1.gz
-OLD_FILES+=usr/share/man/man1/llvm-profdata.1.gz
-.endif
-
.if ${MK_GH_BC} == no
OLD_FILES+=usr/share/misc/bc.library
OLD_FILES+=usr/tests/usr.bin/dc/Kyuafile
@@ -2162,104 +2073,97 @@ OLD_FILES+=usr/tests/usr.bin/dc/inout
OLD_DIRS+=usr/tests/usr.bin/dc
.endif
+.if ${MK_GNU_DIFF} == no
+OLD_FILES+=usr/bin/diff3
+OLD_FILES+=usr/share/man/man1/diff3.1.gz
+.endif
+
.if ${MK_GOOGLETEST} == no
-OLD_FILES+=usr/include/gmock/gmock-actions.h
-OLD_FILES+=usr/include/gmock/gmock-cardinalities.h
-OLD_FILES+=usr/include/gmock/gmock-generated-actions.h
-OLD_FILES+=usr/include/gmock/gmock-generated-function-mockers.h
-OLD_FILES+=usr/include/gmock/gmock-generated-matchers.h
-OLD_FILES+=usr/include/gmock/gmock-generated-nice-strict.h
-OLD_FILES+=usr/include/gmock/gmock-matchers.h
-OLD_FILES+=usr/include/gmock/gmock-more-actions.h
-OLD_FILES+=usr/include/gmock/gmock-more-matchers.h
-OLD_FILES+=usr/include/gmock/gmock-spec-builders.h
-OLD_FILES+=usr/include/gmock/gmock.h
-OLD_FILES+=usr/include/gmock/internal/custom/gmock-generated-actions.h
-OLD_FILES+=usr/include/gmock/internal/custom/gmock-matchers.h
-OLD_FILES+=usr/include/gmock/internal/custom/gmock-port.h
-OLD_FILES+=usr/include/gmock/internal/gmock-generated-internal-utils.h
-OLD_FILES+=usr/include/gmock/internal/gmock-internal-utils.h
-OLD_FILES+=usr/include/gmock/internal/gmock-port.h
-OLD_DIRS+=usr/include/gmock
-OLD_FILES+=usr/include/gtest/gtest_pred_impl.h
-OLD_FILES+=usr/include/gtest/gtest_prod.h
-OLD_FILES+=usr/include/gtest/gtest-death-test.h
-OLD_FILES+=usr/include/gtest/gtest-message.h
-OLD_FILES+=usr/include/gtest/gtest-param-test.h
-OLD_FILES+=usr/include/gtest/gtest-printers.h
-OLD_FILES+=usr/include/gtest/gtest-spi.h
-OLD_FILES+=usr/include/gtest/gtest-test-part.h
-OLD_FILES+=usr/include/gtest/gtest-typed-test.h
-OLD_FILES+=usr/include/gtest/gtest.h
-OLD_FILES+=usr/include/gtest/internal/custom/gtest-port.h
-OLD_FILES+=usr/include/gtest/internal/custom/gtest-printers.h
-OLD_FILES+=usr/include/gtest/internal/custom/gtest.h
-OLD_FILES+=usr/include/gtest/internal/gtest-death-test-internal.h
-OLD_FILES+=usr/include/gtest/internal/gtest-filepath.h
-OLD_FILES+=usr/include/gtest/internal/gtest-internal.h
-OLD_FILES+=usr/include/gtest/internal/gtest-linked_ptr.h
-OLD_FILES+=usr/include/gtest/internal/gtest-param-util-generated.h
-OLD_FILES+=usr/include/gtest/internal/gtest-param-util.h
-OLD_FILES+=usr/include/gtest/internal/gtest-port-arch.h
-OLD_FILES+=usr/include/gtest/internal/gtest-port.h
-OLD_FILES+=usr/include/gtest/internal/gtest-string.h
-OLD_FILES+=usr/include/gtest/internal/gtest-tuple.h
-OLD_FILES+=usr/include/gtest/internal/gtest-type-util.h
-OLD_DIRS+=usr/include/gtest
-OLD_FILES+=usr/lib/libprivategmock_main.a
-OLD_FILES+=usr/lib/libprivategmock_main.so
-OLD_LIBS+=usr/lib/libprivategmock_main.so.0
-OLD_FILES+=usr/lib/libprivategmock_main_p.a
+OLD_FILES+=usr/include/private/gmock/gmock-actions.h
+OLD_FILES+=usr/include/private/gmock/gmock-cardinalities.h
+OLD_FILES+=usr/include/private/gmock/gmock-function-mocker.h
+OLD_FILES+=usr/include/private/gmock/gmock-matchers.h
+OLD_FILES+=usr/include/private/gmock/gmock-more-actions.h
+OLD_FILES+=usr/include/private/gmock/gmock-more-matchers.h
+OLD_FILES+=usr/include/private/gmock/gmock-nice-strict.h
+OLD_FILES+=usr/include/private/gmock/gmock-spec-builders.h
+OLD_FILES+=usr/include/private/gmock/gmock.h
+OLD_FILES+=usr/include/private/gmock/internal/custom/gmock-generated-actions.h
+OLD_FILES+=usr/include/private/gmock/internal/custom/gmock-matchers.h
+OLD_FILES+=usr/include/private/gmock/internal/custom/gmock-port.h
+OLD_FILES+=usr/include/private/gmock/internal/gmock-internal-utils.h
+OLD_FILES+=usr/include/private/gmock/internal/gmock-port.h
+OLD_FILES+=usr/include/private/gmock/internal/gmock-pp.h
+OLD_FILES+=usr/include/private/gtest/gtest-assertion-result.h
+OLD_FILES+=usr/include/private/gtest/gtest-death-test.h
+OLD_FILES+=usr/include/private/gtest/gtest-matchers.h
+OLD_FILES+=usr/include/private/gtest/gtest-message.h
+OLD_FILES+=usr/include/private/gtest/gtest-param-test.h
+OLD_FILES+=usr/include/private/gtest/gtest-printers.h
+OLD_FILES+=usr/include/private/gtest/gtest-spi.h
+OLD_FILES+=usr/include/private/gtest/gtest-test-part.h
+OLD_FILES+=usr/include/private/gtest/gtest-typed-test.h
+OLD_FILES+=usr/include/private/gtest/gtest.h
+OLD_FILES+=usr/include/private/gtest/gtest_pred_impl.h
+OLD_FILES+=usr/include/private/gtest/gtest_prod.h
+OLD_FILES+=usr/include/private/gtest/internal/custom/gtest-port.h
+OLD_FILES+=usr/include/private/gtest/internal/custom/gtest-printers.h
+OLD_FILES+=usr/include/private/gtest/internal/custom/gtest.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-death-test-internal.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-filepath.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-internal.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-param-util.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-port-arch.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-port.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-string.h
+OLD_FILES+=usr/include/private/gtest/internal/gtest-type-util.h
OLD_FILES+=usr/lib/libprivategmock.a
-OLD_FILES+=usr/lib/libprivategmock.so
-OLD_LIBS+=usr/lib/libprivategmock.so.0
OLD_FILES+=usr/lib/libprivategmock_p.a
-OLD_FILES+=usr/lib/libprivategtest_main.a
-OLD_FILES+=usr/lib/libprivategtest_main.so
-OLD_LIBS+=usr/lib/libprivategtest_main.so.0
-OLD_FILES+=usr/lib/libprivategtest_main_p.a
+OLD_LIBS+=usr/lib/libprivategmock.so
+OLD_LIBS+=usr/lib/libprivategmock.so.0
+OLD_FILES+=usr/lib/libprivategmock_main.a
+OLD_FILES+=usr/lib/libprivategmock_main_p.a
+OLD_LIBS+=usr/lib/libprivategmock_main.so
+OLD_LIBS+=usr/lib/libprivategmock_main.so.0
OLD_FILES+=usr/lib/libprivategtest.a
-OLD_FILES+=usr/lib/libprivategtest.so
-OLD_LIBS+=usr/lib/libprivategtest.so.0
OLD_FILES+=usr/lib/libprivategtest_p.a
-OLD_FILES+=usr/tests/lib/googletest/gmock/gmock_stress_test
+OLD_LIBS+=usr/lib/libprivategtest.so
+OLD_LIBS+=usr/lib/libprivategtest.so.0
+OLD_FILES+=usr/lib/libprivategtest_main.a
+OLD_FILES+=usr/lib/libprivategtest_main_p.a
+OLD_LIBS+=usr/lib/libprivategtest_main.so
+OLD_LIBS+=usr/lib/libprivategtest_main.so.0
+OLD_FILES+=usr/tests/lib/googletest/Kyuafile
OLD_FILES+=usr/tests/lib/googletest/gmock/Kyuafile
-OLD_DIRS+=usr/tests/lib/googletest/gmock
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock_ex_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock_link_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock_test
+OLD_FILES+=usr/tests/lib/googletest/gmock/gmock_stress_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/Kyuafile
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-actions_test
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-cardinalities_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-ex_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-generated-actions_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-generated-function-mockers_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-generated-internal-utils_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-generated-matchers_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-function-mocker_test
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-internal-utils_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-matchers_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-matchers-arithmetic_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-matchers-comparisons_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-matchers-containers_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-matchers-misc_test
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-more-actions_test
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-nice-strict_test
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-port_test
OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock-spec-builders_test
-OLD_FILES+=usr/tests/lib/googletest/gmock_main/Kyuafile
-OLD_DIRS+=usr/tests/lib/googletest/gmock_main
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock_ex_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock_link_test
+OLD_FILES+=usr/tests/lib/googletest/gmock_main/gmock_test
+OLD_FILES+=usr/tests/lib/googletest/gtest/Kyuafile
OLD_FILES+=usr/tests/lib/googletest/gtest/googletest-param-test-test
-OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_all_test
+OLD_FILES+=usr/tests/lib/googletest/gtest/gtest-unittest-api_test
OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_environment_test
OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_no_test_unittest
OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_premature_exit_test
OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_repeat_test
OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_stress_test
OLD_FILES+=usr/tests/lib/googletest/gtest/gtest_throw_on_failure_ex_test
-OLD_FILES+=usr/tests/lib/googletest/gtest/gtest-death-test_ex_catch_test
-OLD_FILES+=usr/tests/lib/googletest/gtest/gtest-death-test_ex_nocatch_test
-OLD_FILES+=usr/tests/lib/googletest/gtest/gtest-unittest-api_test
-OLD_FILES+=usr/tests/lib/googletest/gtest/Kyuafile
-OLD_DIRS+=usr/tests/lib/googletest/gtest
OLD_FILES+=usr/tests/lib/googletest/gtest_main/Kyuafile
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-death-test-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-filepath-test
-OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-linked-ptr-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-listener-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-message-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-options-test
@@ -2267,7 +2171,6 @@ OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-port-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-printers-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/googletest-test-part-test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest-typed-test_test
-OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_help_test_
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_main_unittest
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_pred_impl_unittest
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_prod_test
@@ -2275,14 +2178,9 @@ OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_skip_in_environment_setup_t
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_skip_test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_sole_header_test
OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_unittest
-OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_xml_outfile1_test_
-OLD_FILES+=usr/tests/lib/googletest/gtest_main/gtest_xml_outfile2_test_
-OLD_DIRS+=usr/tests/lib/googletest/gtest_main
-OLD_FILES+=usr/tests/lib/googletest/Kyuafile
-OLD_DIRS+=usr/tests/lib/googletest/
OLD_FILES+=usr/tests/share/examples/tests/googletest/Kyuafile
-OLD_FILES+=usr/tests/share/examples/tests/googletest/sample1_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample10_unittest
+OLD_FILES+=usr/tests/share/examples/tests/googletest/sample1_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample2_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample3_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample4_unittest
@@ -2290,6 +2188,17 @@ OLD_FILES+=usr/tests/share/examples/tests/googletest/sample5_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample6_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample7_unittest
OLD_FILES+=usr/tests/share/examples/tests/googletest/sample8_unittest
+OLD_DIRS+=usr/include/private/gmock/
+OLD_DIRS+=usr/include/private/gmock/internal
+OLD_DIRS+=usr/include/private/gmock/internal/custom
+OLD_DIRS+=usr/include/private/gtest/
+OLD_DIRS+=usr/include/private/gtest/internal
+OLD_DIRS+=usr/include/private/gtest/internal/custom
+OLD_DIRS+=usr/tests/lib/googletest
+OLD_DIRS+=usr/tests/lib/googletest/gmock
+OLD_DIRS+=usr/tests/lib/googletest/gmock_main
+OLD_DIRS+=usr/tests/lib/googletest/gtest
+OLD_DIRS+=usr/tests/lib/googletest/gtest_main
OLD_DIRS+=usr/tests/share/examples/tests/googletest
.endif
@@ -2299,10 +2208,6 @@ OLD_FILES+=usr/lib/libgpio.a
OLD_FILES+=usr/lib/libgpio.so
OLD_LIBS+=usr/lib/libgpio.so.0
OLD_FILES+=usr/lib/libgpio_p.a
-OLD_FILES+=usr/lib32/libgpio.a
-OLD_FILES+=usr/lib32/libgpio.so
-OLD_LIBS+=usr/lib32/libgpio.so.0
-OLD_FILES+=usr/lib32/libgpio_p.a
OLD_FILES+=usr/sbin/gpioctl
OLD_FILES+=usr/share/man/man3/gpio.3.gz
OLD_FILES+=usr/share/man/man3/gpio_close.3.gz
@@ -2328,11 +2233,6 @@ OLD_FILES+=usr/share/man/man3/gpio_pin_tristate.3.gz
OLD_FILES+=usr/share/man/man8/gpioctl.8.gz
.endif
-.if ${MK_GNU_DIFF} == no
-OLD_FILES+=usr/bin/diff3
-OLD_FILES+=usr/share/man/man1/diff3.1.gz
-.endif
-
.if ${MK_GSSAPI} == no
OLD_FILES+=usr/include/gssapi/gssapi.h
OLD_DIRS+=usr/include/gssapi
@@ -2344,15 +2244,6 @@ OLD_FILES+=usr/lib/libgssapi_p.a
OLD_FILES+=usr/lib/librpcsec_gss.a
OLD_FILES+=usr/lib/librpcsec_gss.so
OLD_LIBS+=usr/lib/librpcsec_gss.so.1
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libgssapi.a
-OLD_FILES+=usr/lib32/libgssapi.so
-OLD_LIBS+=usr/lib32/libgssapi.so.10
-OLD_FILES+=usr/lib32/libgssapi_p.a
-OLD_FILES+=usr/lib32/librpcsec_gss.a
-OLD_FILES+=usr/lib32/librpcsec_gss.so
-OLD_LIBS+=usr/lib32/librpcsec_gss.so.1
-.endif
OLD_FILES+=usr/sbin/gssd
OLD_FILES+=usr/share/man/man3/gss_accept_sec_context.3.gz
OLD_FILES+=usr/share/man/man3/gss_acquire_cred.3.gz
@@ -2516,12 +2407,68 @@ OLD_FILES+=usr/share/doc/ntp/release.html
OLD_FILES+=usr/share/doc/ntp/tickadj.html
.endif
+.if ${MK_HYPERV} == no
+OLD_FILES+=etc/devd/hyperv.conf
+OLD_FILES+=usr/libexec/hyperv/hv_set_ifconfig
+OLD_FILES+=usr/libexec/hyperv/hv_get_dns_info
+OLD_FILES+=usr/libexec/hyperv/hv_get_dhcp_info
+OLD_FILES+=usr/sbin/hv_kvp_daemon
+OLD_FILES+=usr/sbin/hv_vss_daemon
+OLD_FILES+=usr/share/man/man8/hv_kvp_daemon.8.gz
+.endif
+
.if ${MK_ICONV} == no
OLD_FILES+=usr/bin/iconv
OLD_FILES+=usr/bin/mkcsmapper
OLD_FILES+=usr/bin/mkesdb
OLD_FILES+=usr/include/_libiconv_compat.h
OLD_FILES+=usr/include/iconv.h
+OLD_LIBS+=usr/lib/i18n/libBIG5.so.5
+OLD_FILES+=usr/lib/i18n/libBIG5.so
+OLD_LIBS+=usr/lib/i18n/libDECHanyu.so.5
+OLD_FILES+=usr/lib/i18n/libDECHanyu.so
+OLD_LIBS+=usr/lib/i18n/libEUC.so.5
+OLD_FILES+=usr/lib/i18n/libEUC.so
+OLD_LIBS+=usr/lib/i18n/libEUCTW.so.5
+OLD_FILES+=usr/lib/i18n/libEUCTW.so
+OLD_LIBS+=usr/lib/i18n/libGBK2K.so.5
+OLD_FILES+=usr/lib/i18n/libGBK2K.so
+OLD_LIBS+=usr/lib/i18n/libHZ.so.5
+OLD_FILES+=usr/lib/i18n/libHZ.so
+OLD_LIBS+=usr/lib/i18n/libISO2022.so.5
+OLD_FILES+=usr/lib/i18n/libISO2022.so
+OLD_LIBS+=usr/lib/i18n/libJOHAB.so.5
+OLD_FILES+=usr/lib/i18n/libJOHAB.so
+OLD_LIBS+=usr/lib/i18n/libMSKanji.so.5
+OLD_FILES+=usr/lib/i18n/libMSKanji.so
+OLD_LIBS+=usr/lib/i18n/libUES.so.5
+OLD_FILES+=usr/lib/i18n/libUES.so
+OLD_LIBS+=usr/lib/i18n/libUTF1632.so.5
+OLD_FILES+=usr/lib/i18n/libUTF1632.so
+OLD_LIBS+=usr/lib/i18n/libUTF7.so.5
+OLD_FILES+=usr/lib/i18n/libUTF7.so
+OLD_LIBS+=usr/lib/i18n/libUTF8.so.5
+OLD_FILES+=usr/lib/i18n/libUTF8.so
+OLD_LIBS+=usr/lib/i18n/libVIQR.so.5
+OLD_FILES+=usr/lib/i18n/libVIQR.so
+OLD_LIBS+=usr/lib/i18n/libZW.so.5
+OLD_FILES+=usr/lib/i18n/libZW.so
+OLD_LIBS+=usr/lib/i18n/libiconv_none.so.5
+OLD_FILES+=usr/lib/i18n/libiconv_none.so
+OLD_LIBS+=usr/lib/i18n/libiconv_std.so.5
+OLD_FILES+=usr/lib/i18n/libiconv_std.so
+OLD_LIBS+=usr/lib/i18n/libmapper_646.so.5
+OLD_FILES+=usr/lib/i18n/libmapper_646.so
+OLD_LIBS+=usr/lib/i18n/libmapper_none.so.5
+OLD_FILES+=usr/lib/i18n/libmapper_none.so
+OLD_LIBS+=usr/lib/i18n/libmapper_parallel.so.5
+OLD_FILES+=usr/lib/i18n/libmapper_parallel.so
+OLD_LIBS+=usr/lib/i18n/libmapper_serial.so.5
+OLD_FILES+=usr/lib/i18n/libmapper_serial.so
+OLD_LIBS+=usr/lib/i18n/libmapper_std.so.5
+OLD_FILES+=usr/lib/i18n/libmapper_std.so
+OLD_LIBS+=usr/lib/i18n/libmapper_zone.so.5
+OLD_FILES+=usr/lib/i18n/libmapper_zone.so
OLD_FILES+=usr/share/man/man1/iconv.1.gz
OLD_FILES+=usr/share/man/man1/mkcsmapper.1.gz
OLD_FILES+=usr/share/man/man1/mkesdb.1.gz
@@ -2535,6 +2482,7 @@ OLD_FILES+=usr/share/man/man3/iconv_open.3.gz
OLD_FILES+=usr/share/man/man3/iconv_open_into.3.gz
OLD_FILES+=usr/share/man/man3/iconvctl.3.gz
OLD_FILES+=usr/share/man/man3/iconvlist.3.gz
+OLD_DIRS+=usr/lib/i18n
OLD_DIRS+=usr/share/i18n
OLD_DIRS+=usr/share/i18n/esdb
OLD_DIRS+=usr/share/i18n/esdb/ISO-2022
@@ -2922,84 +2870,6 @@ OLD_FILES+=usr/lib/libprivateheimipcs.a
OLD_FILES+=usr/lib/libprivateheimipcs.so
OLD_LIBS+=usr/lib/libprivateheimipcs.so.11
OLD_FILES+=usr/lib/libprivateheimipcs_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libasn1.a
-OLD_FILES+=usr/lib32/libasn1.so
-OLD_LIBS+=usr/lib32/libasn1.so.11
-OLD_FILES+=usr/lib32/libasn1_p.a
-OLD_FILES+=usr/lib32/libgssapi_krb5.a
-OLD_FILES+=usr/lib32/libgssapi_krb5.so
-OLD_LIBS+=usr/lib32/libgssapi_krb5.so.10
-OLD_FILES+=usr/lib32/libgssapi_krb5_p.a
-OLD_FILES+=usr/lib32/libgssapi_ntlm.a
-OLD_FILES+=usr/lib32/libgssapi_ntlm.so
-OLD_LIBS+=usr/lib32/libgssapi_ntlm.so.10
-OLD_FILES+=usr/lib32/libgssapi_ntlm_p.a
-OLD_FILES+=usr/lib32/libgssapi_spnego.a
-OLD_FILES+=usr/lib32/libgssapi_spnego.so
-OLD_LIBS+=usr/lib32/libgssapi_spnego.so.10
-OLD_FILES+=usr/lib32/libgssapi_spnego_p.a
-OLD_FILES+=usr/lib32/libhdb.a
-OLD_FILES+=usr/lib32/libhdb.so
-OLD_LIBS+=usr/lib32/libhdb.so.11
-OLD_FILES+=usr/lib32/libhdb_p.a
-OLD_FILES+=usr/lib32/libheimbase.a
-OLD_FILES+=usr/lib32/libheimbase.so
-OLD_LIBS+=usr/lib32/libheimbase.so.11
-OLD_FILES+=usr/lib32/libheimbase_p.a
-OLD_FILES+=usr/lib32/libheimntlm.a
-OLD_FILES+=usr/lib32/libheimntlm.so
-OLD_LIBS+=usr/lib32/libheimntlm.so.11
-OLD_FILES+=usr/lib32/libheimntlm_p.a
-OLD_FILES+=usr/lib32/libheimsqlite.a
-OLD_FILES+=usr/lib32/libheimsqlite.so
-OLD_LIBS+=usr/lib32/libheimsqlite.so.11
-OLD_FILES+=usr/lib32/libheimsqlite_p.a
-OLD_FILES+=usr/lib32/libhx509.a
-OLD_FILES+=usr/lib32/libhx509.so
-OLD_LIBS+=usr/lib32/libhx509.so.11
-OLD_FILES+=usr/lib32/libhx509_p.a
-OLD_FILES+=usr/lib32/libkadm5clnt.a
-OLD_FILES+=usr/lib32/libkadm5clnt.so
-OLD_LIBS+=usr/lib32/libkadm5clnt.so.11
-OLD_FILES+=usr/lib32/libkadm5clnt_p.a
-OLD_FILES+=usr/lib32/libkadm5srv.a
-OLD_FILES+=usr/lib32/libkadm5srv.so
-OLD_LIBS+=usr/lib32/libkadm5srv.so.11
-OLD_FILES+=usr/lib32/libkadm5srv_p.a
-OLD_FILES+=usr/lib32/libkafs5.a
-OLD_FILES+=usr/lib32/libkafs5.so
-OLD_LIBS+=usr/lib32/libkafs5.so.11
-OLD_FILES+=usr/lib32/libkafs5_p.a
-OLD_FILES+=usr/lib32/libkdc.a
-OLD_FILES+=usr/lib32/libkdc.so
-OLD_LIBS+=usr/lib32/libkdc.so.11
-OLD_FILES+=usr/lib32/libkdc_p.a
-OLD_FILES+=usr/lib32/libkrb5.a
-OLD_FILES+=usr/lib32/libkrb5.so
-OLD_LIBS+=usr/lib32/libkrb5.so.11
-OLD_FILES+=usr/lib32/libkrb5_p.a
-OLD_FILES+=usr/lib32/libroken.a
-OLD_FILES+=usr/lib32/libroken.so
-OLD_LIBS+=usr/lib32/libroken.so.11
-OLD_FILES+=usr/lib32/libroken_p.a
-OLD_FILES+=usr/lib32/libwind.a
-OLD_FILES+=usr/lib32/libwind.so
-OLD_LIBS+=usr/lib32/libwind.so.11
-OLD_FILES+=usr/lib32/libwind_p.a
-OLD_FILES+=usr/lib32/pam_krb5.so
-OLD_LIBS+=usr/lib32/pam_krb5.so.6
-OLD_FILES+=usr/lib32/pam_ksu.so
-OLD_LIBS+=usr/lib32/pam_ksu.so.6
-OLD_FILES+=usr/lib32/libprivateheimipcc.a
-OLD_FILES+=usr/lib32/libprivateheimipcc.so
-OLD_LIBS+=usr/lib32/libprivateheimipcc.so.11
-OLD_FILES+=usr/lib32/libprivateheimipcc_p.a
-OLD_FILES+=usr/lib32/libprivateheimipcs.a
-OLD_FILES+=usr/lib32/libprivateheimipcs.so
-OLD_LIBS+=usr/lib32/libprivateheimipcs.so.11
-OLD_FILES+=usr/lib32/libprivateheimipcs_p.a
-.endif
OLD_FILES+=usr/libexec/digest-service
OLD_FILES+=usr/libexec/hprop
OLD_FILES+=usr/libexec/hpropd
@@ -3741,10 +3611,6 @@ OLD_FILES+=usr/lib/libcom_err.a
OLD_FILES+=usr/lib/libcom_err.so
OLD_LIBS+=usr/lib/libcom_err.so.5
OLD_FILES+=usr/lib/libcom_err_p.a
-OLD_FILES+=usr/lib32/libcom_err.a
-OLD_FILES+=usr/lib32/libcom_err.so
-OLD_LIBS+=usr/lib32/libcom_err.so.5
-OLD_FILES+=usr/lib32/libcom_err_p.a
OLD_FILES+=usr/share/man/man1/compile_et.1.gz
OLD_FILES+=usr/share/man/man3/com_err.3.gz
.endif
@@ -3754,12 +3620,6 @@ OLD_FILES+=usr/lib/libprivateldns.a
OLD_FILES+=usr/lib/libprivateldns.so
OLD_LIBS+=usr/lib/libprivateldns.so.5
OLD_FILES+=usr/lib/libprivateldns_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libprivateldns.a
-OLD_FILES+=usr/lib32/libprivateldns.so
-OLD_LIBS+=usr/lib32/libprivateldns.so.5
-OLD_FILES+=usr/lib32/libprivateldns_p.a
-.endif
.endif
.if ${MK_LDNS_UTILS} == no
@@ -3786,438 +3646,36 @@ OLD_FILES+=usr/share/man/man5/keymap.5.gz
OLD_FILES+=usr/share/man/man8/moused.8.gz
.endif
-.if ${MK_LIB32} == no
-OLD_FILES+=etc/mtree/BSD.lib32.dist
-OLD_FILES+=libexec/ld-elf32.so.1
-. if exists(${DESTDIR}/usr/lib32)
-LIB32_DIRS!=find ${DESTDIR}/usr/lib32 -type d \
+.for LIBCOMPAT libcompat in ${_ALL_LIBCOMPATS_libcompats}
+. if ${MK_LIB${LIBCOMPAT}} == no
+OLD_FILES+=etc/mtree/BSD.lib${libcompat}.dist
+OLD_FILES+=libexec/ld-elf${libcompat}.so.1
+. if exists(${DESTDIR}/usr/lib${libcompat})
+LIB${LIBCOMPAT}_DIRS!=find ${DESTDIR}/usr/lib${libcompat} -type d \
| sed -e 's,^${DESTDIR}/,,'; echo
-LIB32_FILES!=find ${DESTDIR}/usr/lib32 \! -type d \
+LIB${LIBCOMPAT}_FILES!=find ${DESTDIR}/usr/lib${libcompat} \! -type d \
\! -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
-LIB32_LIBS!=find ${DESTDIR}/usr/lib32 \! -type d \
+LIB${LIBCOMPAT}_LIBS!=find ${DESTDIR}/usr/lib${libcompat} \! -type d \
-name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
-OLD_DIRS+=${LIB32_DIRS}
-OLD_FILES+=${LIB32_FILES}
-OLD_LIBS+=${LIB32_LIBS}
-. endif
-. if ${MK_DEBUG_FILES} == no
-. if exists(${DESTDIR}/usr/lib/debug/usr/lib32)
-DEBUG_LIB32_DIRS!=find ${DESTDIR}/usr/lib/debug/usr/lib32 -type d \
+OLD_DIRS+=${LIB${LIBCOMPAT}_DIRS}
+OLD_FILES+=${LIB${LIBCOMPAT}_FILES}
+OLD_LIBS+=${LIB${LIBCOMPAT}_LIBS}
+. endif
+. if ${MK_DEBUG_FILES} == no
+. if exists(${DESTDIR}/usr/lib/debug/usr/lib${libcompat})
+DEBUG_LIB${LIBCOMPAT}_DIRS!=find ${DESTDIR}/usr/lib/debug/usr/lib${libcompat} -type d \
| sed -e 's,^${DESTDIR}/,,'; echo
-DEBUG_LIB32_FILES!=find ${DESTDIR}/usr/lib/debug/usr/lib32 \! -type d \
+DEBUG_LIB${LIBCOMPAT}_FILES!=find ${DESTDIR}/usr/lib/debug/usr/lib${libcompat} \! -type d \
\! -name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
-DEBUG_LIB32_LIBS!=find ${DESTDIR}/usr/lib/debug/usr/lib32 \! -type d \
+DEBUG_LIB${LIBCOMPAT}_LIBS!=find ${DESTDIR}/usr/lib/debug/usr/lib${libcompat} \! -type d \
-name "lib*.so*" | sed -e 's,^${DESTDIR}/,,'; echo
-OLD_DIRS+=${DEBUG_LIB32_DIRS}
-OLD_FILES+=${DEBUG_LIB32_FILES}
-OLD_LIBS+=${DEBUG_LIB32_LIBS}
+OLD_DIRS+=${DEBUG_LIB${LIBCOMPAT}_DIRS}
+OLD_FILES+=${DEBUG_LIB${LIBCOMPAT}_FILES}
+OLD_LIBS+=${DEBUG_LIB${LIBCOMPAT}_LIBS}
+. endif
. endif
-. endif
-.endif
-
-.if ${MK_CXX} == no
-OLD_LIBS+=lib/libcxxrt.so.1
-OLD_FILES+=usr/lib/libc++.a
-OLD_FILES+=usr/lib/libc++_p.a
-OLD_FILES+=usr/lib/libc++experimental.a
-OLD_FILES+=usr/lib/libc++.so
-OLD_LIBS+=usr/lib/libc++.so.1
-OLD_FILES+=usr/lib/libcxxrt.a
-OLD_FILES+=usr/lib/libcxxrt.so
-OLD_FILES+=usr/lib/libcxxrt_p.a
-OLD_FILES+=usr/include/c++/v1/__algorithm/adjacent_find.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/all_of.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/any_of.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/binary_search.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/clamp.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/comp.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/comp_ref_type.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/copy_backward.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/copy_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/copy_n.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/count.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/count_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/equal.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/equal_range.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/fill.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/fill_n.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/find.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/find_end.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/find_first_of.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/find_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/find_if_not.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/for_each.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/for_each_n.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/generate.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/generate_n.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/half_positive.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/includes.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/inplace_merge.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/is_heap.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/is_heap_until.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/is_partitioned.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/is_permutation.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/is_sorted.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/is_sorted_until.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/iter_swap.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/lexicographical_compare.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/lower_bound.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/make_heap.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/max.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/max_element.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/merge.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/min.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/min_element.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/minmax.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/minmax_element.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/mismatch.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/move.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/move_backward.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/next_permutation.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/none_of.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/nth_element.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/partial_sort.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/partial_sort_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/partition.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/partition_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/partition_point.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/pop_heap.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/prev_permutation.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/push_heap.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/remove.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/remove_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/remove_copy_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/remove_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/replace.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/replace_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/replace_copy_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/replace_if.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/reverse.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/reverse_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/rotate.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/rotate_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/sample.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/search.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/search_n.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/set_difference.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/set_intersection.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/set_symmetric_difference.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/set_union.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/shift_left.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/shift_right.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/shuffle.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/sift_down.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/sort.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/sort_heap.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/stable_partition.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/stable_sort.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/swap_ranges.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/transform.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/unique.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/unique_copy.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/unwrap_iter.h
-OLD_FILES+=usr/include/c++/v1/__algorithm/upper_bound.h
-OLD_DIRS+=usr/include/c++/v1/__algorithm
-OLD_FILES+=usr/include/c++/v1/__availability
-OLD_FILES+=usr/include/c++/v1/__bit_reference
-OLD_FILES+=usr/include/c++/v1/__bits
-OLD_FILES+=usr/include/c++/v1/__bsd_locale_defaults.h
-OLD_FILES+=usr/include/c++/v1/__bsd_locale_fallbacks.h
-OLD_FILES+=usr/include/c++/v1/__config
-OLD_FILES+=usr/include/c++/v1/__config_site
-OLD_FILES+=usr/include/c++/v1/__debug
-OLD_FILES+=usr/include/c++/v1/__errc
-OLD_FILES+=usr/include/c++/v1/__format/format_error.h
-OLD_FILES+=usr/include/c++/v1/__format/format_parse_context.h
-OLD_DIRS+=usr/include/c++/v1/__format
-OLD_FILES+=usr/include/c++/v1/__function_like.h
-OLD_FILES+=usr/include/c++/v1/__functional/binary_function.h
-OLD_FILES+=usr/include/c++/v1/__functional/binary_negate.h
-OLD_FILES+=usr/include/c++/v1/__functional/bind.h
-OLD_FILES+=usr/include/c++/v1/__functional/bind_front.h
-OLD_FILES+=usr/include/c++/v1/__functional/binder1st.h
-OLD_FILES+=usr/include/c++/v1/__functional/binder2nd.h
-OLD_FILES+=usr/include/c++/v1/__functional/default_searcher.h
-OLD_FILES+=usr/include/c++/v1/__functional/function.h
-OLD_FILES+=usr/include/c++/v1/__functional/hash.h
-OLD_FILES+=usr/include/c++/v1/__functional/identity.h
-OLD_FILES+=usr/include/c++/v1/__functional/invoke.h
-OLD_FILES+=usr/include/c++/v1/__functional/is_transparent.h
-OLD_FILES+=usr/include/c++/v1/__functional/mem_fn.h
-OLD_FILES+=usr/include/c++/v1/__functional/mem_fun_ref.h
-OLD_FILES+=usr/include/c++/v1/__functional/not_fn.h
-OLD_FILES+=usr/include/c++/v1/__functional/operations.h
-OLD_FILES+=usr/include/c++/v1/__functional/perfect_forward.h
-OLD_FILES+=usr/include/c++/v1/__functional/pointer_to_binary_function.h
-OLD_FILES+=usr/include/c++/v1/__functional/pointer_to_unary_function.h
-OLD_FILES+=usr/include/c++/v1/__functional/ranges_operations.h
-OLD_FILES+=usr/include/c++/v1/__functional/reference_wrapper.h
-OLD_FILES+=usr/include/c++/v1/__functional/unary_function.h
-OLD_FILES+=usr/include/c++/v1/__functional/unary_negate.h
-OLD_FILES+=usr/include/c++/v1/__functional/unwrap_ref.h
-OLD_FILES+=usr/include/c++/v1/__functional/weak_result_type.h
-OLD_DIRS+=usr/include/c++/v1/__functional
-OLD_FILES+=usr/include/c++/v1/__functional_base
-OLD_FILES+=usr/include/c++/v1/__hash_table
-OLD_FILES+=usr/include/c++/v1/__iterator/access.h
-OLD_FILES+=usr/include/c++/v1/__iterator/advance.h
-OLD_FILES+=usr/include/c++/v1/__iterator/back_insert_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/common_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/concepts.h
-OLD_FILES+=usr/include/c++/v1/__iterator/counted_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/data.h
-OLD_FILES+=usr/include/c++/v1/__iterator/default_sentinel.h
-OLD_FILES+=usr/include/c++/v1/__iterator/distance.h
-OLD_FILES+=usr/include/c++/v1/__iterator/empty.h
-OLD_FILES+=usr/include/c++/v1/__iterator/erase_if_container.h
-OLD_FILES+=usr/include/c++/v1/__iterator/front_insert_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/incrementable_traits.h
-OLD_FILES+=usr/include/c++/v1/__iterator/insert_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/istream_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/istreambuf_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/iter_move.h
-OLD_FILES+=usr/include/c++/v1/__iterator/iter_swap.h
-OLD_FILES+=usr/include/c++/v1/__iterator/iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/iterator_traits.h
-OLD_FILES+=usr/include/c++/v1/__iterator/move_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/next.h
-OLD_FILES+=usr/include/c++/v1/__iterator/ostream_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/ostreambuf_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/prev.h
-OLD_FILES+=usr/include/c++/v1/__iterator/projected.h
-OLD_FILES+=usr/include/c++/v1/__iterator/readable_traits.h
-OLD_FILES+=usr/include/c++/v1/__iterator/reverse_access.h
-OLD_FILES+=usr/include/c++/v1/__iterator/reverse_iterator.h
-OLD_FILES+=usr/include/c++/v1/__iterator/size.h
-OLD_FILES+=usr/include/c++/v1/__iterator/wrap_iter.h
-OLD_DIRS+=usr/include/c++/v1/__iterator
-OLD_FILES+=usr/include/c++/v1/__libcpp_version
-OLD_FILES+=usr/include/c++/v1/__locale
-OLD_FILES+=usr/include/c++/v1/__memory/addressof.h
-OLD_FILES+=usr/include/c++/v1/__memory/allocation_guard.h
-OLD_FILES+=usr/include/c++/v1/__memory/allocator.h
-OLD_FILES+=usr/include/c++/v1/__memory/allocator_arg_t.h
-OLD_FILES+=usr/include/c++/v1/__memory/allocator_traits.h
-OLD_FILES+=usr/include/c++/v1/__memory/auto_ptr.h
-OLD_FILES+=usr/include/c++/v1/__memory/compressed_pair.h
-OLD_FILES+=usr/include/c++/v1/__memory/construct_at.h
-OLD_FILES+=usr/include/c++/v1/__memory/pointer_safety.h
-OLD_FILES+=usr/include/c++/v1/__memory/pointer_traits.h
-OLD_FILES+=usr/include/c++/v1/__memory/raw_storage_iterator.h
-OLD_FILES+=usr/include/c++/v1/__memory/shared_ptr.h
-OLD_FILES+=usr/include/c++/v1/__memory/temporary_buffer.h
-OLD_FILES+=usr/include/c++/v1/__memory/uninitialized_algorithms.h
-OLD_FILES+=usr/include/c++/v1/__memory/unique_ptr.h
-OLD_FILES+=usr/include/c++/v1/__memory/uses_allocator.h
-OLD_DIRS+=usr/include/c++/v1/__memory
-OLD_FILES+=usr/include/c++/v1/__mutex_base
-OLD_FILES+=usr/include/c++/v1/__node_handle
-OLD_FILES+=usr/include/c++/v1/__nullptr
-OLD_FILES+=usr/include/c++/v1/__random/uniform_int_distribution.h
-OLD_DIRS+=usr/include/c++/v1/__random
-OLD_FILES+=usr/include/c++/v1/__ranges/access.h
-OLD_FILES+=usr/include/c++/v1/__ranges/all.h
-OLD_FILES+=usr/include/c++/v1/__ranges/common_view.h
-OLD_FILES+=usr/include/c++/v1/__ranges/concepts.h
-OLD_FILES+=usr/include/c++/v1/__ranges/copyable_box.h
-OLD_FILES+=usr/include/c++/v1/__ranges/dangling.h
-OLD_FILES+=usr/include/c++/v1/__ranges/data.h
-OLD_FILES+=usr/include/c++/v1/__ranges/drop_view.h
-OLD_FILES+=usr/include/c++/v1/__ranges/empty.h
-OLD_FILES+=usr/include/c++/v1/__ranges/empty_view.h
-OLD_FILES+=usr/include/c++/v1/__ranges/enable_borrowed_range.h
-OLD_FILES+=usr/include/c++/v1/__ranges/enable_view.h
-OLD_FILES+=usr/include/c++/v1/__ranges/non_propagating_cache.h
-OLD_FILES+=usr/include/c++/v1/__ranges/ref_view.h
-OLD_FILES+=usr/include/c++/v1/__ranges/size.h
-OLD_FILES+=usr/include/c++/v1/__ranges/subrange.h
-OLD_FILES+=usr/include/c++/v1/__ranges/transform_view.h
-OLD_FILES+=usr/include/c++/v1/__ranges/view_interface.h
-OLD_DIRS+=usr/include/c++/v1/__ranges
-OLD_FILES+=usr/include/c++/v1/__split_buffer
-OLD_FILES+=usr/include/c++/v1/__std_stream
-OLD_FILES+=usr/include/c++/v1/__string
-OLD_FILES+=usr/include/c++/v1/__threading_support
-OLD_FILES+=usr/include/c++/v1/__tree
-OLD_FILES+=usr/include/c++/v1/__tuple
-OLD_FILES+=usr/include/c++/v1/__undef_macros
-OLD_FILES+=usr/include/c++/v1/__utility/__decay_copy.h
-OLD_FILES+=usr/include/c++/v1/__utility/as_const.h
-OLD_FILES+=usr/include/c++/v1/__utility/cmp.h
-OLD_FILES+=usr/include/c++/v1/__utility/declval.h
-OLD_FILES+=usr/include/c++/v1/__utility/exchange.h
-OLD_FILES+=usr/include/c++/v1/__utility/forward.h
-OLD_FILES+=usr/include/c++/v1/__utility/in_place.h
-OLD_FILES+=usr/include/c++/v1/__utility/integer_sequence.h
-OLD_FILES+=usr/include/c++/v1/__utility/move.h
-OLD_FILES+=usr/include/c++/v1/__utility/pair.h
-OLD_FILES+=usr/include/c++/v1/__utility/piecewise_construct.h
-OLD_FILES+=usr/include/c++/v1/__utility/rel_ops.h
-OLD_FILES+=usr/include/c++/v1/__utility/swap.h
-OLD_FILES+=usr/include/c++/v1/__utility/to_underlying.h
-OLD_DIRS+=usr/include/c++/v1/__utility
-OLD_FILES+=usr/include/c++/v1/__variant/monostate.h
-OLD_DIRS+=usr/include/c++/v1/__variant
-OLD_FILES+=usr/include/c++/v1/algorithm
-OLD_FILES+=usr/include/c++/v1/any
-OLD_FILES+=usr/include/c++/v1/array
-OLD_FILES+=usr/include/c++/v1/atomic
-OLD_FILES+=usr/include/c++/v1/barrier
-OLD_FILES+=usr/include/c++/v1/bit
-OLD_FILES+=usr/include/c++/v1/bitset
-OLD_FILES+=usr/include/c++/v1/cassert
-OLD_FILES+=usr/include/c++/v1/ccomplex
-OLD_FILES+=usr/include/c++/v1/cctype
-OLD_FILES+=usr/include/c++/v1/cerrno
-OLD_FILES+=usr/include/c++/v1/cfenv
-OLD_FILES+=usr/include/c++/v1/cfloat
-OLD_FILES+=usr/include/c++/v1/charconv
-OLD_FILES+=usr/include/c++/v1/chrono
-OLD_FILES+=usr/include/c++/v1/cinttypes
-OLD_FILES+=usr/include/c++/v1/ciso646
-OLD_FILES+=usr/include/c++/v1/climits
-OLD_FILES+=usr/include/c++/v1/clocale
-OLD_FILES+=usr/include/c++/v1/cmath
-OLD_FILES+=usr/include/c++/v1/codecvt
-OLD_FILES+=usr/include/c++/v1/compare
-OLD_FILES+=usr/include/c++/v1/complex
-OLD_FILES+=usr/include/c++/v1/complex.h
-OLD_FILES+=usr/include/c++/v1/concepts
-OLD_FILES+=usr/include/c++/v1/condition_variable
-OLD_FILES+=usr/include/c++/v1/csetjmp
-OLD_FILES+=usr/include/c++/v1/csignal
-OLD_FILES+=usr/include/c++/v1/cstdarg
-OLD_FILES+=usr/include/c++/v1/cstdbool
-OLD_FILES+=usr/include/c++/v1/cstddef
-OLD_FILES+=usr/include/c++/v1/cstdint
-OLD_FILES+=usr/include/c++/v1/cstdio
-OLD_FILES+=usr/include/c++/v1/cstdlib
-OLD_FILES+=usr/include/c++/v1/cstring
-OLD_FILES+=usr/include/c++/v1/ctgmath
-OLD_FILES+=usr/include/c++/v1/ctime
-OLD_FILES+=usr/include/c++/v1/ctype.h
-OLD_FILES+=usr/include/c++/v1/cwchar
-OLD_FILES+=usr/include/c++/v1/cwctype
-OLD_FILES+=usr/include/c++/v1/cxxabi.h
-OLD_FILES+=usr/include/c++/v1/deque
-OLD_FILES+=usr/include/c++/v1/errno.h
-OLD_FILES+=usr/include/c++/v1/exception
-OLD_FILES+=usr/include/c++/v1/execution
-OLD_FILES+=usr/include/c++/v1/experimental/__config
-OLD_FILES+=usr/include/c++/v1/experimental/__memory
-OLD_FILES+=usr/include/c++/v1/experimental/algorithm
-OLD_FILES+=usr/include/c++/v1/experimental/coroutine
-OLD_FILES+=usr/include/c++/v1/experimental/deque
-OLD_FILES+=usr/include/c++/v1/experimental/filesystem
-OLD_FILES+=usr/include/c++/v1/experimental/forward_list
-OLD_FILES+=usr/include/c++/v1/experimental/functional
-OLD_FILES+=usr/include/c++/v1/experimental/iterator
-OLD_FILES+=usr/include/c++/v1/experimental/list
-OLD_FILES+=usr/include/c++/v1/experimental/map
-OLD_FILES+=usr/include/c++/v1/experimental/memory_resource
-OLD_FILES+=usr/include/c++/v1/experimental/propagate_const
-OLD_FILES+=usr/include/c++/v1/experimental/regex
-OLD_FILES+=usr/include/c++/v1/experimental/set
-OLD_FILES+=usr/include/c++/v1/experimental/simd
-OLD_FILES+=usr/include/c++/v1/experimental/string
-OLD_FILES+=usr/include/c++/v1/experimental/type_traits
-OLD_FILES+=usr/include/c++/v1/experimental/unordered_map
-OLD_FILES+=usr/include/c++/v1/experimental/unordered_set
-OLD_FILES+=usr/include/c++/v1/experimental/utility
-OLD_FILES+=usr/include/c++/v1/experimental/vector
-OLD_DIRS+=usr/include/c++/v1/experimental
-OLD_FILES+=usr/include/c++/v1/ext/__hash
-OLD_FILES+=usr/include/c++/v1/ext/hash_map
-OLD_FILES+=usr/include/c++/v1/ext/hash_set
-OLD_DIRS+=usr/include/c++/v1/ext
-OLD_FILES+=usr/include/c++/v1/fenv.h
-OLD_FILES+=usr/include/c++/v1/filesystem
-OLD_FILES+=usr/include/c++/v1/float.h
-OLD_FILES+=usr/include/c++/v1/format
-OLD_FILES+=usr/include/c++/v1/forward_list
-OLD_FILES+=usr/include/c++/v1/fstream
-OLD_FILES+=usr/include/c++/v1/functional
-OLD_FILES+=usr/include/c++/v1/future
-OLD_FILES+=usr/include/c++/v1/initializer_list
-OLD_FILES+=usr/include/c++/v1/inttypes.h
-OLD_FILES+=usr/include/c++/v1/iomanip
-OLD_FILES+=usr/include/c++/v1/ios
-OLD_FILES+=usr/include/c++/v1/iosfwd
-OLD_FILES+=usr/include/c++/v1/iostream
-OLD_FILES+=usr/include/c++/v1/istream
-OLD_FILES+=usr/include/c++/v1/iterator
-OLD_FILES+=usr/include/c++/v1/latch
-OLD_FILES+=usr/include/c++/v1/limits
-OLD_FILES+=usr/include/c++/v1/limits.h
-OLD_FILES+=usr/include/c++/v1/list
-OLD_FILES+=usr/include/c++/v1/locale
-OLD_FILES+=usr/include/c++/v1/locale.h
-OLD_FILES+=usr/include/c++/v1/map
-OLD_FILES+=usr/include/c++/v1/math.h
-OLD_FILES+=usr/include/c++/v1/memory
-OLD_FILES+=usr/include/c++/v1/module.modulemap
-OLD_FILES+=usr/include/c++/v1/mutex
-OLD_FILES+=usr/include/c++/v1/new
-OLD_FILES+=usr/include/c++/v1/numbers
-OLD_FILES+=usr/include/c++/v1/numeric
-OLD_FILES+=usr/include/c++/v1/optional
-OLD_FILES+=usr/include/c++/v1/ostream
-OLD_FILES+=usr/include/c++/v1/queue
-OLD_FILES+=usr/include/c++/v1/random
-OLD_FILES+=usr/include/c++/v1/ranges
-OLD_FILES+=usr/include/c++/v1/ratio
-OLD_FILES+=usr/include/c++/v1/regex
-OLD_FILES+=usr/include/c++/v1/scoped_allocator
-OLD_FILES+=usr/include/c++/v1/semaphore
-OLD_FILES+=usr/include/c++/v1/set
-OLD_FILES+=usr/include/c++/v1/setjmp.h
-OLD_FILES+=usr/include/c++/v1/shared_mutex
-OLD_FILES+=usr/include/c++/v1/span
-OLD_FILES+=usr/include/c++/v1/sstream
-OLD_FILES+=usr/include/c++/v1/stack
-OLD_FILES+=usr/include/c++/v1/stdbool.h
-OLD_FILES+=usr/include/c++/v1/stddef.h
-OLD_FILES+=usr/include/c++/v1/stdexcept
-OLD_FILES+=usr/include/c++/v1/stdint.h
-OLD_FILES+=usr/include/c++/v1/stdio.h
-OLD_FILES+=usr/include/c++/v1/stdlib.h
-OLD_FILES+=usr/include/c++/v1/streambuf
-OLD_FILES+=usr/include/c++/v1/string
-OLD_FILES+=usr/include/c++/v1/string.h
-OLD_FILES+=usr/include/c++/v1/string_view
-OLD_FILES+=usr/include/c++/v1/strstream
-OLD_FILES+=usr/include/c++/v1/system_error
-OLD_FILES+=usr/include/c++/v1/tgmath.h
-OLD_FILES+=usr/include/c++/v1/thread
-OLD_FILES+=usr/include/c++/v1/tuple
-OLD_FILES+=usr/include/c++/v1/type_traits
-OLD_FILES+=usr/include/c++/v1/typeindex
-OLD_FILES+=usr/include/c++/v1/typeinfo
-OLD_FILES+=usr/include/c++/v1/unordered_map
-OLD_FILES+=usr/include/c++/v1/unordered_set
-OLD_FILES+=usr/include/c++/v1/unwind-arm.h
-OLD_FILES+=usr/include/c++/v1/unwind-itanium.h
-OLD_FILES+=usr/include/c++/v1/unwind.h
-OLD_FILES+=usr/include/c++/v1/utility
-OLD_FILES+=usr/include/c++/v1/valarray
-OLD_FILES+=usr/include/c++/v1/variant
-OLD_FILES+=usr/include/c++/v1/vector
-OLD_FILES+=usr/include/c++/v1/version
-OLD_FILES+=usr/include/c++/v1/wchar.h
-OLD_FILES+=usr/include/c++/v1/wctype.h
-OLD_DIRS+=usr/include/c++/v1
-OLD_FILES+=usr/lib32/libc++.a
-OLD_FILES+=usr/lib32/libc++.so
-OLD_LIBS+=usr/lib32/libc++.so.1
-OLD_FILES+=usr/lib32/libc++_p.a
-OLD_FILES+=usr/lib32/libc++experimental.a
-OLD_FILES+=usr/lib32/libc++fs.a
-OLD_FILES+=usr/lib32/libcxxrt.a
-OLD_FILES+=usr/lib32/libcxxrt.so
-OLD_LIBS+=usr/lib32/libcxxrt.so.1
-OLD_FILES+=usr/lib32/libcxxrt_p.a
.endif
+.endfor # LIBCOMPAT libcompat
.if ${MK_LLD} == no
OLD_FILES+=usr/bin/ld.lld
@@ -4230,6 +3688,15 @@ OLD_FILES+=usr/share/man/man1/lldb-server.1.gz
OLD_FILES+=usr/share/man/man1/lldb.1.gz
.endif
+.if ${MK_LLVM_COV} == no
+OLD_FILES+=usr/bin/gcov
+OLD_FILES+=usr/bin/llvm-cov
+OLD_FILES+=usr/bin/llvm-profdata
+OLD_FILES+=usr/share/man/man1/gcov.1.gz
+OLD_FILES+=usr/share/man/man1/llvm-cov.1.gz
+OLD_FILES+=usr/share/man/man1/llvm-profdata.1.gz
+.endif
+
.if ${MK_LOCALES} == no
OLD_DIRS+=usr/share/locale/af_ZA.ISO8859-15
OLD_FILES+=usr/share/locale/af_ZA.ISO8859-15/LC_COLLATE
@@ -5627,7 +5094,6 @@ OLD_FILES+=etc/mail.rc
OLD_FILES+=etc/mail/aliases
OLD_FILES+=etc/mail/mailer.conf
OLD_FILES+=etc/periodic/daily/130.clean-msgs
-OLD_FILES+=etc/rc.d/othermta
OLD_FILES+=usr/bin/Mail
OLD_FILES+=usr/bin/biff
OLD_FILES+=usr/bin/from
@@ -6061,10 +5527,6 @@ OLD_FILES+=usr/lib/libnetgraph.a
OLD_FILES+=usr/lib/libnetgraph.so
OLD_LIBS+=usr/lib/libnetgraph.so.4
OLD_FILES+=usr/lib/libnetgraph_p.a
-OLD_FILES+=usr/lib32/libnetgraph.a
-OLD_FILES+=usr/lib32/libnetgraph.so
-OLD_LIBS+=usr/lib32/libnetgraph.so.4
-OLD_FILES+=usr/lib32/libnetgraph_p.a
OLD_FILES+=usr/libexec/pppoed
OLD_FILES+=usr/sbin/flowctl
OLD_FILES+=usr/sbin/lmcconfig
@@ -6105,6 +5567,11 @@ OLD_FILES+=usr/share/snmp/defs/netgraph_tree.def
OLD_FILES+=usr/share/snmp/mibs/BEGEMOT-NETGRAPH.txt
.endif
+.if ${MK_NETLINK} == no
+OLD_FILES+=usr.bin/genl
+OLD_FILES+=usr/share/man/man1/genl.1.gz
+.endif
+
.if ${MK_NIS} == no
OLD_FILES+=etc/rc.d/ypbind
OLD_FILES+=etc/rc.d/ypldap
@@ -6125,12 +5592,6 @@ OLD_FILES+=usr/lib/libypclnt.a
OLD_FILES+=usr/lib/libypclnt.so
OLD_LIBS+=usr/lib/libypclnt.so.4
OLD_FILES+=usr/lib/libypclnt_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libypclnt.a
-OLD_FILES+=usr/lib32/libypclnt.so
-OLD_LIBS+=usr/lib32/libypclnt.so.4
-OLD_FILES+=usr/lib32/libypclnt_p.a
-.endif
OLD_FILES+=usr/libexec/mknetid
OLD_FILES+=usr/libexec/yppwupdate
OLD_FILES+=usr/libexec/ypxfr
@@ -6252,7 +5713,6 @@ OLD_DIRS+=usr/share/nls/en_US.ISO8859-15
OLD_FILES+=usr/share/nls/en_US.ISO8859-15/ee.cat
OLD_DIRS+=usr/share/nls/en_US.UTF-8
OLD_DIRS+=usr/share/nls/es_ES.UTF-8
-OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/grep.cat
OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/libc.cat
OLD_FILES+=usr/share/nls/es_ES.ISO8859-1/tcsh.cat
OLD_DIRS+=usr/share/nls/es_ES.ISO8859-1
@@ -6304,16 +5764,13 @@ OLD_FILES+=usr/share/nls/fr_FR.ISO8859-15/tcsh.cat
OLD_DIRS+=usr/share/nls/fr_FR.UTF-8
OLD_FILES+=usr/share/nls/fr_FR.UTF-8/tcsh.cat
OLD_DIRS+=usr/share/nls/gl_ES.ISO8859-1
-OLD_FILES+=usr/share/nls/gl_ES.ISO8859-1/grep.cat
OLD_FILES+=usr/share/nls/gl_ES.ISO8859-1/libc.cat
OLD_DIRS+=usr/share/nls/he_IL.UTF-8
OLD_DIRS+=usr/share/nls/hi_IN.ISCII-DEV
OLD_DIRS+=usr/share/nls/hr_HR.ISO8859-2
OLD_DIRS+=usr/share/nls/hu_HU.ISO8859-2
OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/ee.cat
-OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/grep.cat
OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/libc.cat
-OLD_FILES+=usr/share/nls/hu_HU.ISO8859-2/sort.cat
OLD_DIRS+=usr/share/nls/hr_HR.UTF-8
OLD_DIRS+=usr/share/nls/hu_HU.UTF-8
OLD_DIRS+=usr/share/nls/hy_AM.ARMSCII-8
@@ -6335,14 +5792,11 @@ OLD_FILES+=usr/share/nls/it_IT.ISO8859-15/tcsh.cat
OLD_DIRS+=usr/share/nls/it_IT.UTF-8
OLD_FILES+=usr/share/nls/it_IT.UTF-8/tcsh.cat
OLD_DIRS+=usr/share/nls/ja_JP.SJIS
-OLD_FILES+=usr/share/nls/ja_JP.SJIS/grep.cat
OLD_FILES+=usr/share/nls/ja_JP.SJIS/tcsh.cat
OLD_DIRS+=usr/share/nls/ja_JP.UTF-8
-OLD_FILES+=usr/share/nls/ja_JP.UTF-8/grep.cat
OLD_FILES+=usr/share/nls/ja_JP.UTF-8/libc.cat
OLD_FILES+=usr/share/nls/ja_JP.UTF-8/tcsh.cat
OLD_DIRS+=usr/share/nls/ja_JP.eucJP
-OLD_FILES+=usr/share/nls/ja_JP.eucJP/grep.cat
OLD_FILES+=usr/share/nls/ja_JP.eucJP/libc.cat
OLD_FILES+=usr/share/nls/ja_JP.eucJP/tcsh.cat
OLD_DIRS+=usr/share/nls/kk_KZ.PT154
@@ -6377,7 +5831,6 @@ OLD_DIRS+=usr/share/nls/pt_BR.ISO8859-1
OLD_DIRS+=usr/share/nls/pt_BR.UTF-8
OLD_DIRS+=usr/share/nls/pt_PT.ISO8859-1
OLD_FILES+=usr/share/nls/pt_BR.ISO8859-1/ee.cat
-OLD_FILES+=usr/share/nls/pt_BR.ISO8859-1/grep.cat
OLD_FILES+=usr/share/nls/pt_BR.ISO8859-1/libc.cat
OLD_FILES+=usr/share/nls/pt_PT.ISO8859-1/ee.cat
OLD_DIRS+=usr/share/nls/pt_PT.ISO8859-15
@@ -6392,7 +5845,6 @@ OLD_DIRS+=usr/share/nls/ru_RU.ISO8859-5
OLD_FILES+=usr/share/nls/ru_RU.ISO8859-5/tcsh.cat
OLD_DIRS+=usr/share/nls/ru_RU.KOI8-R
OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/ee.cat
-OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/grep.cat
OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/libc.cat
OLD_FILES+=usr/share/nls/ru_RU.KOI8-R/tcsh.cat
OLD_DIRS+=usr/share/nls/ru_RU.UTF-8
@@ -6417,7 +5869,6 @@ OLD_DIRS+=usr/share/nls/uk_UA.KOI8-U
OLD_FILES+=usr/share/nls/uk_UA.KOI8-U/ee.cat
OLD_FILES+=usr/share/nls/uk_UA.KOI8-U/tcsh.cat
OLD_DIRS+=usr/share/nls/uk_UA.UTF-8
-OLD_FILES+=usr/share/nls/uk_UA.UTF-8/grep.cat
OLD_FILES+=usr/share/nls/uk_UA.UTF-8/libc.cat
OLD_FILES+=usr/share/nls/uk_UA.UTF-8/tcsh.cat
OLD_DIRS+=usr/share/nls/zh_CN.GB18030
@@ -6426,7 +5877,6 @@ OLD_DIRS+=usr/share/nls/zh_CN.GBK
OLD_DIRS+=usr/share/nls/zh_CN.GB2312
OLD_FILES+=usr/share/nls/zh_CN.GB2312/libc.cat
OLD_DIRS+=usr/share/nls/zh_CN.UTF-8
-OLD_FILES+=usr/share/nls/zh_CN.UTF-8/grep.cat
OLD_FILES+=usr/share/nls/zh_CN.UTF-8/libc.cat
OLD_DIRS+=usr/share/nls/zh_CN.eucCN
OLD_DIRS+=usr/share/nls/zh_HK.UTF-8
@@ -6969,44 +6419,6 @@ OLD_LIBS+=usr/lib/libosmvendor.so.4
OLD_FILES+=usr/lib/librdmacm.a
OLD_FILES+=usr/lib/librdmacm.so
OLD_LIBS+=usr/lib/librdmacm.so.1
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libcxgb4.a
-OLD_FILES+=usr/lib32/libcxgb4.so
-OLD_LIBS+=usr/lib32/libcxgb4.so.1
-OLD_FILES+=usr/lib32/libibcm.a
-OLD_FILES+=usr/lib32/libibcm.so
-OLD_LIBS+=usr/lib32/libibcm.so.1
-OLD_FILES+=usr/lib32/libibmad.a
-OLD_FILES+=usr/lib32/libibmad.so
-OLD_LIBS+=usr/lib32/libibmad.so.5
-OLD_FILES+=usr/lib32/libibnetdisc.a
-OLD_FILES+=usr/lib32/libibnetdisc.so
-OLD_LIBS+=usr/lib32/libibnetdisc.so.5
-OLD_FILES+=usr/lib32/libibumad.a
-OLD_FILES+=usr/lib32/libibumad.so
-OLD_LIBS+=usr/lib32/libibumad.so.1
-OLD_FILES+=usr/lib32/libibverbs.a
-OLD_FILES+=usr/lib32/libibverbs.so
-OLD_LIBS+=usr/lib32/libibverbs.so.1
-OLD_FILES+=usr/lib32/libmlx4.a
-OLD_FILES+=usr/lib32/libmlx4.so
-OLD_LIBS+=usr/lib32/libmlx4.so.1
-OLD_FILES+=usr/lib32/libmlx5.a
-OLD_FILES+=usr/lib32/libmlx5.so
-OLD_LIBS+=usr/lib32/libmlx5.so.1
-OLD_FILES+=usr/lib32/libopensm.a
-OLD_FILES+=usr/lib32/libopensm.so
-OLD_LIBS+=usr/lib32/libopensm.so.5
-OLD_FILES+=usr/lib32/libosmcomp.a
-OLD_FILES+=usr/lib32/libosmcomp.so
-OLD_LIBS+=usr/lib32/libosmcomp.so.3
-OLD_FILES+=usr/lib32/libosmvendor.a
-OLD_FILES+=usr/lib32/libosmvendor.so
-OLD_LIBS+=usr/lib32/libosmvendor.so.4
-OLD_FILES+=usr/lib32/librdmacm.a
-OLD_FILES+=usr/lib32/librdmacm.so
-OLD_LIBS+=usr/lib32/librdmacm.so.1
-.endif
OLD_FILES+=usr/share/man/man1/ibv_asyncwatch.1.gz
OLD_FILES+=usr/share/man/man1/ibv_devices.1.gz
OLD_FILES+=usr/share/man/man1/ibv_devinfo.1.gz
@@ -7175,10 +6587,8 @@ OLD_FILES+=usr/share/man/man8/vendstat.8.gz
.if ${MK_OPENMP} == no
OLD_FILES+=usr/include/omp.h
-OLD_LIBS+=usr/lib/libgomp.so
-OLD_LIBS+=usr/lib32/libgomp.so
+OLD_FILES+=usr/lib/libgomp.so
OLD_LIBS+=usr/lib/libomp.so
-OLD_LIBS+=usr/lib32/libomp.so
.endif
.if ${MK_OPENSSH} == no
@@ -7208,14 +6618,6 @@ OLD_FILES+=usr/lib/libprivatessh.a
OLD_FILES+=usr/lib/libprivatessh.so
OLD_LIBS+=usr/lib/libprivatessh.so.5
OLD_FILES+=usr/lib/libprivatessh_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/pam_ssh.so
-OLD_LIBS+=usr/lib32/pam_ssh.so.6
-OLD_FILES+=usr/lib32/libprivatessh.a
-OLD_FILES+=usr/lib32/libprivatessh.so
-OLD_LIBS+=usr/lib32/libprivatessh.so.5
-OLD_FILES+=usr/lib32/libprivatessh_p.a
-.endif
OLD_FILES+=usr/libexec/sftp-server
OLD_FILES+=usr/libexec/ssh-keysign
OLD_FILES+=usr/libexec/ssh-pkcs11-helper
@@ -7364,15 +6766,12 @@ OLD_FILES+=usr/lib/libpmc.a
OLD_FILES+=usr/lib/libpmc.so
OLD_LIBS+=usr/lib/libpmc.so.5
OLD_FILES+=usr/lib/libpmc_p.a
-OLD_FILES+=usr/lib32/libpmc.a
-OLD_FILES+=usr/lib32/libpmc.so
-OLD_LIBS+=usr/lib32/libpmc.so.5
-OLD_FILES+=usr/lib32/libpmc_p.a
OLD_FILES+=usr/sbin/pmc
OLD_FILES+=usr/sbin/pmcannotate
OLD_FILES+=usr/sbin/pmccontrol
OLD_FILES+=usr/sbin/pmcstat
OLD_FILES+=usr/share/man/man3/pmc.3.gz
+OLD_FILES+=usr/share/man/man3/pmc.amd.3.gz
OLD_FILES+=usr/share/man/man3/pmc.atom.3.gz
OLD_FILES+=usr/share/man/man3/pmc.atomsilvermont.3.gz
OLD_FILES+=usr/share/man/man3/pmc.core.3.gz
@@ -7385,13 +6784,7 @@ OLD_FILES+=usr/share/man/man3/pmc.haswellxeon.3.gz
OLD_FILES+=usr/share/man/man3/pmc.iaf.3.gz
OLD_FILES+=usr/share/man/man3/pmc.ivybridge.3.gz
OLD_FILES+=usr/share/man/man3/pmc.ivybridgexeon.3.gz
-OLD_FILES+=usr/share/man/man3/pmc.k7.3.gz
OLD_FILES+=usr/share/man/man3/pmc.k8.3.gz
-OLD_FILES+=usr/share/man/man3/pmc.mips24k.3.gz
-OLD_FILES+=usr/share/man/man3/pmc.octeon.3.gz
-OLD_FILES+=usr/share/man/man3/pmc.p4.3.gz
-OLD_FILES+=usr/share/man/man3/pmc.p5.3.gz
-OLD_FILES+=usr/share/man/man3/pmc.p6.3.gz
OLD_FILES+=usr/share/man/man3/pmc.sandybridge.3.gz
OLD_FILES+=usr/share/man/man3/pmc.sandybridgeuc.3.gz
OLD_FILES+=usr/share/man/man3/pmc.sandybridgexeon.3.gz
@@ -7444,14 +6837,6 @@ OLD_FILES+=usr/share/man/man8/pmcstat.8.gz
OLD_FILES+=usr/share/man/man8/pmcstudy.8.gz
.endif
-.if ${MK_PORTSNAP} == no
-OLD_FILES+=etc/portsnap.conf
-OLD_FILES+=usr/libexec/make_index
-OLD_FILES+=usr/sbin/portsnap
-OLD_FILES+=usr/share/examples/etc/portsnap.conf
-OLD_FILES+=usr/share/man/man8/portsnap.8.gz
-.endif
-
.if ${MK_PPP} == no
OLD_FILES+=etc/newsyslog.conf.d/ppp.conf
OLD_FILES+=etc/ppp/ppp.conf
@@ -7465,6 +6850,7 @@ OLD_FILES+=usr/share/man/man8/pppctl.8.gz
.if ${MK_PROFILE} == no
OLD_FILES+=usr/lib/lib80211_p.a
+OLD_FILES+=usr/lib/lib9p_p.a
OLD_FILES+=usr/lib/libBlocksRuntime_p.a
OLD_FILES+=usr/lib/libalias_dummy_p.a
OLD_FILES+=usr/lib/libalias_ftp_p.a
@@ -7531,6 +6917,8 @@ OLD_FILES+=usr/lib/libheimntlm_p.a
OLD_FILES+=usr/lib/libheimsqlite_p.a
OLD_FILES+=usr/lib/libhistory_p.a
OLD_FILES+=usr/lib/libhx509_p.a
+OLD_FILES+=usr/lib/libicp_p.a
+OLD_FILES+=usr/lib/libicp_rescue_p.a
OLD_FILES+=usr/lib/libipsec_p.a
OLD_FILES+=usr/lib/libipt_p.a
OLD_FILES+=usr/lib/libjail_p.a
@@ -7556,7 +6944,8 @@ OLD_FILES+=usr/lib/libmt_p.a
OLD_FILES+=usr/lib/libncurses_p.a
OLD_FILES+=usr/lib/libncursesw_p.a
OLD_FILES+=usr/lib/libnetgraph_p.a
-OLD_FILES+=usr/lib/libngatm_p.a
+OLD_FILES+=usr/lib/libnetmap_p.a
+OLD_FILES+=usr/lib/libnss_tacplus_p.a
OLD_FILES+=usr/lib/libnv_p.a
OLD_FILES+=usr/lib/libnvpair_p.a
OLD_FILES+=usr/lib/libopencsd_p.a
@@ -7567,9 +6956,19 @@ OLD_FILES+=usr/lib/libpathconv_p.a
OLD_FILES+=usr/lib/libpcap_p.a
OLD_FILES+=usr/lib/libpjdlog_p.a
OLD_FILES+=usr/lib/libpmc_p.a
+OLD_FILES+=usr/lib/libprivateatf-c++_p.a
+OLD_FILES+=usr/lib/libprivateatf-c_p.a
+OLD_FILES+=usr/lib/libprivateauditd_p.a
OLD_FILES+=usr/lib/libprivatebsdstat_p.a
+OLD_FILES+=usr/lib/libprivatecbor_p.a
OLD_FILES+=usr/lib/libprivatedevdctl_p.a
OLD_FILES+=usr/lib/libprivateevent_p.a
+OLD_FILES+=usr/lib/libprivateevent1_p.a
+OLD_FILES+=usr/lib/libprivatefido2_p.a
+OLD_FILES+=usr/lib/libprivategmock_main_p.a
+OLD_FILES+=usr/lib/libprivategmock_p.a
+OLD_FILES+=usr/lib/libprivategtest_main_p.a
+OLD_FILES+=usr/lib/libprivategtest_p.a
OLD_FILES+=usr/lib/libprivateheimipcc_p.a
OLD_FILES+=usr/lib/libprivateheimipcs_p.a
OLD_FILES+=usr/lib/libprivateifconfig_p.a
@@ -7592,7 +6991,9 @@ OLD_FILES+=usr/lib/librtld_db_p.a
OLD_FILES+=usr/lib/libsbuf_p.a
OLD_FILES+=usr/lib/libsdp_p.a
OLD_FILES+=usr/lib/libsmb_p.a
+OLD_FILES+=usr/lib/libspl_p.a
OLD_FILES+=usr/lib/libssl_p.a
+OLD_FILES+=usr/lib/libstats_p.a
OLD_FILES+=usr/lib/libstdbuf_p.a
OLD_FILES+=usr/lib/libstdc++_p.a
OLD_FILES+=usr/lib/libstdthreads_p.a
@@ -7607,6 +7008,7 @@ OLD_FILES+=usr/lib/libthr_p.a
OLD_FILES+=usr/lib/libthread_db_p.a
OLD_FILES+=usr/lib/libtinfo_p.a
OLD_FILES+=usr/lib/libtinfow_p.a
+OLD_FILES+=usr/lib/libtpool_p.a
OLD_FILES+=usr/lib/libufs_p.a
OLD_FILES+=usr/lib/libugidfw_p.a
OLD_FILES+=usr/lib/libulog_p.a
@@ -7626,8 +7028,8 @@ OLD_FILES+=usr/lib/libypclnt_p.a
OLD_FILES+=usr/lib/libz_p.a
OLD_FILES+=usr/lib/libzfs_core_p.a
OLD_FILES+=usr/lib/libzfs_p.a
-OLD_FILES+=usr/lib/libprivateldns_p.a
-OLD_FILES+=usr/lib/libprivatessh_p.a
+OLD_FILES+=usr/lib/libzfsbootenv_p.a
+OLD_FILES+=usr/lib/libzutil_p.a
.endif
.if ${MK_QUOTAS} == no
@@ -7652,12 +7054,6 @@ OLD_LIBS+=usr/lib/libradius.so.4
OLD_FILES+=usr/lib/libradius_p.a
OLD_FILES+=usr/lib/pam_radius.so
OLD_LIBS+=usr/lib/pam_radius.so.6
-OLD_FILES+=usr/lib32/libradius.a
-OLD_FILES+=usr/lib32/libradius.so
-OLD_LIBS+=usr/lib32/libradius.so.4
-OLD_FILES+=usr/lib32/libradius_p.a
-OLD_FILES+=usr/lib32/pam_radius.so
-OLD_LIBS+=usr/lib32/pam_radius.so.6
OLD_FILES+=usr/include/radlib.h
OLD_FILES+=usr/include/radlib_vs.h
OLD_FILES+=usr/share/man/man3/libradius.3.gz
@@ -7731,7 +7127,9 @@ OLD_FILES+=etc/periodic/daily/440.status-mailq
OLD_FILES+=etc/periodic/daily/460.status-mail-rejects
OLD_FILES+=etc/periodic/daily/500.queuerun
OLD_FILES+=etc/rc.d/sendmail
+.if ${MK_MAILWRAPPER} == no
OLD_FILES+=bin/rmail
+.endif
OLD_FILES+=usr/bin/vacation
OLD_FILES+=usr/include/libmilter/mfapi.h
OLD_FILES+=usr/include/libmilter/mfdef.h
@@ -7740,12 +7138,6 @@ OLD_FILES+=usr/lib/libmilter.a
OLD_FILES+=usr/lib/libmilter.so
OLD_LIBS+=usr/lib/libmilter.so.5
OLD_FILES+=usr/lib/libmilter_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libmilter.a
-OLD_FILES+=usr/lib32/libmilter.so
-OLD_LIBS+=usr/lib32/libmilter.so.5
-OLD_FILES+=usr/lib32/libmilter_p.a
-.endif
OLD_FILES+=usr/libexec/mail.local
OLD_FILES+=usr/libexec/sendmail/sendmail
OLD_FILES+=usr/libexec/smrsh
@@ -7755,6 +7147,8 @@ OLD_FILES+=usr/sbin/makemap
OLD_FILES+=usr/sbin/praliases
OLD_FILES+=usr/share/doc/smm/08.sendmailop/paper.ascii.gz
OLD_DIRS+=usr/share/doc/smm/08.sendmailop
+OLD_FILES+=usr/share/examples/sendmail/mailer.conf
+OLD_DIRS+=usr/share/examples/sendmail
OLD_FILES+=usr/share/man/man1/mailq.1.gz
OLD_FILES+=usr/share/man/man1/newaliases.1.gz
OLD_FILES+=usr/share/man/man1/vacation.1.gz
@@ -7820,18 +7214,23 @@ OLD_FILES+=usr/share/sendmail/cf/feature/access_db.m4
OLD_FILES+=usr/share/sendmail/cf/feature/allmasquerade.m4
OLD_FILES+=usr/share/sendmail/cf/feature/always_add_domain.m4
OLD_FILES+=usr/share/sendmail/cf/feature/authinfo.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/blocklist_recipients.m4
OLD_FILES+=usr/share/sendmail/cf/feature/badmx.m4
OLD_FILES+=usr/share/sendmail/cf/feature/bcc.m4
OLD_FILES+=usr/share/sendmail/cf/feature/bestmx_is_local.m4
OLD_FILES+=usr/share/sendmail/cf/feature/bitdomain.m4
OLD_FILES+=usr/share/sendmail/cf/feature/blacklist_recipients.m4
OLD_FILES+=usr/share/sendmail/cf/feature/block_bad_helo.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/check_other.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/check_cert_altnames.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/check_other.m4
OLD_FILES+=usr/share/sendmail/cf/feature/compat_check.m4
OLD_FILES+=usr/share/sendmail/cf/feature/conncontrol.m4
OLD_FILES+=usr/share/sendmail/cf/feature/delay_checks.m4
OLD_FILES+=usr/share/sendmail/cf/feature/dnsbl.m4
OLD_FILES+=usr/share/sendmail/cf/feature/domaintable.m4
OLD_FILES+=usr/share/sendmail/cf/feature/enhdnsbl.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/fips3.m4
OLD_FILES+=usr/share/sendmail/cf/feature/generics_entire_domain.m4
OLD_FILES+=usr/share/sendmail/cf/feature/genericstable.m4
OLD_FILES+=usr/share/sendmail/cf/feature/greet_pause.m4
@@ -7868,6 +7267,8 @@ OLD_FILES+=usr/share/sendmail/cf/feature/relay_mail_from.m4
OLD_FILES+=usr/share/sendmail/cf/feature/require_rdns.m4
OLD_FILES+=usr/share/sendmail/cf/feature/smrsh.m4
OLD_FILES+=usr/share/sendmail/cf/feature/stickyhost.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/sts.m4
+OLD_FILES+=usr/share/sendmail/cf/feature/tls_failures.m4
OLD_FILES+=usr/share/sendmail/cf/feature/tls_session_features.m4
OLD_FILES+=usr/share/sendmail/cf/feature/use_client_ptr.m4
OLD_FILES+=usr/share/sendmail/cf/feature/use_ct_file.m4
@@ -7971,6 +7372,27 @@ OLD_DIRS+=var/spool/clientmqueue
OLD_FILES+=var/db/services.db
.endif
+.if ${MK_NUAGEINIT} == no
+OLD_FILES+=etc/rc.d/nuageinit
+OLD_FILES+=usr/libexec/nuageinit
+OLD_FILES+=usr/share/flua/nuage.lua
+OLD_FILES+=usr/share/flua/yaml.lua
+OLD_FILES+=usr/tests
+OLD_FILES+=usr/tests/libexec/nuageinit/utils
+OLD_FILES+=usr/tests/libexec/nuageinit/nuage
+OLD_FILES+=usr/tests/libexec/nuageinit/warn.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/dirname.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/err.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/adduser.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/addsshkeys.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/Kyuafile
+OLD_FILES+=usr/tests/libexec/nuageinit/ktrace.out
+OLD_FILES+=usr/tests/libexec/nuageinit/addgroup.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/sethostname.lua
+OLD_FILES+=usr/tests/libexec/nuageinit/nuageinit
+OLD_FILES+=usr/tests/libexec/nuageinit/addsshkey.lua
+.endif
+
.if ${MK_SHAREDOCS} == no
OLD_FILES+=usr/share/doc/pjdfstest/README
OLD_DIRS+=usr/share/doc/pjdfstest
@@ -8064,6 +7486,7 @@ OLD_FILES+=usr/share/syscons/keymaps/by.cp1131.kbd
OLD_FILES+=usr/share/syscons/keymaps/by.cp1251.kbd
OLD_FILES+=usr/share/syscons/keymaps/by.iso5.kbd
OLD_FILES+=usr/share/syscons/keymaps/ce.iso2.kbd
+OLD_FILES+=usr/share/syscons/keymaps/colemak-dh.iso15.acc.kbd
OLD_FILES+=usr/share/syscons/keymaps/colemak.iso15.acc.kbd
OLD_FILES+=usr/share/syscons/keymaps/cs.latin2.qwertz.kbd
OLD_FILES+=usr/share/syscons/keymaps/cz.iso2.kbd
@@ -8148,6 +7571,7 @@ OLD_FILES+=usr/share/syscons/keymaps/us.dvorakx.kbd
OLD_FILES+=usr/share/syscons/keymaps/us.emacs.kbd
OLD_FILES+=usr/share/syscons/keymaps/us.iso.acc.kbd
OLD_FILES+=usr/share/syscons/keymaps/us.iso.kbd
+OLD_FILES+=usr/share/syscons/keymaps/us.iso.macbook.kbd
OLD_FILES+=usr/share/syscons/keymaps/us.pc-ctrl.kbd
OLD_FILES+=usr/share/syscons/keymaps/us.unix.kbd
OLD_FILES+=usr/share/syscons/scrnmaps/armscii8-2haik8.scm
@@ -8240,41 +7664,25 @@ OLD_FILES+=usr/share/nls/uk_UA.UTF-8/tcsh.cat
.endif
.if ${MK_TELNET} == no
-OLD_FILES+=etc/pam.d/telnetd
OLD_FILES+=usr/bin/telnet
-OLD_FILES+=usr/libexec/telnetd
OLD_FILES+=usr/share/man/man1/telnet.1.gz
-OLD_FILES+=usr/share/man/man8/telnetd.8.gz
.endif
.if ${MK_TESTS} == yes
OLD_FILES+=usr/bin/atf-sh
OLD_FILES+=usr/include/atf-c++/config.hpp
OLD_FILES+=usr/include/atf-c/config.h
-OLD_LIBS+=usr/lib/libatf-c++.a
-OLD_LIBS+=usr/lib/libatf-c++.so
+OLD_FILES+=usr/lib/libatf-c++.a
+OLD_FILES+=usr/lib/libatf-c++.so
OLD_LIBS+=usr/lib/libatf-c++.so.1
OLD_LIBS+=usr/lib/libatf-c++.so.2
-OLD_LIBS+=usr/lib/libatf-c++_p.a
-OLD_LIBS+=usr/lib/libatf-c.a
-OLD_LIBS+=usr/lib/libatf-c.so
+OLD_FILES+=usr/lib/libatf-c++_p.a
+OLD_FILES+=usr/lib/libatf-c.a
+OLD_FILES+=usr/lib/libatf-c.so
OLD_LIBS+=usr/lib/libatf-c.so.1
-OLD_LIBS+=usr/lib/libatf-c_p.a
+OLD_FILES+=usr/lib/libatf-c_p.a
OLD_LIBS+=usr/lib/libprivateatf-c.so.0
OLD_LIBS+=usr/lib/libprivateatf-c++.so.1
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_LIBS+=usr/lib32/libatf-c++.a
-OLD_LIBS+=usr/lib32/libatf-c++.so
-OLD_LIBS+=usr/lib32/libatf-c++.so.1
-OLD_LIBS+=usr/lib32/libatf-c++.so.2
-OLD_LIBS+=usr/lib32/libatf-c++_p.a
-OLD_LIBS+=usr/lib32/libatf-c.a
-OLD_LIBS+=usr/lib32/libatf-c.so
-OLD_LIBS+=usr/lib32/libatf-c.so.1
-OLD_LIBS+=usr/lib32/libatf-c_p.a
-OLD_LIBS+=usr/lib32/libprivateatf-c.so.0
-OLD_LIBS+=usr/lib32/libprivateatf-c++.so.1
-.endif
OLD_FILES+=usr/libdata/pkgconfig/atf-c++.pc
OLD_FILES+=usr/libdata/pkgconfig/atf-c.pc
OLD_FILES+=usr/libdata/pkgconfig/atf-sh.pc
@@ -8801,7 +8209,6 @@ OLD_FILES+=usr/include/atf-c/macros.h
OLD_FILES+=usr/include/atf-c/tc.h
OLD_FILES+=usr/include/atf-c/tp.h
OLD_FILES+=usr/include/atf-c/utils.h
-OLD_FILES+=usr/lib/debug/usr/bin/kyua.debug
OLD_LIBS+=usr/lib/libprivateatf-c++.so.2
OLD_LIBS+=usr/lib/libprivateatf-c.so.1
OLD_FILES+=usr/share/examples/kyua/kyua.conf
@@ -8900,6 +8307,7 @@ OLD_FILES+=usr/share/man/man8/tftpd.8.gz
.endif
.if ${MK_TOOLCHAIN} == no
+OLD_FILES+=usr/bin/CC
OLD_FILES+=usr/bin/addr2line
OLD_FILES+=usr/bin/as
OLD_FILES+=usr/bin/byacc
@@ -8981,6 +8389,12 @@ OLD_FILES+=usr/share/man/man3/elftc_set_timestamps.3.gz
OLD_FILES+=usr/share/man/man3/elftc_timestamp.3.gz
OLD_FILES+=usr/share/man/man3/elftc_string_table_create.3.gz
OLD_FILES+=usr/share/man/man3/elftc_version.3.gz
+# usr.bin/lorder
+OLD_FILES+=usr/bin/lorder
+OLD_FILES+=usr/tests/usr.bin/lorder/Kyuafile
+OLD_FILES+=usr/tests/usr.bin/lorder/lorder_test
+OLD_DIRS+=usr/tests/usr.bin/lorder
+# usr.bin/yacc
OLD_FILES+=usr/tests/usr.bin/yacc/Kyuafile
OLD_FILES+=usr/tests/usr.bin/yacc/btyacc_calc1.y
OLD_FILES+=usr/tests/usr.bin/yacc/btyacc_demo.y
@@ -9299,17 +8713,11 @@ OLD_FILES+=usr/lib/libprivateunbound.a
OLD_FILES+=usr/lib/libprivateunbound.so
OLD_LIBS+=usr/lib/libprivateunbound.so.5
OLD_FILES+=usr/lib/libprivateunbound_p.a
-.if ${TARGET_ARCH} == "amd64" || ${TARGET_ARCH} == "powerpc64"
-OLD_FILES+=usr/lib32/libprivateunbound.a
-OLD_FILES+=usr/lib32/libprivateunbound.so
-OLD_LIBS+=usr/lib32/libprivateunbound.so.5
-OLD_FILES+=usr/lib32/libprivateunbound_p.a
OLD_FILES+=usr/share/man/man5/local-unbound.conf.5.gz
OLD_FILES+=usr/share/man/man8/local-unbound-anchor.8.gz
OLD_FILES+=usr/share/man/man8/local-unbound-checkconf.8.gz
OLD_FILES+=usr/share/man/man8/local-unbound-control.8.gz
OLD_FILES+=usr/share/man/man8/local-unbound.8.gz
-.endif
OLD_FILES+=usr/sbin/local-unbound-setup
OLD_FILES+=usr/sbin/local-unbound
OLD_FILES+=usr/sbin/local-unbound-anchor
@@ -9337,14 +8745,6 @@ OLD_FILES+=usr/lib/libusbhid.a
OLD_FILES+=usr/lib/libusbhid.so
OLD_LIBS+=usr/lib/libusbhid.so.4
OLD_FILES+=usr/lib/libusbhid_p.a
-OLD_FILES+=usr/lib32/libusb.a
-OLD_FILES+=usr/lib32/libusb.so
-OLD_LIBS+=usr/lib32/libusb.so.3
-OLD_FILES+=usr/lib32/libusb_p.a
-OLD_FILES+=usr/lib32/libusbhid.a
-OLD_FILES+=usr/lib32/libusbhid.so
-OLD_LIBS+=usr/lib32/libusbhid.so.4
-OLD_FILES+=usr/lib32/libusbhid_p.a
OLD_FILES+=usr/libdata/pkgconfig/libusb-0.1.pc
OLD_FILES+=usr/libdata/pkgconfig/libusb-1.0.pc
OLD_FILES+=usr/libdata/pkgconfig/libusb-2.0.pc
@@ -9698,6 +9098,14 @@ OLD_FILES+=usr/share/man/man8/lastlogin.8.gz
OLD_FILES+=usr/share/man/man8/utx.8.gz
.endif
+.if ${MK_VERIEXEC} == no
+OLD_FILES+=sbin/veriexec
+OLD_FILES+=usr/share/man/man8/veriexec.8.gz
+OLD_FILES+=usr/lib/libveriexec.a
+OLD_FILES+=usr/lib/libveriexec.so
+OLD_LIBS+=usr/lib/libveriexec.so.5
+.endif
+
.if ${MK_VI} == no
OLD_FILES+=etc/rc.d/virecover
OLD_FILES+=rescue/ex
@@ -9760,14 +9168,113 @@ OLD_FILES+=usr/share/snmp/defs/wlan_tree.def
OLD_FILES+=usr/share/snmp/mibs/BEGEMOT-WIRELESS-MIB.txt
.endif
-.if ${MK_HYPERV} == no
-OLD_FILES+=etc/devd/hyperv.conf
-OLD_FILES+=usr/libexec/hyperv/hv_set_ifconfig
-OLD_FILES+=usr/libexec/hyperv/hv_get_dns_info
-OLD_FILES+=usr/libexec/hyperv/hv_get_dhcp_info
-OLD_FILES+=usr/sbin/hv_kvp_daemon
-OLD_FILES+=usr/sbin/hv_vss_daemon
-OLD_FILES+=usr/share/man/man8/hv_kvp_daemon.8.gz
+.if ${MK_ZFS} == no
+OLD_FILES+=boot/gptzfsboot
+OLD_FILES+=boot/zfsboot
+OLD_FILES+=boot/zfsloader
+OLD_FILES+=etc/rc.d/zfs
+OLD_FILES+=etc/rc.d/zfsbe
+OLD_FILES+=etc/rc.d/zfsd
+OLD_FILES+=etc/rc.d/zfskeys
+OLD_FILES+=etc/rc.d/zvol
+OLD_FILES+=etc/devd/zfs.conf
+OLD_FILES+=etc/periodic/daily/404.status-zfs
+OLD_FILES+=etc/periodic/daily/800.scrub-zfs
+OLD_FILES+=etc/zfs/exports
+OLD_DIRS+=etc/zfs
+OLD_LIBS+=lib/libavl.so.2
+OLD_LIBS+=lib/libnvpair.so.2
+OLD_LIBS+=lib/libumem.so.2
+OLD_LIBS+=lib/libuutil.so.2
+OLD_LIBS+=lib/libzfs.so.2
+OLD_LIBS+=lib/libzfs.so.3
+OLD_LIBS+=lib/libzfs_core.so.2
+OLD_LIBS+=lib/libzpool.so.2
+OLD_FILES+=rescue/zdb
+OLD_FILES+=rescue/zfs
+OLD_FILES+=rescue/zpool
+OLD_FILES+=sbin/bectl
+OLD_FILES+=sbin/zfs
+OLD_FILES+=sbin/zpool
+OLD_FILES+=sbin/zfsbootcfg
+OLD_FILES+=usr/bin/zinject
+OLD_FILES+=usr/bin/zstreamdump
+OLD_FILES+=usr/bin/ztest
+OLD_FILES+=usr/lib/libbe.a
+OLD_FILES+=usr/lib/libbe_p.a
+OLD_FILES+=usr/lib/libbe.so
+OLD_LIBS+=lib/libbe.so.1
+OLD_FILES+=usr/lib/libavl.a
+OLD_FILES+=usr/lib/libavl.so
+OLD_FILES+=usr/lib/libavl_p.a
+OLD_FILES+=usr/lib/libnvpair.a
+OLD_FILES+=usr/lib/libnvpair.so
+OLD_FILES+=usr/lib/libnvpair_p.a
+OLD_FILES+=usr/lib/libumem.a
+OLD_FILES+=usr/lib/libumem.so
+OLD_FILES+=usr/lib/libumem_p.a
+OLD_FILES+=usr/lib/libuutil.a
+OLD_FILES+=usr/lib/libuutil.so
+OLD_FILES+=usr/lib/libuutil_p.a
+OLD_FILES+=usr/lib/libzfs.a
+OLD_FILES+=usr/lib/libzfs.so
+OLD_FILES+=usr/lib/libzfs_core.a
+OLD_FILES+=usr/lib/libzfs_core.so
+OLD_FILES+=usr/lib/libzfs_core_p.a
+OLD_FILES+=usr/lib/libzfs_p.a
+OLD_FILES+=usr/lib/libzpool.a
+OLD_FILES+=usr/lib/libzpool.so
+OLD_LIBS+=usr/lib/libzpool.so.2
+OLD_FILES+=usr/sbin/zfsd
+OLD_FILES+=usr/sbin/zhack
+OLD_FILES+=usr/sbin/zdb
+OLD_FILES+=usr/share/man/man3/be_activate.3.gz
+OLD_FILES+=usr/share/man/man3/be_active_name.3.gz
+OLD_FILES+=usr/share/man/man3/be_active_path.3.gz
+OLD_FILES+=usr/share/man/man3/be_create_depth.3.gz
+OLD_FILES+=usr/share/man/man3/be_create_from_existing_snap.3.gz
+OLD_FILES+=usr/share/man/man3/be_create_from_existing.3.gz
+OLD_FILES+=usr/share/man/man3/be_create.3.gz
+OLD_FILES+=usr/share/man/man3/be_deactivate.3.gz
+OLD_FILES+=usr/share/man/man3/be_destroy.3.gz
+OLD_FILES+=usr/share/man/man3/be_exists.3.gz
+OLD_FILES+=usr/share/man/man3/be_export.3.gz
+OLD_FILES+=usr/share/man/man3/be_get_bootenv_props.3.gz
+OLD_FILES+=usr/share/man/man3/be_get_dataset_props.3.gz
+OLD_FILES+=usr/share/man/man3/be_get_dataset_snapshots.3.gz
+OLD_FILES+=usr/share/man/man3/be_import.3.gz
+OLD_FILES+=usr/share/man/man3/be_is_auto_snapshot_name.3.gz
+OLD_FILES+=usr/share/man/man3/be_mount.3.gz
+OLD_FILES+=usr/share/man/man3/be_mounted_at.3.gz
+OLD_FILES+=usr/share/man/man3/be_nextboot_name.3.gz
+OLD_FILES+=usr/share/man/man3/be_nextboot_path.3.gz
+OLD_FILES+=usr/share/man/man3/be_nicenum.3.gz
+OLD_FILES+=usr/share/man/man3/be_prop_list_alloc.3.gz
+OLD_FILES+=usr/share/man/man3/be_prop_list_free.3.gz
+OLD_FILES+=usr/share/man/man3/be_rename.3.gz
+OLD_FILES+=usr/share/man/man3/be_root_concat.3.gz
+OLD_FILES+=usr/share/man/man3/be_root_path.3.gz
+OLD_FILES+=usr/share/man/man3/be_snapshot.3.gz
+OLD_FILES+=usr/share/man/man3/be_unmount.3.gz
+OLD_FILES+=usr/share/man/man3/be_validate_name.3.gz
+OLD_FILES+=usr/share/man/man3/be_validate_snap.3.gz
+OLD_FILES+=usr/share/man/man3/libbe_close.3.gz
+OLD_FILES+=usr/share/man/man3/libbe_errno.3.gz
+OLD_FILES+=usr/share/man/man3/libbe_error_description.3.gz
+OLD_FILES+=usr/share/man/man3/libbe_init.3.gz
+OLD_FILES+=usr/share/man/man3/libbe_print_on_error.3.gz
+OLD_FILES+=usr/share/man/man3/libbe.3.gz
+OLD_FILES+=usr/share/man/man5/zpool-features.5.gz
+OLD_FILES+=usr/share/man/man8/bectl.8.gz
+OLD_FILES+=usr/share/man/man8/gptzfsboot.8.gz
+OLD_FILES+=usr/share/man/man8/zdb.8.gz
+OLD_FILES+=usr/share/man/man8/zfs-program.8.gz
+OLD_FILES+=usr/share/man/man8/zfs.8.gz
+OLD_FILES+=usr/share/man/man8/zfsboot.8.gz
+OLD_FILES+=usr/share/man/man8/zfsbootcfg.8.gz
+OLD_FILES+=usr/share/man/man8/zfsd.8.gz
+OLD_FILES+=usr/share/man/man8/zfsloader.8.gz
+OLD_FILES+=usr/share/man/man8/zpool.8.gz
.endif
.if ${MK_ZONEINFO} == no
@@ -9860,6 +9367,7 @@ OLD_FILES+=usr/share/zoneinfo/America/Cayenne
OLD_FILES+=usr/share/zoneinfo/America/Cayman
OLD_FILES+=usr/share/zoneinfo/America/Chicago
OLD_FILES+=usr/share/zoneinfo/America/Chihuahua
+OLD_FILES+=usr/share/zoneinfo/America/Ciudad_Juarez
OLD_FILES+=usr/share/zoneinfo/America/Costa_Rica
OLD_FILES+=usr/share/zoneinfo/America/Creston
OLD_FILES+=usr/share/zoneinfo/America/Cuiaba
diff --git a/tools/build/mk/bsd.lib.mk b/tools/build/mk/bsd.lib.mk
index 6f717d812696..335f1d424358 100644
--- a/tools/build/mk/bsd.lib.mk
+++ b/tools/build/mk/bsd.lib.mk
@@ -1,4 +1,3 @@
-# $FreeBSD$
.include "Makefile.boot.pre"
# Don't build shared libraries during bootstrap
diff --git a/tools/build/mk/bsd.prog.mk b/tools/build/mk/bsd.prog.mk
index 3eb5c904e2ef..a4775a66e764 100644
--- a/tools/build/mk/bsd.prog.mk
+++ b/tools/build/mk/bsd.prog.mk
@@ -1,4 +1,3 @@
-# $FreeBSD$
.include "Makefile.boot.pre"
.include "../../../share/mk/bsd.prog.mk"
diff --git a/tools/build/options/INIT_ALL b/tools/build/options/INIT_ALL
new file mode 100644
index 000000000000..3ca70337b8f1
--- /dev/null
+++ b/tools/build/options/INIT_ALL
@@ -0,0 +1,21 @@
+Control default initialization of stack variables in C and C++ code.
+Options other than
+.Li none
+require the Clang compiler or GCC 12.0 or later.
+The default value is
+.Li none .
+Valid values are:
+.Bl -tag -width indent
+.It Li none
+Do not initialize stack variables (standard C/C++ behavior).
+.It Li pattern
+Build the base system or kernel with stack variables initialized to
+.Pq compiler defined
+debugging patterns on function entry.
+.It Li zero
+Build the base system or kernel with stack variables initialized
+to zero on function entry.
+This value is converted to
+.Li none
+for amd64 kernel builds due to incompatability with ifunc memset.
+.El
diff --git a/tools/build/options/LIBC_MALLOC b/tools/build/options/LIBC_MALLOC
new file mode 100644
index 000000000000..5a72f7730fc7
--- /dev/null
+++ b/tools/build/options/LIBC_MALLOC
@@ -0,0 +1,13 @@
+Specify the
+.Xr malloc 3
+implementation used by libc.
+The default value is
+.Li jemalloc .
+Valid values are:
+.Bl -tag -width indent
+.It Li jemalloc
+.El
+.Pp
+Other implementations are expected in the future in both
+.Fx
+and downstream consumers.
diff --git a/tools/build/options/WITHOUT_ACCT b/tools/build/options/WITHOUT_ACCT
index b885bc113692..a31683007f95 100644
--- a/tools/build/options/WITHOUT_ACCT
+++ b/tools/build/options/WITHOUT_ACCT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build process accounting tools such as
.Xr accton 8
and
diff --git a/tools/build/options/WITHOUT_ACPI b/tools/build/options/WITHOUT_ACPI
index 76c304a1b1a8..a44daa30867d 100644
--- a/tools/build/options/WITHOUT_ACPI
+++ b/tools/build/options/WITHOUT_ACPI
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr acpiconf 8 ,
.Xr acpidump 8
diff --git a/tools/build/options/WITHOUT_APM b/tools/build/options/WITHOUT_APM
index cb1334e1e654..b8658381964b 100644
--- a/tools/build/options/WITHOUT_APM
+++ b/tools/build/options/WITHOUT_APM
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr apm 8 ,
.Xr apmd 8
diff --git a/tools/build/options/WITHOUT_ASSERT_DEBUG b/tools/build/options/WITHOUT_ASSERT_DEBUG
index 66103683229a..e2dca19c49d2 100644
--- a/tools/build/options/WITHOUT_ASSERT_DEBUG
+++ b/tools/build/options/WITHOUT_ASSERT_DEBUG
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Compile programs and libraries without the
.Xr assert 3
checks.
diff --git a/tools/build/options/WITHOUT_AT b/tools/build/options/WITHOUT_AT
index 849f6b1e5468..ed4d7c2cfaea 100644
--- a/tools/build/options/WITHOUT_AT
+++ b/tools/build/options/WITHOUT_AT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr at 1
and related utilities.
diff --git a/tools/build/options/WITHOUT_ATM b/tools/build/options/WITHOUT_ATM
deleted file mode 100644
index 345663fb3ccd..000000000000
--- a/tools/build/options/WITHOUT_ATM
+++ /dev/null
@@ -1,3 +0,0 @@
-.\" $FreeBSD$
-Do not build
-programs and libraries related to ATM networking.
diff --git a/tools/build/options/WITHOUT_AUDIT b/tools/build/options/WITHOUT_AUDIT
index 479bf77655e1..8adc89172200 100644
--- a/tools/build/options/WITHOUT_AUDIT
+++ b/tools/build/options/WITHOUT_AUDIT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build audit support into system programs.
diff --git a/tools/build/options/WITHOUT_AUTHPF b/tools/build/options/WITHOUT_AUTHPF
index 55e6a726b4ff..1d708b84e16c 100644
--- a/tools/build/options/WITHOUT_AUTHPF
+++ b/tools/build/options/WITHOUT_AUTHPF
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr authpf 8 .
diff --git a/tools/build/options/WITHOUT_AUTOFS b/tools/build/options/WITHOUT_AUTOFS
index 0d8f2450cccc..fa8ff52d13e3 100644
--- a/tools/build/options/WITHOUT_AUTOFS
+++ b/tools/build/options/WITHOUT_AUTOFS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr autofs 5
related programs, libraries, and kernel modules.
diff --git a/tools/build/options/WITHOUT_AUTO_OBJ b/tools/build/options/WITHOUT_AUTO_OBJ
index 69dd6c387bdb..60c4826bee30 100644
--- a/tools/build/options/WITHOUT_AUTO_OBJ
+++ b/tools/build/options/WITHOUT_AUTO_OBJ
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Disable automatic creation of objdirs.
This is enabled by default if the wanted OBJDIR is writable by the current user.
diff --git a/tools/build/options/WITHOUT_BHYVE b/tools/build/options/WITHOUT_BHYVE
index 52cef5d142e3..5d523bc58b0a 100644
--- a/tools/build/options/WITHOUT_BHYVE
+++ b/tools/build/options/WITHOUT_BHYVE
@@ -1,6 +1,5 @@
-.\" $FreeBSD$
Do not build or install
.Xr bhyve 8 ,
associated utilities, and examples.
.Pp
-This option only affects amd64/amd64.
+This option only affects amd64/amd64 and arm64/aarch64.
diff --git a/tools/build/options/WITHOUT_BIND_NOW b/tools/build/options/WITHOUT_BIND_NOW
index f35a7653aa3b..7c0e7a94015f 100644
--- a/tools/build/options/WITHOUT_BIND_NOW
+++ b/tools/build/options/WITHOUT_BIND_NOW
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build all binaries with the
.Dv DF_BIND_NOW
flag set.
diff --git a/tools/build/options/WITHOUT_BLACKLIST b/tools/build/options/WITHOUT_BLACKLIST
index 39ccd585aaa2..c54c83f27553 100644
--- a/tools/build/options/WITHOUT_BLACKLIST
+++ b/tools/build/options/WITHOUT_BLACKLIST
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set this if you do not want to build
.Xr blacklistd 8
and
diff --git a/tools/build/options/WITHOUT_BLACKLIST_SUPPORT b/tools/build/options/WITHOUT_BLACKLIST_SUPPORT
index 2bb7542699e9..2bf22ea42ab6 100644
--- a/tools/build/options/WITHOUT_BLACKLIST_SUPPORT
+++ b/tools/build/options/WITHOUT_BLACKLIST_SUPPORT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build some programs without
.Xr libblacklist 3
support, like
diff --git a/tools/build/options/WITHOUT_BLUETOOTH b/tools/build/options/WITHOUT_BLUETOOTH
index 0b8b2b5aa74c..71c2d840a3b7 100644
--- a/tools/build/options/WITHOUT_BLUETOOTH
+++ b/tools/build/options/WITHOUT_BLUETOOTH
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build Bluetooth related kernel modules, programs and libraries.
diff --git a/tools/build/options/WITHOUT_BOOT b/tools/build/options/WITHOUT_BOOT
index dae312bf45b1..b17ca3d23b73 100644
--- a/tools/build/options/WITHOUT_BOOT
+++ b/tools/build/options/WITHOUT_BOOT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build the boot blocks and loader.
diff --git a/tools/build/options/WITHOUT_BOOTPARAMD b/tools/build/options/WITHOUT_BOOTPARAMD
index 3363479d2018..ec871797e46a 100644
--- a/tools/build/options/WITHOUT_BOOTPARAMD
+++ b/tools/build/options/WITHOUT_BOOTPARAMD
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build or install
.Xr bootparamd 8 .
diff --git a/tools/build/options/WITHOUT_BOOTPD b/tools/build/options/WITHOUT_BOOTPD
index cc4ef91da9ee..ec21d48bde0a 100644
--- a/tools/build/options/WITHOUT_BOOTPD
+++ b/tools/build/options/WITHOUT_BOOTPD
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build or install
.Xr bootpd 8 .
diff --git a/tools/build/options/WITHOUT_BSDINSTALL b/tools/build/options/WITHOUT_BSDINSTALL
index 77d82a9749bc..22d1905d8e7f 100644
--- a/tools/build/options/WITHOUT_BSDINSTALL
+++ b/tools/build/options/WITHOUT_BSDINSTALL
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr bsdinstall 8 ,
.Xr sade 8 ,
diff --git a/tools/build/options/WITHOUT_BSD_CPIO b/tools/build/options/WITHOUT_BSD_CPIO
index 207b7f898b2e..5aecc3abd433 100644
--- a/tools/build/options/WITHOUT_BSD_CPIO
+++ b/tools/build/options/WITHOUT_BSD_CPIO
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build the BSD licensed version of cpio based on
.Xr libarchive 3 .
diff --git a/tools/build/options/WITHOUT_BSNMP b/tools/build/options/WITHOUT_BSNMP
index 2836cc58bff1..cc07336f34da 100644
--- a/tools/build/options/WITHOUT_BSNMP
+++ b/tools/build/options/WITHOUT_BSNMP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build or install
.Xr bsnmpd 1
and related libraries and data files.
diff --git a/tools/build/options/WITHOUT_BZIP2 b/tools/build/options/WITHOUT_BZIP2
index 6f7c29f8e00f..0ec4f7638a44 100644
--- a/tools/build/options/WITHOUT_BZIP2
+++ b/tools/build/options/WITHOUT_BZIP2
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build contributed bzip2 software as a part of the base system.
.Bf -symbolic
The option has no effect yet.
diff --git a/tools/build/options/WITHOUT_BZIP2_SUPPORT b/tools/build/options/WITHOUT_BZIP2_SUPPORT
index ca0e80d44e29..0cc8c81fadff 100644
--- a/tools/build/options/WITHOUT_BZIP2_SUPPORT
+++ b/tools/build/options/WITHOUT_BZIP2_SUPPORT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build some programs without optional bzip2 support.
diff --git a/tools/build/options/WITHOUT_CALENDAR b/tools/build/options/WITHOUT_CALENDAR
index aa87b2fa1c09..d361f63d6f22 100644
--- a/tools/build/options/WITHOUT_CALENDAR
+++ b/tools/build/options/WITHOUT_CALENDAR
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr calendar 1 .
diff --git a/tools/build/options/WITHOUT_CAPSICUM b/tools/build/options/WITHOUT_CAPSICUM
index 9d0eb89e491d..19d821f6c981 100644
--- a/tools/build/options/WITHOUT_CAPSICUM
+++ b/tools/build/options/WITHOUT_CAPSICUM
@@ -1,2 +1 @@
-.\" $FreeBSD$
-Do not build Capsicum support into system programs.
+This option has no effect.
diff --git a/tools/build/options/WITHOUT_CAROOT b/tools/build/options/WITHOUT_CAROOT
index 07394ae5a7a5..1009c042dc75 100644
--- a/tools/build/options/WITHOUT_CAROOT
+++ b/tools/build/options/WITHOUT_CAROOT
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not add the trusted certificates from the Mozilla NSS bundle to
base.
diff --git a/tools/build/options/WITHOUT_CASPER b/tools/build/options/WITHOUT_CASPER
index 32bfa960d7d5..19d821f6c981 100644
--- a/tools/build/options/WITHOUT_CASPER
+++ b/tools/build/options/WITHOUT_CASPER
@@ -1,2 +1 @@
-.\" $FreeBSD$
-Do not build Casper program and related libraries.
+This option has no effect.
diff --git a/tools/build/options/WITHOUT_CCD b/tools/build/options/WITHOUT_CCD
index c6c47e61c1e6..224735ce9f06 100644
--- a/tools/build/options/WITHOUT_CCD
+++ b/tools/build/options/WITHOUT_CCD
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr geom_ccd 4
and related utilities.
diff --git a/tools/build/options/WITHOUT_CDDL b/tools/build/options/WITHOUT_CDDL
index a2210308ab67..b7e4bd620540 100644
--- a/tools/build/options/WITHOUT_CDDL
+++ b/tools/build/options/WITHOUT_CDDL
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build code licensed under Sun's CDDL.
diff --git a/tools/build/options/WITHOUT_CLANG b/tools/build/options/WITHOUT_CLANG
index 27bfc4da5a53..d830934022be 100644
--- a/tools/build/options/WITHOUT_CLANG
+++ b/tools/build/options/WITHOUT_CLANG
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build the Clang C/C++ compiler during the regular phase of the build.
diff --git a/tools/build/options/WITHOUT_CLANG_BOOTSTRAP b/tools/build/options/WITHOUT_CLANG_BOOTSTRAP
index ca65c02133cc..023d4e704899 100644
--- a/tools/build/options/WITHOUT_CLANG_BOOTSTRAP
+++ b/tools/build/options/WITHOUT_CLANG_BOOTSTRAP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the Clang C/C++ compiler during the bootstrap phase of
the build.
To be able to build the system, either gcc or clang bootstrap must be
diff --git a/tools/build/options/WITHOUT_CLANG_FULL b/tools/build/options/WITHOUT_CLANG_FULL
index d519983e9c91..56e3feb36665 100644
--- a/tools/build/options/WITHOUT_CLANG_FULL
+++ b/tools/build/options/WITHOUT_CLANG_FULL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Avoid building the ARCMigrate, Rewriter and StaticAnalyzer components of
the Clang C/C++ compiler.
diff --git a/tools/build/options/WITHOUT_CLANG_IS_CC b/tools/build/options/WITHOUT_CLANG_IS_CC
deleted file mode 100644
index 85d80ad476a5..000000000000
--- a/tools/build/options/WITHOUT_CLANG_IS_CC
+++ /dev/null
@@ -1,6 +0,0 @@
-.\" $FreeBSD$
-Do not install links to the Clang C/C++ compiler as
-.Pa /usr/bin/cc ,
-.Pa /usr/bin/c++
-and
-.Pa /usr/bin/cpp .
diff --git a/tools/build/options/WITHOUT_CLEAN b/tools/build/options/WITHOUT_CLEAN
index b55caa4b4bfd..f064cd82af8f 100644
--- a/tools/build/options/WITHOUT_CLEAN
+++ b/tools/build/options/WITHOUT_CLEAN
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not clean before building world and/or kernel.
diff --git a/tools/build/options/WITHOUT_CPP b/tools/build/options/WITHOUT_CPP
index 8b9d064d2889..9eeb4b3211c4 100644
--- a/tools/build/options/WITHOUT_CPP
+++ b/tools/build/options/WITHOUT_CPP
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr cpp 1 .
diff --git a/tools/build/options/WITHOUT_CROSS_COMPILER b/tools/build/options/WITHOUT_CROSS_COMPILER
index 6c690d6cf96b..6a382263f292 100644
--- a/tools/build/options/WITHOUT_CROSS_COMPILER
+++ b/tools/build/options/WITHOUT_CROSS_COMPILER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build any cross compiler in the cross-tools stage of buildworld.
When compiling a different version of
.Fx
diff --git a/tools/build/options/WITHOUT_CRYPT b/tools/build/options/WITHOUT_CRYPT
index 9b0e2a5dfe0e..decc6fdc25e5 100644
--- a/tools/build/options/WITHOUT_CRYPT
+++ b/tools/build/options/WITHOUT_CRYPT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build any crypto code.
diff --git a/tools/build/options/WITHOUT_CUSE b/tools/build/options/WITHOUT_CUSE
index 2e498797fe52..5ab9a4dda2cf 100644
--- a/tools/build/options/WITHOUT_CUSE
+++ b/tools/build/options/WITHOUT_CUSE
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build CUSE-related programs and libraries.
diff --git a/tools/build/options/WITHOUT_CXGBETOOL b/tools/build/options/WITHOUT_CXGBETOOL
index 75142882d5b3..9b434f5f5132 100644
--- a/tools/build/options/WITHOUT_CXGBETOOL
+++ b/tools/build/options/WITHOUT_CXGBETOOL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr cxgbetool 8
diff --git a/tools/build/options/WITHOUT_CXX b/tools/build/options/WITHOUT_CXX
deleted file mode 100644
index 6847ba0fc83f..000000000000
--- a/tools/build/options/WITHOUT_CXX
+++ /dev/null
@@ -1,8 +0,0 @@
-.\" $FreeBSD$
-Do not build
-.Xr c++ 1
-and related libraries.
-It will also prevent building of
-.Xr gperf 1
-and
-.Xr devd 8 .
diff --git a/tools/build/options/WITHOUT_DEBUG_FILES b/tools/build/options/WITHOUT_DEBUG_FILES
index f9169afccf2a..710e629528eb 100644
--- a/tools/build/options/WITHOUT_DEBUG_FILES
+++ b/tools/build/options/WITHOUT_DEBUG_FILES
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Avoid building or installing standalone debug files for each
executable binary and shared library.
diff --git a/tools/build/options/WITHOUT_DIALOG b/tools/build/options/WITHOUT_DIALOG
index 792b2bede32a..92b744b10d2a 100644
--- a/tools/build/options/WITHOUT_DIALOG
+++ b/tools/build/options/WITHOUT_DIALOG
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr dialog 1 ,
.Xr dialog 3 ,
diff --git a/tools/build/options/WITHOUT_DICT b/tools/build/options/WITHOUT_DICT
index 86a8523122e8..ea5c8a973348 100644
--- a/tools/build/options/WITHOUT_DICT
+++ b/tools/build/options/WITHOUT_DICT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build the Webster dictionary files.
diff --git a/tools/build/options/WITHOUT_DMAGENT b/tools/build/options/WITHOUT_DMAGENT
index 3195ce07ecc3..223dd0340f4c 100644
--- a/tools/build/options/WITHOUT_DMAGENT
+++ b/tools/build/options/WITHOUT_DMAGENT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build dma Mail Transport Agent.
diff --git a/tools/build/options/WITHOUT_DOCCOMPRESS b/tools/build/options/WITHOUT_DOCCOMPRESS
index c1db65c598c2..71a9ead56119 100644
--- a/tools/build/options/WITHOUT_DOCCOMPRESS
+++ b/tools/build/options/WITHOUT_DOCCOMPRESS
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not install compressed system documentation.
Only the uncompressed version will be installed.
diff --git a/tools/build/options/WITHOUT_DTRACE b/tools/build/options/WITHOUT_DTRACE
new file mode 100644
index 000000000000..2109b294ea66
--- /dev/null
+++ b/tools/build/options/WITHOUT_DTRACE
@@ -0,0 +1 @@
+Do not build DTrace framework kernel modules, libraries, and user commands.
diff --git a/tools/build/options/WITHOUT_DYNAMICROOT b/tools/build/options/WITHOUT_DYNAMICROOT
index b10f0f2bb269..52d4f522ba94 100644
--- a/tools/build/options/WITHOUT_DYNAMICROOT
+++ b/tools/build/options/WITHOUT_DYNAMICROOT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set this if you do not want to link
.Pa /bin
and
diff --git a/tools/build/options/WITHOUT_EE b/tools/build/options/WITHOUT_EE
index 4295cd6ddbc2..b3f78e92a396 100644
--- a/tools/build/options/WITHOUT_EE
+++ b/tools/build/options/WITHOUT_EE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build and install
.Xr edit 1 ,
.Xr ee 1 ,
diff --git a/tools/build/options/WITHOUT_EFI b/tools/build/options/WITHOUT_EFI
index 3d080eb6448f..45c8319a6fff 100644
--- a/tools/build/options/WITHOUT_EFI
+++ b/tools/build/options/WITHOUT_EFI
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set not to build
.Xr efivar 3
and
diff --git a/tools/build/options/WITHOUT_ELFTOOLCHAIN_BOOTSTRAP b/tools/build/options/WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
index 45c92aea4b90..e717c0a3b7cf 100644
--- a/tools/build/options/WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
+++ b/tools/build/options/WITHOUT_ELFTOOLCHAIN_BOOTSTRAP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build ELF Tool Chain tools
(addr2line, nm, size, strings and strip)
as part of the bootstrap process.
diff --git a/tools/build/options/WITHOUT_EXAMPLES b/tools/build/options/WITHOUT_EXAMPLES
index 88fb243eafac..d4d004a70854 100644
--- a/tools/build/options/WITHOUT_EXAMPLES
+++ b/tools/build/options/WITHOUT_EXAMPLES
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Avoid installing examples to
.Pa /usr/share/examples/ .
diff --git a/tools/build/options/WITHOUT_FDT b/tools/build/options/WITHOUT_FDT
index bf22c5012413..2136cb39b816 100644
--- a/tools/build/options/WITHOUT_FDT
+++ b/tools/build/options/WITHOUT_FDT
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build Flattened Device Tree support as part of the base system.
This includes the device tree compiler (dtc) and libfdt support library.
diff --git a/tools/build/options/WITHOUT_FILE b/tools/build/options/WITHOUT_FILE
index 67859bd6ded1..f97b844304f9 100644
--- a/tools/build/options/WITHOUT_FILE
+++ b/tools/build/options/WITHOUT_FILE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr file 1
and related programs.
diff --git a/tools/build/options/WITHOUT_FINGER b/tools/build/options/WITHOUT_FINGER
index d42161245478..23de0e346ae8 100644
--- a/tools/build/options/WITHOUT_FINGER
+++ b/tools/build/options/WITHOUT_FINGER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build or install
.Xr finger 1
and
diff --git a/tools/build/options/WITHOUT_FLOPPY b/tools/build/options/WITHOUT_FLOPPY
index 324081f993f1..1988d598f2f2 100644
--- a/tools/build/options/WITHOUT_FLOPPY
+++ b/tools/build/options/WITHOUT_FLOPPY
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build or install programs
for operating floppy disk driver.
diff --git a/tools/build/options/WITHOUT_FORMAT_EXTENSIONS b/tools/build/options/WITHOUT_FORMAT_EXTENSIONS
index 05ae981f7b9c..f3c127fb34d7 100644
--- a/tools/build/options/WITHOUT_FORMAT_EXTENSIONS
+++ b/tools/build/options/WITHOUT_FORMAT_EXTENSIONS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not enable
.Fl fformat-extensions
when compiling the kernel.
diff --git a/tools/build/options/WITHOUT_FORTH b/tools/build/options/WITHOUT_FORTH
index dd3de7d18e91..8d35969a0377 100644
--- a/tools/build/options/WITHOUT_FORTH
+++ b/tools/build/options/WITHOUT_FORTH
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build bootloaders without Forth support.
diff --git a/tools/build/options/WITHOUT_FP_LIBC b/tools/build/options/WITHOUT_FP_LIBC
index a2975088c6cf..c92a9f82fcaf 100644
--- a/tools/build/options/WITHOUT_FP_LIBC
+++ b/tools/build/options/WITHOUT_FP_LIBC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build
.Nm libc
without floating-point support.
diff --git a/tools/build/options/WITHOUT_FREEBSD_UPDATE b/tools/build/options/WITHOUT_FREEBSD_UPDATE
index 61638b7f35ac..6565d1fdfd7f 100644
--- a/tools/build/options/WITHOUT_FREEBSD_UPDATE
+++ b/tools/build/options/WITHOUT_FREEBSD_UPDATE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr freebsd-update 8 .
diff --git a/tools/build/options/WITHOUT_FTP b/tools/build/options/WITHOUT_FTP
index e037640b59f0..2e55ccc46ef6 100644
--- a/tools/build/options/WITHOUT_FTP
+++ b/tools/build/options/WITHOUT_FTP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build or install
.Xr ftp 1
and
diff --git a/tools/build/options/WITHOUT_GAMES b/tools/build/options/WITHOUT_GAMES
index 7102c377e07c..18db1f66d7ba 100644
--- a/tools/build/options/WITHOUT_GAMES
+++ b/tools/build/options/WITHOUT_GAMES
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build games.
diff --git a/tools/build/options/WITHOUT_GCC b/tools/build/options/WITHOUT_GCC
index 927765bfdc69..b380b606ddaf 100644
--- a/tools/build/options/WITHOUT_GCC
+++ b/tools/build/options/WITHOUT_GCC
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build and install gcc and g++ as part of the normal build process.
diff --git a/tools/build/options/WITHOUT_GCC_BOOTSTRAP b/tools/build/options/WITHOUT_GCC_BOOTSTRAP
index 88820cf67e05..6d4dccde0850 100644
--- a/tools/build/options/WITHOUT_GCC_BOOTSTRAP
+++ b/tools/build/options/WITHOUT_GCC_BOOTSTRAP
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build gcc and g++ as part of the bootstrap process.
diff --git a/tools/build/options/WITHOUT_GCOV b/tools/build/options/WITHOUT_GCOV
index 0857788db2ff..bad9fdfb0aa5 100644
--- a/tools/build/options/WITHOUT_GCOV
+++ b/tools/build/options/WITHOUT_GCOV
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the
.Xr gcov 1
tool.
diff --git a/tools/build/options/WITHOUT_GDB b/tools/build/options/WITHOUT_GDB
index 1d99903fb3fc..3dd68198af96 100644
--- a/tools/build/options/WITHOUT_GDB
+++ b/tools/build/options/WITHOUT_GDB
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr gdb 1 .
diff --git a/tools/build/options/WITHOUT_GH_BC b/tools/build/options/WITHOUT_GH_BC
index a1f2c070831e..2618257ec71d 100644
--- a/tools/build/options/WITHOUT_GH_BC
+++ b/tools/build/options/WITHOUT_GH_BC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Install the traditional FreeBSD
.Xr bc 1
and
diff --git a/tools/build/options/WITHOUT_GNU_DIFF b/tools/build/options/WITHOUT_GNU_DIFF
index a929b9686da9..889e878668f6 100644
--- a/tools/build/options/WITHOUT_GNU_DIFF
+++ b/tools/build/options/WITHOUT_GNU_DIFF
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build GNU
.Xr diff3 1 .
diff --git a/tools/build/options/WITHOUT_GOOGLETEST b/tools/build/options/WITHOUT_GOOGLETEST
index fca54e882561..58bcdb93a3e4 100644
--- a/tools/build/options/WITHOUT_GOOGLETEST
+++ b/tools/build/options/WITHOUT_GOOGLETEST
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Neither build nor install
.Lb libgmock ,
.Lb libgtest ,
diff --git a/tools/build/options/WITHOUT_GPIO b/tools/build/options/WITHOUT_GPIO
index 70b3673bb5db..aa35adf2e739 100644
--- a/tools/build/options/WITHOUT_GPIO
+++ b/tools/build/options/WITHOUT_GPIO
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr gpioctl 8
as part of the base system.
diff --git a/tools/build/options/WITHOUT_GSSAPI b/tools/build/options/WITHOUT_GSSAPI
index 1f325a64d249..3b208b6edecd 100644
--- a/tools/build/options/WITHOUT_GSSAPI
+++ b/tools/build/options/WITHOUT_GSSAPI
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build libgssapi.
diff --git a/tools/build/options/WITHOUT_HAST b/tools/build/options/WITHOUT_HAST
index 975f56331ab1..50f59f0df129 100644
--- a/tools/build/options/WITHOUT_HAST
+++ b/tools/build/options/WITHOUT_HAST
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr hastd 8
and related utilities.
diff --git a/tools/build/options/WITHOUT_HTML b/tools/build/options/WITHOUT_HTML
index 04c1174f136f..9cb59261c8ab 100644
--- a/tools/build/options/WITHOUT_HTML
+++ b/tools/build/options/WITHOUT_HTML
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build HTML docs.
diff --git a/tools/build/options/WITHOUT_HYPERV b/tools/build/options/WITHOUT_HYPERV
index c717a4e943f8..bac59fa56466 100644
--- a/tools/build/options/WITHOUT_HYPERV
+++ b/tools/build/options/WITHOUT_HYPERV
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build or install HyperV utilities.
diff --git a/tools/build/options/WITHOUT_ICONV b/tools/build/options/WITHOUT_ICONV
index 3c887a415153..28be34d99987 100644
--- a/tools/build/options/WITHOUT_ICONV
+++ b/tools/build/options/WITHOUT_ICONV
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build iconv as part of libc.
diff --git a/tools/build/options/WITHOUT_INCLUDES b/tools/build/options/WITHOUT_INCLUDES
index da210a4f76f3..41545361ff05 100644
--- a/tools/build/options/WITHOUT_INCLUDES
+++ b/tools/build/options/WITHOUT_INCLUDES
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not install header files.
This option used to be spelled
.Va NO_INCS .
diff --git a/tools/build/options/WITHOUT_INET b/tools/build/options/WITHOUT_INET
index 79e493258017..b9f5781d1dee 100644
--- a/tools/build/options/WITHOUT_INET
+++ b/tools/build/options/WITHOUT_INET
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build programs and libraries related to IPv4 networking.
diff --git a/tools/build/options/WITHOUT_INET6 b/tools/build/options/WITHOUT_INET6
index a28a85691090..f41df46fe007 100644
--- a/tools/build/options/WITHOUT_INET6
+++ b/tools/build/options/WITHOUT_INET6
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
programs and libraries related to IPv6 networking.
diff --git a/tools/build/options/WITHOUT_INET6_SUPPORT b/tools/build/options/WITHOUT_INET6_SUPPORT
index e41e3d5baf1c..537ae5b59ddf 100644
--- a/tools/build/options/WITHOUT_INET6_SUPPORT
+++ b/tools/build/options/WITHOUT_INET6_SUPPORT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build libraries, programs, and kernel modules without IPv6 support.
diff --git a/tools/build/options/WITHOUT_INETD b/tools/build/options/WITHOUT_INETD
index 4d47f6e17c7a..94341c140b33 100644
--- a/tools/build/options/WITHOUT_INETD
+++ b/tools/build/options/WITHOUT_INETD
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr inetd 8 .
diff --git a/tools/build/options/WITHOUT_INET_SUPPORT b/tools/build/options/WITHOUT_INET_SUPPORT
index e5c0ded7d56b..167c3defd5d8 100644
--- a/tools/build/options/WITHOUT_INET_SUPPORT
+++ b/tools/build/options/WITHOUT_INET_SUPPORT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build libraries, programs, and kernel modules without IPv4 support.
diff --git a/tools/build/options/WITHOUT_INFO b/tools/build/options/WITHOUT_INFO
index 6900ca9cb315..d91aa1382580 100644
--- a/tools/build/options/WITHOUT_INFO
+++ b/tools/build/options/WITHOUT_INFO
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not make or install
.Xr info 5
files.
diff --git a/tools/build/options/WITHOUT_INSTALLLIB b/tools/build/options/WITHOUT_INSTALLLIB
index f499e9ddd837..dae81fb39868 100644
--- a/tools/build/options/WITHOUT_INSTALLLIB
+++ b/tools/build/options/WITHOUT_INSTALLLIB
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set this to not install optional libraries.
For example, when creating a
.Xr nanobsd 8
diff --git a/tools/build/options/WITHOUT_IPFILTER b/tools/build/options/WITHOUT_IPFILTER
index 4bdb201944fc..f1940348f6aa 100644
--- a/tools/build/options/WITHOUT_IPFILTER
+++ b/tools/build/options/WITHOUT_IPFILTER
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build IP Filter package.
diff --git a/tools/build/options/WITHOUT_IPFW b/tools/build/options/WITHOUT_IPFW
index 591973e57e12..45be98765c00 100644
--- a/tools/build/options/WITHOUT_IPFW
+++ b/tools/build/options/WITHOUT_IPFW
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build IPFW tools.
diff --git a/tools/build/options/WITHOUT_IPSEC_SUPPORT b/tools/build/options/WITHOUT_IPSEC_SUPPORT
index 03ab11bda522..09f6152528c4 100644
--- a/tools/build/options/WITHOUT_IPSEC_SUPPORT
+++ b/tools/build/options/WITHOUT_IPSEC_SUPPORT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the kernel with
.Xr ipsec 4
support.
diff --git a/tools/build/options/WITHOUT_ISCSI b/tools/build/options/WITHOUT_ISCSI
index 6d6e76b53891..6c3264098a9a 100644
--- a/tools/build/options/WITHOUT_ISCSI
+++ b/tools/build/options/WITHOUT_ISCSI
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr iscsid 8
and related utilities.
diff --git a/tools/build/options/WITHOUT_JAIL b/tools/build/options/WITHOUT_JAIL
index d47f0e944532..8e19446635ac 100644
--- a/tools/build/options/WITHOUT_JAIL
+++ b/tools/build/options/WITHOUT_JAIL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build tools for the support of jails; e.g.,
.Xr jail 8 .
diff --git a/tools/build/options/WITHOUT_KDUMP b/tools/build/options/WITHOUT_KDUMP
index 763a89fd28f2..939dc07d7505 100644
--- a/tools/build/options/WITHOUT_KDUMP
+++ b/tools/build/options/WITHOUT_KDUMP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr kdump 1
and
diff --git a/tools/build/options/WITHOUT_KERBEROS b/tools/build/options/WITHOUT_KERBEROS
index fab303b81aac..98e1ffe3721d 100644
--- a/tools/build/options/WITHOUT_KERBEROS
+++ b/tools/build/options/WITHOUT_KERBEROS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Set this to not build Kerberos 5 (KTH Heimdal).
diff --git a/tools/build/options/WITHOUT_KERBEROS_SUPPORT b/tools/build/options/WITHOUT_KERBEROS_SUPPORT
index 1a50b28678bc..36193f2c90c9 100644
--- a/tools/build/options/WITHOUT_KERBEROS_SUPPORT
+++ b/tools/build/options/WITHOUT_KERBEROS_SUPPORT
@@ -1,7 +1,5 @@
-.\" $FreeBSD$
Build some programs without Kerberos support, like
.Xr ssh 1 ,
.Xr telnet 1 ,
-.Xr sshd 8 ,
and
-.Xr telnetd 8 .
+.Xr sshd 8 .
diff --git a/tools/build/options/WITHOUT_KERNEL_RETPOLINE b/tools/build/options/WITHOUT_KERNEL_RETPOLINE
index 83dd6edfbeac..71b739616313 100644
--- a/tools/build/options/WITHOUT_KERNEL_RETPOLINE
+++ b/tools/build/options/WITHOUT_KERNEL_RETPOLINE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Disable the "retpoline" mitigation for CVE-2017-5715 in the kernel
build.
diff --git a/tools/build/options/WITHOUT_KERNEL_SYMBOLS b/tools/build/options/WITHOUT_KERNEL_SYMBOLS
index 33fa2c4f1c97..2cb77260b86a 100644
--- a/tools/build/options/WITHOUT_KERNEL_SYMBOLS
+++ b/tools/build/options/WITHOUT_KERNEL_SYMBOLS
@@ -1,2 +1,2 @@
-.\" $FreeBSD$
-Do not install kernel debug symbol files.
+Do not install standalone kernel debug symbol files.
+This option has no effect at build time.
diff --git a/tools/build/options/WITHOUT_KVM b/tools/build/options/WITHOUT_KVM
index 1700731ec421..a886999b4db1 100644
--- a/tools/build/options/WITHOUT_KVM
+++ b/tools/build/options/WITHOUT_KVM
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the
.Nm libkvm
library as a part of the base system.
diff --git a/tools/build/options/WITHOUT_KVM_SUPPORT b/tools/build/options/WITHOUT_KVM_SUPPORT
index b2da6c5a3e0a..319d3ee09b39 100644
--- a/tools/build/options/WITHOUT_KVM_SUPPORT
+++ b/tools/build/options/WITHOUT_KVM_SUPPORT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build some programs without optional
.Nm libkvm
support.
diff --git a/tools/build/options/WITHOUT_LDNS b/tools/build/options/WITHOUT_LDNS
index 446d3e82e91d..ec3846faf6d8 100644
--- a/tools/build/options/WITHOUT_LDNS
+++ b/tools/build/options/WITHOUT_LDNS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Setting this variable will prevent the LDNS library from being built.
diff --git a/tools/build/options/WITHOUT_LDNS_UTILS b/tools/build/options/WITHOUT_LDNS_UTILS
index f061f01db4ae..1e06528fa0f8 100644
--- a/tools/build/options/WITHOUT_LDNS_UTILS
+++ b/tools/build/options/WITHOUT_LDNS_UTILS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Setting this variable will prevent building the LDNS utilities
.Xr drill 1
and
diff --git a/tools/build/options/WITHOUT_LEGACY_CONSOLE b/tools/build/options/WITHOUT_LEGACY_CONSOLE
index 69f5eb5b8f40..32a853ce08d8 100644
--- a/tools/build/options/WITHOUT_LEGACY_CONSOLE
+++ b/tools/build/options/WITHOUT_LEGACY_CONSOLE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build programs that support a legacy PC console; e.g.,
.Xr kbdcontrol 1
and
diff --git a/tools/build/options/WITHOUT_LIB32 b/tools/build/options/WITHOUT_LIB32
index 62a1046c976f..3d9a4133f461 100644
--- a/tools/build/options/WITHOUT_LIB32
+++ b/tools/build/options/WITHOUT_LIB32
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
On 64-bit platforms, do not build 32-bit library set and a
.Nm ld-elf32.so.1
runtime linker.
diff --git a/tools/build/options/WITHOUT_LLD b/tools/build/options/WITHOUT_LLD
index 519eca7572c2..bd070495d3df 100644
--- a/tools/build/options/WITHOUT_LLD
+++ b/tools/build/options/WITHOUT_LLD
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build LLVM's lld linker.
diff --git a/tools/build/options/WITHOUT_LLDB b/tools/build/options/WITHOUT_LLDB
index db9b98aaf93a..06c9bb05ae7d 100644
--- a/tools/build/options/WITHOUT_LLDB
+++ b/tools/build/options/WITHOUT_LLDB
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build the LLDB debugger.
diff --git a/tools/build/options/WITHOUT_LLD_BOOTSTRAP b/tools/build/options/WITHOUT_LLD_BOOTSTRAP
index 0995ef549de4..7bf808709237 100644
--- a/tools/build/options/WITHOUT_LLD_BOOTSTRAP
+++ b/tools/build/options/WITHOUT_LLD_BOOTSTRAP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the LLD linker during the bootstrap phase of
the build.
To be able to build the system an alternate linker must be provided via XLD.
diff --git a/tools/build/options/WITHOUT_LLD_IS_LD b/tools/build/options/WITHOUT_LLD_IS_LD
deleted file mode 100644
index 8ca789dfdc45..000000000000
--- a/tools/build/options/WITHOUT_LLD_IS_LD
+++ /dev/null
@@ -1,7 +0,0 @@
-.\" $FreeBSD$
-Do not install a
-.Pa /usr/bin/ld symlink
-to
-.Pa ld.lld .
-The system will not have a usable tool chain unless a linker is provided
-some other way.
diff --git a/tools/build/options/WITHOUT_LLVM_ASSERTIONS b/tools/build/options/WITHOUT_LLVM_ASSERTIONS
index b4f07b0bb1f2..12d54b8ba3a4 100644
--- a/tools/build/options/WITHOUT_LLVM_ASSERTIONS
+++ b/tools/build/options/WITHOUT_LLVM_ASSERTIONS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Disable debugging assertions in LLVM.
diff --git a/tools/build/options/WITHOUT_LLVM_COV b/tools/build/options/WITHOUT_LLVM_COV
index 84ca9e8a5a0d..d95e76ddf659 100644
--- a/tools/build/options/WITHOUT_LLVM_COV
+++ b/tools/build/options/WITHOUT_LLVM_COV
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the
.Xr llvm-cov 1
tool.
diff --git a/tools/build/options/WITHOUT_LLVM_CXXFILT b/tools/build/options/WITHOUT_LLVM_CXXFILT
index e729f6c4c8e0..e7d263f01f2a 100644
--- a/tools/build/options/WITHOUT_LLVM_CXXFILT
+++ b/tools/build/options/WITHOUT_LLVM_CXXFILT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Install ELF Tool Chain's cxxfilt as c++filt, instead of LLVM's llvm-cxxfilt.
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_AARCH64 b/tools/build/options/WITHOUT_LLVM_TARGET_AARCH64
index 4306b30dd37b..7133fbaeb8ab 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_AARCH64
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_AARCH64
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for AArch64.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_ALL b/tools/build/options/WITHOUT_LLVM_TARGET_ALL
index 0b399aac209e..d6cd1bfbddbe 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_ALL
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_ALL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Only build the required LLVM target support.
This option is preferred to specific target support options.
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_ARM b/tools/build/options/WITHOUT_LLVM_TARGET_ARM
index f89d26ae3940..cb6fa2226e01 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_ARM
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_ARM
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for ARM.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_MIPS b/tools/build/options/WITHOUT_LLVM_TARGET_MIPS
index baa15094f01c..2b8218b2c8c4 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_MIPS
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_MIPS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for MIPS.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_POWERPC b/tools/build/options/WITHOUT_LLVM_TARGET_POWERPC
index e44801c94ba2..c0c98a6e07d5 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_POWERPC
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_POWERPC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for PowerPC.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_RISCV b/tools/build/options/WITHOUT_LLVM_TARGET_RISCV
index 408a87195016..7d724c94a663 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_RISCV
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_RISCV
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for RISC-V.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_SPARC b/tools/build/options/WITHOUT_LLVM_TARGET_SPARC
index dda7019210d1..4da802ad0312 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_SPARC
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_SPARC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for SPARC.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LLVM_TARGET_X86 b/tools/build/options/WITHOUT_LLVM_TARGET_X86
index 447b28736a45..4d4deae50dc8 100644
--- a/tools/build/options/WITHOUT_LLVM_TARGET_X86
+++ b/tools/build/options/WITHOUT_LLVM_TARGET_X86
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build LLVM target support for X86.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITHOUT_LOADER_GELI b/tools/build/options/WITHOUT_LOADER_GELI
index 114bea6bfe0d..1c95120afe56 100644
--- a/tools/build/options/WITHOUT_LOADER_GELI
+++ b/tools/build/options/WITHOUT_LOADER_GELI
@@ -1,2 +1 @@
-.\" $FreeBSD$
Disable inclusion of GELI crypto support in the boot chain binaries.
diff --git a/tools/build/options/WITHOUT_LOADER_KBOOT b/tools/build/options/WITHOUT_LOADER_KBOOT
new file mode 100644
index 000000000000..075c5ffe86dc
--- /dev/null
+++ b/tools/build/options/WITHOUT_LOADER_KBOOT
@@ -0,0 +1 @@
+Do not build kboot, a linuxboot environment loader
diff --git a/tools/build/options/WITHOUT_LOADER_LUA b/tools/build/options/WITHOUT_LOADER_LUA
index 217cb24d0761..4514025eb209 100644
--- a/tools/build/options/WITHOUT_LOADER_LUA
+++ b/tools/build/options/WITHOUT_LOADER_LUA
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build LUA bindings for the boot loader.
diff --git a/tools/build/options/WITHOUT_LOADER_OFW b/tools/build/options/WITHOUT_LOADER_OFW
index d28ddcb73e81..fa2f5e58998a 100644
--- a/tools/build/options/WITHOUT_LOADER_OFW
+++ b/tools/build/options/WITHOUT_LOADER_OFW
@@ -1,2 +1 @@
-.\" $FreeBSD$
Disable building of openfirmware bootloader components.
diff --git a/tools/build/options/WITHOUT_LOADER_UBOOT b/tools/build/options/WITHOUT_LOADER_UBOOT
index 7f6a3bb49962..d2920b9fbdd3 100644
--- a/tools/build/options/WITHOUT_LOADER_UBOOT
+++ b/tools/build/options/WITHOUT_LOADER_UBOOT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Disable building of ubldr.
diff --git a/tools/build/options/WITHOUT_LOADER_ZFS b/tools/build/options/WITHOUT_LOADER_ZFS
index 78d1f1ae6e75..01e9f7b55f4a 100644
--- a/tools/build/options/WITHOUT_LOADER_ZFS
+++ b/tools/build/options/WITHOUT_LOADER_ZFS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build ZFS file system boot loader support.
diff --git a/tools/build/options/WITHOUT_LOCALES b/tools/build/options/WITHOUT_LOCALES
index aa035b783d96..74750ad8d0d0 100644
--- a/tools/build/options/WITHOUT_LOCALES
+++ b/tools/build/options/WITHOUT_LOCALES
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build localization files; see
.Xr locale 1 .
diff --git a/tools/build/options/WITHOUT_LOCATE b/tools/build/options/WITHOUT_LOCATE
index 016666f24033..be292d83a9a5 100644
--- a/tools/build/options/WITHOUT_LOCATE
+++ b/tools/build/options/WITHOUT_LOCATE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr locate 1
and related programs.
diff --git a/tools/build/options/WITHOUT_LPR b/tools/build/options/WITHOUT_LPR
index 8bf1a265b176..24145dbe34a1 100644
--- a/tools/build/options/WITHOUT_LPR
+++ b/tools/build/options/WITHOUT_LPR
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr lpr 1
and related programs.
diff --git a/tools/build/options/WITHOUT_LS_COLORS b/tools/build/options/WITHOUT_LS_COLORS
index 479f55f2235b..0d4a910ac4ef 100644
--- a/tools/build/options/WITHOUT_LS_COLORS
+++ b/tools/build/options/WITHOUT_LS_COLORS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build
.Xr ls 1
without support for colors to distinguish file types.
diff --git a/tools/build/options/WITHOUT_MACHDEP_OPTIMIZATIONS b/tools/build/options/WITHOUT_MACHDEP_OPTIMIZATIONS
new file mode 100644
index 000000000000..1c596c998504
--- /dev/null
+++ b/tools/build/options/WITHOUT_MACHDEP_OPTIMIZATIONS
@@ -0,0 +1 @@
+Prefer machine-independent non-assembler code in libc and libm.
diff --git a/tools/build/options/WITHOUT_MAIL b/tools/build/options/WITHOUT_MAIL
index c10acb64f792..774a45ba8113 100644
--- a/tools/build/options/WITHOUT_MAIL
+++ b/tools/build/options/WITHOUT_MAIL
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build any mail support (MUA or MTA).
diff --git a/tools/build/options/WITHOUT_MAILWRAPPER b/tools/build/options/WITHOUT_MAILWRAPPER
index ce8fa0e395ed..29bd1fdf0693 100644
--- a/tools/build/options/WITHOUT_MAILWRAPPER
+++ b/tools/build/options/WITHOUT_MAILWRAPPER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the
.Xr mailwrapper 8
MTA selector.
diff --git a/tools/build/options/WITHOUT_MAKE b/tools/build/options/WITHOUT_MAKE
index 3de8ad73d28c..263f4e5b756c 100644
--- a/tools/build/options/WITHOUT_MAKE
+++ b/tools/build/options/WITHOUT_MAKE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not install
.Xr make 1
and related support files.
diff --git a/tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX b/tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX
index 0d9d06a69931..477f08fe8b2f 100644
--- a/tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX
+++ b/tools/build/options/WITHOUT_MAKE_CHECK_USE_SANDBOX
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not execute
.Dq Li "make check"
in limited sandbox mode.
diff --git a/tools/build/options/WITHOUT_MALLOC_PRODUCTION b/tools/build/options/WITHOUT_MALLOC_PRODUCTION
index 25ea84b59c3c..57b8ab574f93 100644
--- a/tools/build/options/WITHOUT_MALLOC_PRODUCTION
+++ b/tools/build/options/WITHOUT_MALLOC_PRODUCTION
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Enable assertions and statistics gathering in
.Xr malloc 3 .
It also defaults the A and J runtime options to on.
diff --git a/tools/build/options/WITHOUT_MAN b/tools/build/options/WITHOUT_MAN
index 1379508c2627..85548df0e28a 100644
--- a/tools/build/options/WITHOUT_MAN
+++ b/tools/build/options/WITHOUT_MAN
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build manual pages.
diff --git a/tools/build/options/WITHOUT_MANCOMPRESS b/tools/build/options/WITHOUT_MANCOMPRESS
index af1e318116b4..20251d589f68 100644
--- a/tools/build/options/WITHOUT_MANCOMPRESS
+++ b/tools/build/options/WITHOUT_MANCOMPRESS
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not install compressed man pages.
Only the uncompressed versions will be installed.
diff --git a/tools/build/options/WITHOUT_MANSPLITPKG b/tools/build/options/WITHOUT_MANSPLITPKG
new file mode 100644
index 000000000000..a9913308d411
--- /dev/null
+++ b/tools/build/options/WITHOUT_MANSPLITPKG
@@ -0,0 +1 @@
+Do not split man pages into their own packages during make package.
diff --git a/tools/build/options/WITHOUT_MAN_UTILS b/tools/build/options/WITHOUT_MAN_UTILS
index c80206c830c8..3ae2af3377c7 100644
--- a/tools/build/options/WITHOUT_MAN_UTILS
+++ b/tools/build/options/WITHOUT_MAN_UTILS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build utilities for manual pages,
.Xr apropos 1 ,
.Xr makewhatis 1 ,
diff --git a/tools/build/options/WITHOUT_MLX5TOOL b/tools/build/options/WITHOUT_MLX5TOOL
index 267c32f6029d..fbb76736bb5a 100644
--- a/tools/build/options/WITHOUT_MLX5TOOL
+++ b/tools/build/options/WITHOUT_MLX5TOOL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr mlx5tool 8
diff --git a/tools/build/options/WITHOUT_MODULE_DRM b/tools/build/options/WITHOUT_MODULE_DRM
index f588566edb45..ac354ec8a130 100644
--- a/tools/build/options/WITHOUT_MODULE_DRM
+++ b/tools/build/options/WITHOUT_MODULE_DRM
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Disable creation of old drm video modules.
diff --git a/tools/build/options/WITHOUT_MODULE_DRM2 b/tools/build/options/WITHOUT_MODULE_DRM2
index 44d401d87619..43291115ada8 100644
--- a/tools/build/options/WITHOUT_MODULE_DRM2
+++ b/tools/build/options/WITHOUT_MODULE_DRM2
@@ -1,2 +1 @@
-.\" $FreeBSD$
Disable creation of old drm2 video modules.
diff --git a/tools/build/options/WITHOUT_NCP b/tools/build/options/WITHOUT_NCP
index 82c891304612..c381de4e00c0 100644
--- a/tools/build/options/WITHOUT_NCP
+++ b/tools/build/options/WITHOUT_NCP
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build programs, libraries, and kernel modules
related to NetWare Core protocol.
diff --git a/tools/build/options/WITHOUT_NETCAT b/tools/build/options/WITHOUT_NETCAT
index c89abf1522b7..e68b2ac61e38 100644
--- a/tools/build/options/WITHOUT_NETCAT
+++ b/tools/build/options/WITHOUT_NETCAT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr nc 1
utility.
diff --git a/tools/build/options/WITHOUT_NETGRAPH b/tools/build/options/WITHOUT_NETGRAPH
index 27488f45ddc9..fefcbcfb82c2 100644
--- a/tools/build/options/WITHOUT_NETGRAPH
+++ b/tools/build/options/WITHOUT_NETGRAPH
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build applications to support
.Xr netgraph 4 .
diff --git a/tools/build/options/WITHOUT_NETGRAPH_SUPPORT b/tools/build/options/WITHOUT_NETGRAPH_SUPPORT
index 15d409e5493a..a51da58cac52 100644
--- a/tools/build/options/WITHOUT_NETGRAPH_SUPPORT
+++ b/tools/build/options/WITHOUT_NETGRAPH_SUPPORT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build libraries, programs, and kernel modules without netgraph support.
diff --git a/tools/build/options/WITHOUT_NETLINK b/tools/build/options/WITHOUT_NETLINK
new file mode 100644
index 000000000000..8b698239b10a
--- /dev/null
+++ b/tools/build/options/WITHOUT_NETLINK
@@ -0,0 +1,3 @@
+Do not build
+.Xr genl 1
+utility.
diff --git a/tools/build/options/WITHOUT_NETLINK_SUPPORT b/tools/build/options/WITHOUT_NETLINK_SUPPORT
new file mode 100644
index 000000000000..d7147c91e358
--- /dev/null
+++ b/tools/build/options/WITHOUT_NETLINK_SUPPORT
@@ -0,0 +1,4 @@
+Make libraries and programs use rtsock and
+.Xr sysctl 3
+interfaces instead of
+.Xr snl 3 .
diff --git a/tools/build/options/WITHOUT_NIS b/tools/build/options/WITHOUT_NIS
index 0d72227cda3c..90cecbe76451 100644
--- a/tools/build/options/WITHOUT_NIS
+++ b/tools/build/options/WITHOUT_NIS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr NIS 8
support and related programs.
diff --git a/tools/build/options/WITHOUT_NLS b/tools/build/options/WITHOUT_NLS
index cba7dcd89e45..125b0b302c61 100644
--- a/tools/build/options/WITHOUT_NLS
+++ b/tools/build/options/WITHOUT_NLS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build NLS catalogs.
diff --git a/tools/build/options/WITHOUT_NLS_CATALOGS b/tools/build/options/WITHOUT_NLS_CATALOGS
index a066e4705ec9..a22e9fec2252 100644
--- a/tools/build/options/WITHOUT_NLS_CATALOGS
+++ b/tools/build/options/WITHOUT_NLS_CATALOGS
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build NLS catalog support for
.Xr csh 1 .
diff --git a/tools/build/options/WITHOUT_NS_CACHING b/tools/build/options/WITHOUT_NS_CACHING
index 9a2739d4f2b3..212dcca27bc5 100644
--- a/tools/build/options/WITHOUT_NS_CACHING
+++ b/tools/build/options/WITHOUT_NS_CACHING
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Disable name caching in the
.Pa nsswitch
subsystem.
diff --git a/tools/build/options/WITHOUT_NTP b/tools/build/options/WITHOUT_NTP
index 0b8e38c44373..884068ce89e5 100644
--- a/tools/build/options/WITHOUT_NTP
+++ b/tools/build/options/WITHOUT_NTP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr ntpd 8
and related programs.
diff --git a/tools/build/options/WITHOUT_NUAGEINIT b/tools/build/options/WITHOUT_NUAGEINIT
new file mode 100644
index 000000000000..14a17ce0ed5b
--- /dev/null
+++ b/tools/build/options/WITHOUT_NUAGEINIT
@@ -0,0 +1 @@
+Do not install the limited cloud init support scripts.
diff --git a/tools/build/options/WITHOUT_NVME b/tools/build/options/WITHOUT_NVME
index 507f708cd697..9669deb2ed9e 100644
--- a/tools/build/options/WITHOUT_NVME
+++ b/tools/build/options/WITHOUT_NVME
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build nvme related tools and kernel modules.
diff --git a/tools/build/options/WITHOUT_OFED b/tools/build/options/WITHOUT_OFED
index 63cb5b94eb28..8c38242cb1b8 100644
--- a/tools/build/options/WITHOUT_OFED
+++ b/tools/build/options/WITHOUT_OFED
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
-Disable the build of the
+Do not build the
.Dq "OpenFabrics Enterprise Distribution"
-Infiniband software stack, including kernel modules and userspace libraries.
+InfiniBand software stack, including kernel modules and userspace libraries.
diff --git a/tools/build/options/WITHOUT_OPENMP b/tools/build/options/WITHOUT_OPENMP
index f7474b698fe8..65fe9f21f67d 100644
--- a/tools/build/options/WITHOUT_OPENMP
+++ b/tools/build/options/WITHOUT_OPENMP
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build LLVM's OpenMP runtime.
diff --git a/tools/build/options/WITHOUT_OPENSSH b/tools/build/options/WITHOUT_OPENSSH
index 7f13fb891b8c..a1f8f03a829b 100644
--- a/tools/build/options/WITHOUT_OPENSSH
+++ b/tools/build/options/WITHOUT_OPENSSH
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build OpenSSH.
diff --git a/tools/build/options/WITHOUT_OPENSSL b/tools/build/options/WITHOUT_OPENSSL
index 88cced32ade8..b5a41130ed43 100644
--- a/tools/build/options/WITHOUT_OPENSSL
+++ b/tools/build/options/WITHOUT_OPENSSL
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build OpenSSL.
diff --git a/tools/build/options/WITHOUT_PAM b/tools/build/options/WITHOUT_PAM
index a980bba139bf..37c399bb7a18 100644
--- a/tools/build/options/WITHOUT_PAM
+++ b/tools/build/options/WITHOUT_PAM
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build PAM library and modules.
.Bf -symbolic
This option is deprecated and does nothing.
diff --git a/tools/build/options/WITHOUT_PAM_SUPPORT b/tools/build/options/WITHOUT_PAM_SUPPORT
index 047f3719ea7f..323a83cf6192 100644
--- a/tools/build/options/WITHOUT_PAM_SUPPORT
+++ b/tools/build/options/WITHOUT_PAM_SUPPORT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build some programs without PAM support, particularly
.Xr ftpd 8
and
diff --git a/tools/build/options/WITHOUT_PF b/tools/build/options/WITHOUT_PF
index 6b23d559f19d..097b89b0d55e 100644
--- a/tools/build/options/WITHOUT_PF
+++ b/tools/build/options/WITHOUT_PF
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build PF firewall package.
diff --git a/tools/build/options/WITHOUT_PIE b/tools/build/options/WITHOUT_PIE
index 69cc4843587f..08d08c283e02 100644
--- a/tools/build/options/WITHOUT_PIE
+++ b/tools/build/options/WITHOUT_PIE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build dynamically linked binaries as
Position-Independent Executable (PIE).
diff --git a/tools/build/options/WITHOUT_PKGBOOTSTRAP b/tools/build/options/WITHOUT_PKGBOOTSTRAP
index 14bfcc05f14c..35a0f4fcf2a4 100644
--- a/tools/build/options/WITHOUT_PKGBOOTSTRAP
+++ b/tools/build/options/WITHOUT_PKGBOOTSTRAP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr pkg 7
bootstrap tool.
diff --git a/tools/build/options/WITHOUT_PMC b/tools/build/options/WITHOUT_PMC
index c8027bf3a3d3..a5f14731b1a3 100644
--- a/tools/build/options/WITHOUT_PMC
+++ b/tools/build/options/WITHOUT_PMC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr pmccontrol 8
and related programs.
diff --git a/tools/build/options/WITHOUT_PORTSNAP b/tools/build/options/WITHOUT_PORTSNAP
deleted file mode 100644
index 8b023fd65251..000000000000
--- a/tools/build/options/WITHOUT_PORTSNAP
+++ /dev/null
@@ -1,4 +0,0 @@
-.\" $FreeBSD$
-Do not build or install
-.Xr portsnap 8
-and related files.
diff --git a/tools/build/options/WITHOUT_PPP b/tools/build/options/WITHOUT_PPP
index ce7161243bff..7610634abe0f 100644
--- a/tools/build/options/WITHOUT_PPP
+++ b/tools/build/options/WITHOUT_PPP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr ppp 8
and related programs.
diff --git a/tools/build/options/WITHOUT_PROFILE b/tools/build/options/WITHOUT_PROFILE
index 7fdb12c94cdd..6d543e6241a4 100644
--- a/tools/build/options/WITHOUT_PROFILE
+++ b/tools/build/options/WITHOUT_PROFILE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build profiled libraries for use with
.Xr gprof 8 .
diff --git a/tools/build/options/WITHOUT_PTHREADS_ASSERTIONS b/tools/build/options/WITHOUT_PTHREADS_ASSERTIONS
new file mode 100644
index 000000000000..b0961fa43cb6
--- /dev/null
+++ b/tools/build/options/WITHOUT_PTHREADS_ASSERTIONS
@@ -0,0 +1 @@
+Disable debugging assertions in pthreads library.
diff --git a/tools/build/options/WITHOUT_QUOTAS b/tools/build/options/WITHOUT_QUOTAS
index a79bf5dd839a..1914ee676d02 100644
--- a/tools/build/options/WITHOUT_QUOTAS
+++ b/tools/build/options/WITHOUT_QUOTAS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr quota 1
and related programs.
diff --git a/tools/build/options/WITHOUT_RADIUS_SUPPORT b/tools/build/options/WITHOUT_RADIUS_SUPPORT
index 6d1a97de1baa..4b203a7af23d 100644
--- a/tools/build/options/WITHOUT_RADIUS_SUPPORT
+++ b/tools/build/options/WITHOUT_RADIUS_SUPPORT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build radius support into various applications, like
.Xr pam_radius 8
and
diff --git a/tools/build/options/WITHOUT_RBOOTD b/tools/build/options/WITHOUT_RBOOTD
index fd331607328d..4f4b38747ec7 100644
--- a/tools/build/options/WITHOUT_RBOOTD
+++ b/tools/build/options/WITHOUT_RBOOTD
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build or install
.Xr rbootd 8 .
diff --git a/tools/build/options/WITHOUT_RELRO b/tools/build/options/WITHOUT_RELRO
new file mode 100644
index 000000000000..f5b661f5916d
--- /dev/null
+++ b/tools/build/options/WITHOUT_RELRO
@@ -0,0 +1,4 @@
+Do not apply the Relocation Read-Only (RELRO) vulnerability mitigation.
+See also the
+.Va BIND_NOW
+option.
diff --git a/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD b/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD
index b858e389fee4..feabaed77fb1 100644
--- a/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD
+++ b/tools/build/options/WITHOUT_REPRODUCIBLE_BUILD
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Include build metadata (such as the build time, user, and host)
in the kernel, boot loaders, and uname output.
Successive builds will not be bit-for-bit identical.
diff --git a/tools/build/options/WITHOUT_RESCUE b/tools/build/options/WITHOUT_RESCUE
index 9b71cd0de3f2..5a6e80c3d733 100644
--- a/tools/build/options/WITHOUT_RESCUE
+++ b/tools/build/options/WITHOUT_RESCUE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
.Xr rescue 8 .
diff --git a/tools/build/options/WITHOUT_RETPOLINE b/tools/build/options/WITHOUT_RETPOLINE
index 693cce921be1..f918e88294dd 100644
--- a/tools/build/options/WITHOUT_RETPOLINE
+++ b/tools/build/options/WITHOUT_RETPOLINE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build the base system with the retpoline speculative execution
vulnerability mitigation.
diff --git a/tools/build/options/WITHOUT_ROUTED b/tools/build/options/WITHOUT_ROUTED
index 199c1cd85ddf..e388acf795a4 100644
--- a/tools/build/options/WITHOUT_ROUTED
+++ b/tools/build/options/WITHOUT_ROUTED
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr routed 8
utility.
diff --git a/tools/build/options/WITHOUT_SCTP_SUPPORT b/tools/build/options/WITHOUT_SCTP_SUPPORT
new file mode 100644
index 000000000000..0829dbeca49d
--- /dev/null
+++ b/tools/build/options/WITHOUT_SCTP_SUPPORT
@@ -0,0 +1,4 @@
+Disable support in the kernel for the
+.Xr sctp 4
+Stream Control Transmission Protocol
+loadable kernel module.
diff --git a/tools/build/options/WITHOUT_SENDMAIL b/tools/build/options/WITHOUT_SENDMAIL
index db99666a2696..ef93e3ae7d2b 100644
--- a/tools/build/options/WITHOUT_SENDMAIL
+++ b/tools/build/options/WITHOUT_SENDMAIL
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr sendmail 8
and related programs.
diff --git a/tools/build/options/WITHOUT_SERVICESDB b/tools/build/options/WITHOUT_SERVICESDB
index c603ec0ba123..fc0e76d8a0a1 100644
--- a/tools/build/options/WITHOUT_SERVICESDB
+++ b/tools/build/options/WITHOUT_SERVICESDB
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not install
.Pa /var/db/services.db .
diff --git a/tools/build/options/WITHOUT_SETUID_LOGIN b/tools/build/options/WITHOUT_SETUID_LOGIN
index af073b322947..e1e60432911b 100644
--- a/tools/build/options/WITHOUT_SETUID_LOGIN
+++ b/tools/build/options/WITHOUT_SETUID_LOGIN
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set this to disable the installation of
.Xr login 1
as a set-user-ID root program.
diff --git a/tools/build/options/WITHOUT_SHAREDOCS b/tools/build/options/WITHOUT_SHAREDOCS
index 6b99e2a09984..b162e005ed5b 100644
--- a/tools/build/options/WITHOUT_SHAREDOCS
+++ b/tools/build/options/WITHOUT_SHAREDOCS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build the
.Bx 4.4
legacy docs.
diff --git a/tools/build/options/WITHOUT_SHARED_TOOLCHAIN b/tools/build/options/WITHOUT_SHARED_TOOLCHAIN
deleted file mode 100644
index 86e309028c21..000000000000
--- a/tools/build/options/WITHOUT_SHARED_TOOLCHAIN
+++ /dev/null
@@ -1,6 +0,0 @@
-.\" $FreeBSD$
-Build the toolchain binaries as statically linked executables.
-The set includes
-.Xr cc 1 ,
-.Xr make 1
-and necessary utilities like assembler, linker and library archive manager.
diff --git a/tools/build/options/WITHOUT_SOURCELESS b/tools/build/options/WITHOUT_SOURCELESS
index 18bf0fc91a42..e60af5c6049e 100644
--- a/tools/build/options/WITHOUT_SOURCELESS
+++ b/tools/build/options/WITHOUT_SOURCELESS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build kernel modules that include sourceless code (either microcode or native code for host CPU).
diff --git a/tools/build/options/WITHOUT_SOURCELESS_HOST b/tools/build/options/WITHOUT_SOURCELESS_HOST
index 26e043fc11e5..d79198407f93 100644
--- a/tools/build/options/WITHOUT_SOURCELESS_HOST
+++ b/tools/build/options/WITHOUT_SOURCELESS_HOST
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build kernel modules that include sourceless native code for host CPU.
diff --git a/tools/build/options/WITHOUT_SOURCELESS_UCODE b/tools/build/options/WITHOUT_SOURCELESS_UCODE
index c05e76f74fa6..f92bcadf3f03 100644
--- a/tools/build/options/WITHOUT_SOURCELESS_UCODE
+++ b/tools/build/options/WITHOUT_SOURCELESS_UCODE
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build kernel modules that include sourceless microcode.
diff --git a/tools/build/options/WITHOUT_SPLIT_KERNEL_DEBUG b/tools/build/options/WITHOUT_SPLIT_KERNEL_DEBUG
new file mode 100644
index 000000000000..a23bcd5ffdb6
--- /dev/null
+++ b/tools/build/options/WITHOUT_SPLIT_KERNEL_DEBUG
@@ -0,0 +1,3 @@
+Do not build standalone kernel debug files.
+Debug data (if enabled by the kernel configuration file)
+will be included in the kernel and modules.
diff --git a/tools/build/options/WITHOUT_SSP b/tools/build/options/WITHOUT_SSP
index 7f9dac0d7620..88162cecf14a 100644
--- a/tools/build/options/WITHOUT_SSP
+++ b/tools/build/options/WITHOUT_SSP
@@ -1,2 +1 @@
-.\" $FreeBSD$
-Do not build world with propolice stack smashing protection.
+Do not build world with stack smashing protection.
diff --git a/tools/build/options/WITHOUT_STATS b/tools/build/options/WITHOUT_STATS
index 9f741abeab3f..3ab566e21b77 100644
--- a/tools/build/options/WITHOUT_STATS
+++ b/tools/build/options/WITHOUT_STATS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Neither build nor install
.Lb libstats
and dependent binaries.
diff --git a/tools/build/options/WITHOUT_SYSCONS b/tools/build/options/WITHOUT_SYSCONS
index 5bb435a0653b..6da49cda50d8 100644
--- a/tools/build/options/WITHOUT_SYSCONS
+++ b/tools/build/options/WITHOUT_SYSCONS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr syscons 4
support files such as keyboard maps, fonts, and screen output maps.
diff --git a/tools/build/options/WITHOUT_SYSTEM_COMPILER b/tools/build/options/WITHOUT_SYSTEM_COMPILER
index 0bcf771e572b..c70ea201b9d7 100644
--- a/tools/build/options/WITHOUT_SYSTEM_COMPILER
+++ b/tools/build/options/WITHOUT_SYSTEM_COMPILER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not opportunistically skip building a cross-compiler during the
bootstrap phase of the build.
Normally, if the currently installed compiler matches the planned bootstrap
diff --git a/tools/build/options/WITHOUT_SYSTEM_LINKER b/tools/build/options/WITHOUT_SYSTEM_LINKER
index 4b9019dfefda..0af1a627b47d 100644
--- a/tools/build/options/WITHOUT_SYSTEM_LINKER
+++ b/tools/build/options/WITHOUT_SYSTEM_LINKER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not opportunistically skip building a cross-linker during the
bootstrap phase of the build.
Normally, if the currently installed linker matches the planned bootstrap
diff --git a/tools/build/options/WITHOUT_TALK b/tools/build/options/WITHOUT_TALK
index 21d103bde0c1..894fabf59d07 100644
--- a/tools/build/options/WITHOUT_TALK
+++ b/tools/build/options/WITHOUT_TALK
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build or install
.Xr talk 1
and
diff --git a/tools/build/options/WITHOUT_TCP_WRAPPERS b/tools/build/options/WITHOUT_TCP_WRAPPERS
index e63d5b3bb7fb..b30a17f65af4 100644
--- a/tools/build/options/WITHOUT_TCP_WRAPPERS
+++ b/tools/build/options/WITHOUT_TCP_WRAPPERS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build or install
.Xr tcpd 8 ,
and related utilities.
diff --git a/tools/build/options/WITHOUT_TCSH b/tools/build/options/WITHOUT_TCSH
index 96aa699012e9..6041c141e723 100644
--- a/tools/build/options/WITHOUT_TCSH
+++ b/tools/build/options/WITHOUT_TCSH
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build and install
.Pa /bin/csh
(which is
diff --git a/tools/build/options/WITHOUT_TELNET b/tools/build/options/WITHOUT_TELNET
index d08f84d96b1c..323d20398458 100644
--- a/tools/build/options/WITHOUT_TELNET
+++ b/tools/build/options/WITHOUT_TELNET
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr telnet 1
and related programs.
diff --git a/tools/build/options/WITHOUT_TESTS b/tools/build/options/WITHOUT_TESTS
index ed90ff41584c..e9b7e4ec1bb0 100644
--- a/tools/build/options/WITHOUT_TESTS
+++ b/tools/build/options/WITHOUT_TESTS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build nor install the
.Fx
Test Suite in
diff --git a/tools/build/options/WITHOUT_TESTS_SUPPORT b/tools/build/options/WITHOUT_TESTS_SUPPORT
index cd86942ad9e3..35c331dbd1de 100644
--- a/tools/build/options/WITHOUT_TESTS_SUPPORT
+++ b/tools/build/options/WITHOUT_TESTS_SUPPORT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Disable the build of all test-related dependencies, including ATF.
diff --git a/tools/build/options/WITHOUT_TEXTPROC b/tools/build/options/WITHOUT_TEXTPROC
index 7797d997fb5d..e8e60bb9d7d9 100644
--- a/tools/build/options/WITHOUT_TEXTPROC
+++ b/tools/build/options/WITHOUT_TEXTPROC
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Do not build
programs used for text processing.
diff --git a/tools/build/options/WITHOUT_TFTP b/tools/build/options/WITHOUT_TFTP
index a64128ec4b2e..59a8158f0ce1 100644
--- a/tools/build/options/WITHOUT_TFTP
+++ b/tools/build/options/WITHOUT_TFTP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build or install
.Xr tftp 1
and
diff --git a/tools/build/options/WITHOUT_TOOLCHAIN b/tools/build/options/WITHOUT_TOOLCHAIN
index 57deb32a51f7..7445b3f45ba5 100644
--- a/tools/build/options/WITHOUT_TOOLCHAIN
+++ b/tools/build/options/WITHOUT_TOOLCHAIN
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
-Do not install header or
+Do not install
programs used for program development,
compilers, debuggers etc.
diff --git a/tools/build/options/WITHOUT_UNBOUND b/tools/build/options/WITHOUT_UNBOUND
index 10c2e85616ae..ec4be1c1d0b4 100644
--- a/tools/build/options/WITHOUT_UNBOUND
+++ b/tools/build/options/WITHOUT_UNBOUND
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr unbound 8
and related programs.
diff --git a/tools/build/options/WITHOUT_UNDEFINED_VERSION b/tools/build/options/WITHOUT_UNDEFINED_VERSION
new file mode 100644
index 000000000000..0e58eb00f3c1
--- /dev/null
+++ b/tools/build/options/WITHOUT_UNDEFINED_VERSION
@@ -0,0 +1,2 @@
+Link libraries with --no-undefined-version to ensure all symbols are
+provided.
diff --git a/tools/build/options/WITHOUT_UNIFIED_OBJDIR b/tools/build/options/WITHOUT_UNIFIED_OBJDIR
index 840196941da4..1214c1e24d9d 100644
--- a/tools/build/options/WITHOUT_UNIFIED_OBJDIR
+++ b/tools/build/options/WITHOUT_UNIFIED_OBJDIR
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Use the historical object directory format for
.Xr build 7
targets.
@@ -9,7 +8,8 @@ while for cross-builds
.Pa ${MAKEOBJDIRPREFIX}/${TARGET}.${TARGET_ARCH}/${.CURDIR}
is used.
.Pp
-This option is transitional and will be removed before the 12.0 release,
+This option is transitional and will be removed in a future version of
+.Fx ,
at which time
-.va WITH_UNIFIED_OBJDIR
+.Va WITH_UNIFIED_OBJDIR
will be enabled permanently.
diff --git a/tools/build/options/WITHOUT_USB b/tools/build/options/WITHOUT_USB
index 37308951226b..80a61453124a 100644
--- a/tools/build/options/WITHOUT_USB
+++ b/tools/build/options/WITHOUT_USB
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build USB-related programs and libraries.
diff --git a/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES b/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES
index d8b54b061177..d535ab1f2f0d 100644
--- a/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES
+++ b/tools/build/options/WITHOUT_USB_GADGET_EXAMPLES
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build USB gadget kernel modules.
diff --git a/tools/build/options/WITHOUT_UTMPX b/tools/build/options/WITHOUT_UTMPX
index eb2f378fef68..e0c122824aa7 100644
--- a/tools/build/options/WITHOUT_UTMPX
+++ b/tools/build/options/WITHOUT_UTMPX
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build user accounting tools such as
.Xr last 1 ,
.Xr users 1 ,
diff --git a/tools/build/options/WITHOUT_VI b/tools/build/options/WITHOUT_VI
index 19b2df6935b3..0d8af3e0deaa 100644
--- a/tools/build/options/WITHOUT_VI
+++ b/tools/build/options/WITHOUT_VI
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build and install vi, view, ex and related programs.
diff --git a/tools/build/options/WITHOUT_VT b/tools/build/options/WITHOUT_VT
index c07a9e56f0e0..120a21dfa743 100644
--- a/tools/build/options/WITHOUT_VT
+++ b/tools/build/options/WITHOUT_VT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build
.Xr vt 4
support files (fonts and keymaps).
diff --git a/tools/build/options/WITHOUT_WARNS b/tools/build/options/WITHOUT_WARNS
index a0c1339e7dc4..a5a1126a6a82 100644
--- a/tools/build/options/WITHOUT_WARNS
+++ b/tools/build/options/WITHOUT_WARNS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set this to not add warning flags to the compiler invocations.
Useful as a temporary workaround when code enters the tree
which triggers warnings in environments that differ from the
diff --git a/tools/build/options/WITHOUT_WERROR b/tools/build/options/WITHOUT_WERROR
index 84a4c6b06967..9c4580b5c38c 100644
--- a/tools/build/options/WITHOUT_WERROR
+++ b/tools/build/options/WITHOUT_WERROR
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Set this to not treat compiler warnings as errors.
Useful as a temporary workaround when working on fixing compiler warnings.
When set, warnings are still printed in the build log but do not fail the build.
diff --git a/tools/build/options/WITHOUT_WIRELESS b/tools/build/options/WITHOUT_WIRELESS
index 7eae3735c8e6..435e6ee4ec25 100644
--- a/tools/build/options/WITHOUT_WIRELESS
+++ b/tools/build/options/WITHOUT_WIRELESS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Do not build programs used for 802.11 wireless networks; especially
.Xr wpa_supplicant 8
and
diff --git a/tools/build/options/WITHOUT_WIRELESS_SUPPORT b/tools/build/options/WITHOUT_WIRELESS_SUPPORT
index 1d07092e10d7..85fed614e8f7 100644
--- a/tools/build/options/WITHOUT_WIRELESS_SUPPORT
+++ b/tools/build/options/WITHOUT_WIRELESS_SUPPORT
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build libraries, programs, and kernel modules without
802.11 wireless support.
diff --git a/tools/build/options/WITHOUT_WPA_SUPPLICANT_EAPOL b/tools/build/options/WITHOUT_WPA_SUPPLICANT_EAPOL
index d895ef93127d..77a3f163d285 100644
--- a/tools/build/options/WITHOUT_WPA_SUPPLICANT_EAPOL
+++ b/tools/build/options/WITHOUT_WPA_SUPPLICANT_EAPOL
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build
.Xr wpa_supplicant 8
without support for the IEEE 802.1X protocol and without
diff --git a/tools/build/options/WITHOUT_ZFS b/tools/build/options/WITHOUT_ZFS
index 3c809e54cfaa..5598293f102e 100644
--- a/tools/build/options/WITHOUT_ZFS
+++ b/tools/build/options/WITHOUT_ZFS
@@ -1,2 +1,8 @@
-.\" $FreeBSD$
-Do not build ZFS file system kernel module, libraries, and user commands.
+Do not build the ZFS file system kernel module, libraries such as
+.Xr libbe 3 ,
+and user commands such as
+.Xr zpool 8
+or
+.Xr zfs 8 .
+Also disable ZFS support in utilities and libraries which implement
+ZFS-specific functionality.
diff --git a/tools/build/options/WITHOUT_ZONEINFO b/tools/build/options/WITHOUT_ZONEINFO
index 647a10daf612..f6bc81da967b 100644
--- a/tools/build/options/WITHOUT_ZONEINFO
+++ b/tools/build/options/WITHOUT_ZONEINFO
@@ -1,2 +1 @@
-.\" $FreeBSD$
Do not build the timezone database.
diff --git a/tools/build/options/WITH_AUTO_OBJ b/tools/build/options/WITH_AUTO_OBJ
index 9f2e2db3617a..7765af40e40e 100644
--- a/tools/build/options/WITH_AUTO_OBJ
+++ b/tools/build/options/WITH_AUTO_OBJ
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable automatic creation of objdirs.
diff --git a/tools/build/options/WITH_BEARSSL b/tools/build/options/WITH_BEARSSL
index e89ab8570c17..6a4447d723ed 100644
--- a/tools/build/options/WITH_BEARSSL
+++ b/tools/build/options/WITH_BEARSSL
@@ -1,9 +1,8 @@
-.\" $FreeBSD$
Build the BearSSL library.
.Pp
BearSSL is a tiny SSL library suitable for embedded environments.
For details see
-.Lk http://www.BearSSL.org/
+.Lk https://www.BearSSL.org/
.Pp
This library is currently only used to perform
signature verification and related operations
diff --git a/tools/build/options/WITH_BHYVE_SNAPSHOT b/tools/build/options/WITH_BHYVE_SNAPSHOT
index 3f866d5fa69d..77a6c0031ddd 100644
--- a/tools/build/options/WITH_BHYVE_SNAPSHOT
+++ b/tools/build/options/WITH_BHYVE_SNAPSHOT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Include support for save and restore (snapshots) in
.Xr bhyve 8
and
diff --git a/tools/build/options/WITH_BIND_NOW b/tools/build/options/WITH_BIND_NOW
index 02e4c37352b4..d9b137c9d8cc 100644
--- a/tools/build/options/WITH_BIND_NOW
+++ b/tools/build/options/WITH_BIND_NOW
@@ -1,5 +1,11 @@
-.\" $FreeBSD$
Build all binaries with the
.Dv DF_BIND_NOW
flag set to indicate that the run-time loader should perform all relocation
processing at process startup rather than on demand.
+The combination of the
+.Va BIND_NOW
+and
+.Va RELRO
+options provide "full" Relocation Read-Only (RELRO) support.
+With full RELRO the entire GOT is made read-only after performing relocation at
+startup, avoiding GOT overwrite attacks.
diff --git a/tools/build/options/WITH_CCACHE_BUILD b/tools/build/options/WITH_CCACHE_BUILD
index 88b20db606e2..9e53769287e5 100644
--- a/tools/build/options/WITH_CCACHE_BUILD
+++ b/tools/build/options/WITH_CCACHE_BUILD
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Use
.Xr ccache 1
for the build.
diff --git a/tools/build/options/WITH_CLANG b/tools/build/options/WITH_CLANG
index 44226e778c36..ad75329e8820 100644
--- a/tools/build/options/WITH_CLANG
+++ b/tools/build/options/WITH_CLANG
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build the Clang C/C++ compiler during the normal phase of the build.
diff --git a/tools/build/options/WITH_CLANG_BOOTSTRAP b/tools/build/options/WITH_CLANG_BOOTSTRAP
index 0dfeaf9009be..8c1182d427ab 100644
--- a/tools/build/options/WITH_CLANG_BOOTSTRAP
+++ b/tools/build/options/WITH_CLANG_BOOTSTRAP
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build the Clang C/C++ compiler during the bootstrap phase of the build.
diff --git a/tools/build/options/WITH_CLANG_EXTRAS b/tools/build/options/WITH_CLANG_EXTRAS
index 389c994f086a..ea6d41c45f27 100644
--- a/tools/build/options/WITH_CLANG_EXTRAS
+++ b/tools/build/options/WITH_CLANG_EXTRAS
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build additional clang and llvm tools, such as bugpoint and
clang-format.
diff --git a/tools/build/options/WITH_CLANG_FORMAT b/tools/build/options/WITH_CLANG_FORMAT
index 24316a6e2e27..e08dc7e66ac1 100644
--- a/tools/build/options/WITH_CLANG_FORMAT
+++ b/tools/build/options/WITH_CLANG_FORMAT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build clang-format.
diff --git a/tools/build/options/WITH_CLANG_FULL b/tools/build/options/WITH_CLANG_FULL
index 3e78ad904e74..72d29c94009c 100644
--- a/tools/build/options/WITH_CLANG_FULL
+++ b/tools/build/options/WITH_CLANG_FULL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build the ARCMigrate, Rewriter and StaticAnalyzer components of the
Clang C/C++ compiler.
diff --git a/tools/build/options/WITH_CLANG_IS_CC b/tools/build/options/WITH_CLANG_IS_CC
deleted file mode 100644
index 9ab78c569dd2..000000000000
--- a/tools/build/options/WITH_CLANG_IS_CC
+++ /dev/null
@@ -1,6 +0,0 @@
-.\" $FreeBSD$
-Install links to the Clang C/C++ compiler as
-.Pa /usr/bin/cc ,
-.Pa /usr/bin/c++
-and
-.Pa /usr/bin/cpp .
diff --git a/tools/build/options/WITH_CTF b/tools/build/options/WITH_CTF
index a5d2f2c02922..a8a7ebac68f9 100644
--- a/tools/build/options/WITH_CTF
+++ b/tools/build/options/WITH_CTF
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Compile with CTF (Compact C Type Format) data.
CTF data encapsulates a reduced form of debugging information
similar to DWARF and the venerable stabs and is required for DTrace.
diff --git a/tools/build/options/WITH_CXGBETOOL b/tools/build/options/WITH_CXGBETOOL
index 53c379a2af15..5fbc8b5be1fc 100644
--- a/tools/build/options/WITH_CXGBETOOL
+++ b/tools/build/options/WITH_CXGBETOOL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build
.Xr cxgbetool 8
diff --git a/tools/build/options/WITH_CXX b/tools/build/options/WITH_CXX
index cc9d7d312845..ca71af977edc 100644
--- a/tools/build/options/WITH_CXX
+++ b/tools/build/options/WITH_CXX
@@ -1,4 +1 @@
-.\" $FreeBSD$
-Build
-.Xr c++ 1
-and related libraries.
+Build C++ headers and runtime libraries.
diff --git a/tools/build/options/WITH_DEBUG_FILES b/tools/build/options/WITH_DEBUG_FILES
index 9f476ce422ef..608f66735545 100644
--- a/tools/build/options/WITH_DEBUG_FILES
+++ b/tools/build/options/WITH_DEBUG_FILES
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Strip debug info into a separate file for each executable binary
and shared library.
The debug files will be placed in a subdirectory of
diff --git a/tools/build/options/WITH_DETECT_TZ_CHANGES b/tools/build/options/WITH_DETECT_TZ_CHANGES
index 6a2d18473892..dfd30b06931b 100644
--- a/tools/build/options/WITH_DETECT_TZ_CHANGES
+++ b/tools/build/options/WITH_DETECT_TZ_CHANGES
@@ -1,2 +1 @@
-.\" $FreeBSD$
Make the time handling code detect changes to the timezone files.
diff --git a/tools/build/options/WITH_DIALOG b/tools/build/options/WITH_DIALOG
new file mode 100644
index 000000000000..8b473b22e21e
--- /dev/null
+++ b/tools/build/options/WITH_DIALOG
@@ -0,0 +1,6 @@
+Do build
+.Xr dialog 1 ,
+.Xr dialog 3 ,
+.Xr dpv 1 ,
+and
+.Xr dpv 3 .
diff --git a/tools/build/options/WITH_DIRDEPS_BUILD b/tools/build/options/WITH_DIRDEPS_BUILD
index 38599cb96a4c..18630d3d1dd1 100644
--- a/tools/build/options/WITH_DIRDEPS_BUILD
+++ b/tools/build/options/WITH_DIRDEPS_BUILD
@@ -1,7 +1,6 @@
-.\" $FreeBSD$
-This is an experimental build system.
+This is an alternate build system.
For details see
-http://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
+https://www.crufty.net/sjg/docs/freebsd-meta-mode.htm.
Build commands can be seen from the top-level with:
.Dl make show-valid-targets
The build is driven by dirdeps.mk using
@@ -33,4 +32,11 @@ The build hides commands executed unless
is defined.
.Pp
Note that there is currently no mass install feature for this.
+This build is designed for producing packages, that can then be installed
+on a target system.
.Pp
+The implementation in
+.Fx
+is incomplete.
+Completion would require leaf directories for building each kernel
+and package so that their dependencies can be tracked.
diff --git a/tools/build/options/WITH_DIRDEPS_CACHE b/tools/build/options/WITH_DIRDEPS_CACHE
index e4fec026c7d3..82291fed1e96 100644
--- a/tools/build/options/WITH_DIRDEPS_CACHE
+++ b/tools/build/options/WITH_DIRDEPS_CACHE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Cache result of dirdeps.mk which can save significant time
for subsequent builds.
Depends on
diff --git a/tools/build/options/WITH_DISK_IMAGE_TOOLS_BOOTSTRAP b/tools/build/options/WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
new file mode 100644
index 000000000000..5f5fba2ea0a2
--- /dev/null
+++ b/tools/build/options/WITH_DISK_IMAGE_TOOLS_BOOTSTRAP
@@ -0,0 +1,6 @@
+Build
+.Xr etdump 1 ,
+.Xr makefs 8
+and
+.Xr mkimg 1
+as bootstrap tools.
diff --git a/tools/build/options/WITH_DTRACE_ASAN b/tools/build/options/WITH_DTRACE_ASAN
new file mode 100644
index 000000000000..4240aee4b89b
--- /dev/null
+++ b/tools/build/options/WITH_DTRACE_ASAN
@@ -0,0 +1,4 @@
+Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1))
+with address and undefined behavior sanitizers.
+Requires that Clang be used as the base system compiler
+and that the runtime support library is available.
diff --git a/tools/build/options/WITH_DTRACE_TESTS b/tools/build/options/WITH_DTRACE_TESTS
index 79c18167450e..0c84e310fd95 100644
--- a/tools/build/options/WITH_DTRACE_TESTS
+++ b/tools/build/options/WITH_DTRACE_TESTS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install the DTrace test suite in
.Pa /usr/tests/cddl/usr.sbin/dtrace .
This test suite is considered experimental on architectures other than
diff --git a/tools/build/options/WITH_EFI b/tools/build/options/WITH_EFI
index 99685733fdec..436f1954d592 100644
--- a/tools/build/options/WITH_EFI
+++ b/tools/build/options/WITH_EFI
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build
.Xr efivar 3
and
diff --git a/tools/build/options/WITH_EXPERIMENTAL b/tools/build/options/WITH_EXPERIMENTAL
index d854f2980dda..a5f41addee52 100644
--- a/tools/build/options/WITH_EXPERIMENTAL
+++ b/tools/build/options/WITH_EXPERIMENTAL
@@ -1,2 +1 @@
-.\" $FreeBSD$
Include experimental features in the build.
diff --git a/tools/build/options/WITH_EXTRA_TCP_STACKS b/tools/build/options/WITH_EXTRA_TCP_STACKS
deleted file mode 100644
index 03fec9881bc2..000000000000
--- a/tools/build/options/WITH_EXTRA_TCP_STACKS
+++ /dev/null
@@ -1,2 +0,0 @@
-.\" $FreeBSD$
-Build extra TCP stack modules.
diff --git a/tools/build/options/WITH_FDT b/tools/build/options/WITH_FDT
index 63484d91221e..102c56be241d 100644
--- a/tools/build/options/WITH_FDT
+++ b/tools/build/options/WITH_FDT
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build Flattened Device Tree support as part of the base system.
This includes the device tree compiler (dtc) and libfdt support library.
diff --git a/tools/build/options/WITH_GCC b/tools/build/options/WITH_GCC
index d4dfc3d17291..c6b38f6b1bf5 100644
--- a/tools/build/options/WITH_GCC
+++ b/tools/build/options/WITH_GCC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install gcc and g++.
This option is deprecated and will be removed before
.Fx 13 .
diff --git a/tools/build/options/WITH_GCC_BOOTSTRAP b/tools/build/options/WITH_GCC_BOOTSTRAP
index 2ba53112cd1c..90d5453d08c1 100644
--- a/tools/build/options/WITH_GCC_BOOTSTRAP
+++ b/tools/build/options/WITH_GCC_BOOTSTRAP
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build gcc and g++ as part of the bootstrap process.
This option is deprecated and will be removed before
.Fx 13 .
diff --git a/tools/build/options/WITH_GCOV b/tools/build/options/WITH_GCOV
index a9f3eb68a82b..a99e6df4161d 100644
--- a/tools/build/options/WITH_GCOV
+++ b/tools/build/options/WITH_GCOV
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install the GNU
.Xr gcov 1
tool.
diff --git a/tools/build/options/WITH_GDB b/tools/build/options/WITH_GDB
index f65058824794..effabf4f8ff0 100644
--- a/tools/build/options/WITH_GDB
+++ b/tools/build/options/WITH_GDB
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build
.Xr gdb 1 .
diff --git a/tools/build/options/WITH_GH_BC b/tools/build/options/WITH_GH_BC
index 9bc4445fe78f..e12092c03b99 100644
--- a/tools/build/options/WITH_GH_BC
+++ b/tools/build/options/WITH_GH_BC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Install the enhanced
.Xr bc 1
and
diff --git a/tools/build/options/WITH_GNU_DIFF b/tools/build/options/WITH_GNU_DIFF
index 41827190aa94..6ccea1c7f28e 100644
--- a/tools/build/options/WITH_GNU_DIFF
+++ b/tools/build/options/WITH_GNU_DIFF
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build and install GNU
.Xr diff3 1 .
diff --git a/tools/build/options/WITH_GOOGLETEST b/tools/build/options/WITH_GOOGLETEST
index 28a59d697bb7..53832de70619 100644
--- a/tools/build/options/WITH_GOOGLETEST
+++ b/tools/build/options/WITH_GOOGLETEST
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install
.Lb libgmock ,
.Lb libgtest ,
diff --git a/tools/build/options/WITH_HESIOD b/tools/build/options/WITH_HESIOD
index d42bde2f2aca..30eff2ddd4ef 100644
--- a/tools/build/options/WITH_HESIOD
+++ b/tools/build/options/WITH_HESIOD
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build Hesiod support.
diff --git a/tools/build/options/WITH_HYPERV b/tools/build/options/WITH_HYPERV
index 22d2728138d6..8cf3b5520422 100644
--- a/tools/build/options/WITH_HYPERV
+++ b/tools/build/options/WITH_HYPERV
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build or install HyperV utilities.
diff --git a/tools/build/options/WITH_INIT_ALL_PATTERN b/tools/build/options/WITH_INIT_ALL_PATTERN
deleted file mode 100644
index f84037cdbae4..000000000000
--- a/tools/build/options/WITH_INIT_ALL_PATTERN
+++ /dev/null
@@ -1,5 +0,0 @@
-.\" $FreeBSD$
-Build the base system or kernel with stack variables initialized to
-.Pq compiler defined
-debugging patterns on function entry.
-This option requires the clang compiler.
diff --git a/tools/build/options/WITH_INIT_ALL_ZERO b/tools/build/options/WITH_INIT_ALL_ZERO
deleted file mode 100644
index 046af704f268..000000000000
--- a/tools/build/options/WITH_INIT_ALL_ZERO
+++ /dev/null
@@ -1,4 +0,0 @@
-.\" $FreeBSD$
-Build the base system or kernel with stack variables initialized
-to zero on function entry.
-This option requires that the clang compiler be used.
diff --git a/tools/build/options/WITH_INSTALL_AS_USER b/tools/build/options/WITH_INSTALL_AS_USER
index 8e4a3f358429..9567b7162b2e 100644
--- a/tools/build/options/WITH_INSTALL_AS_USER
+++ b/tools/build/options/WITH_INSTALL_AS_USER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Make install targets succeed for non-root users by installing
files with owner and group attributes set to that of the user running
the
diff --git a/tools/build/options/WITH_KERNEL_BIN b/tools/build/options/WITH_KERNEL_BIN
new file mode 100644
index 000000000000..b5e008dbd6f0
--- /dev/null
+++ b/tools/build/options/WITH_KERNEL_BIN
@@ -0,0 +1,8 @@
+Generate and install kernel.bin from kernel as part of the normal build and
+install processes for the kernel. Available only on arm and arm64.
+
+Usually this will be added to the kernel config file with:
+
+makeoptions WITH_KERNEL_BIN=1
+
+though it can also be used on the command line.
diff --git a/tools/build/options/WITH_KERNEL_RETPOLINE b/tools/build/options/WITH_KERNEL_RETPOLINE
index 6d101d82593f..c682e5594470 100644
--- a/tools/build/options/WITH_KERNEL_RETPOLINE
+++ b/tools/build/options/WITH_KERNEL_RETPOLINE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Enable the "retpoline" mitigation for CVE-2017-5715 in the kernel
build.
diff --git a/tools/build/options/WITH_LIB32 b/tools/build/options/WITH_LIB32
new file mode 100644
index 000000000000..3c621483a60d
--- /dev/null
+++ b/tools/build/options/WITH_LIB32
@@ -0,0 +1,3 @@
+On 64-bit platforms, build the 32-bit library set and a
+.Nm ld-elf32.so.1
+runtime linker.
diff --git a/tools/build/options/WITH_LIBSOFT b/tools/build/options/WITH_LIBSOFT
index 81c66bdc700f..6fec6f3cb037 100644
--- a/tools/build/options/WITH_LIBSOFT
+++ b/tools/build/options/WITH_LIBSOFT
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
On armv6 only, enable soft float ABI compatibility libraries.
This option is for transitioning to the new hard float ABI.
diff --git a/tools/build/options/WITH_LLD b/tools/build/options/WITH_LLD
index fa863fbb18af..88bdcc34c49b 100644
--- a/tools/build/options/WITH_LLD
+++ b/tools/build/options/WITH_LLD
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build LLVM's lld linker.
diff --git a/tools/build/options/WITH_LLDB b/tools/build/options/WITH_LLDB
index b0287e08f69a..16e4b26f0239 100644
--- a/tools/build/options/WITH_LLDB
+++ b/tools/build/options/WITH_LLDB
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build the LLDB debugger.
diff --git a/tools/build/options/WITH_LLD_BOOTSTRAP b/tools/build/options/WITH_LLD_BOOTSTRAP
index 6539bb8a9779..87e333a6d6d7 100644
--- a/tools/build/options/WITH_LLD_BOOTSTRAP
+++ b/tools/build/options/WITH_LLD_BOOTSTRAP
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build the LLD linker during the bootstrap phase of the build,
and use it during buildworld and buildkernel.
diff --git a/tools/build/options/WITH_LLD_IS_LD b/tools/build/options/WITH_LLD_IS_LD
deleted file mode 100644
index 05f9c1d6ffe3..000000000000
--- a/tools/build/options/WITH_LLD_IS_LD
+++ /dev/null
@@ -1,2 +0,0 @@
-.\" $FreeBSD$
-Use LLVM's LLD as the system linker.
diff --git a/tools/build/options/WITH_LLVM_ASSERTIONS b/tools/build/options/WITH_LLVM_ASSERTIONS
index 26f20a3827b3..0e7fbfbda0a3 100644
--- a/tools/build/options/WITH_LLVM_ASSERTIONS
+++ b/tools/build/options/WITH_LLVM_ASSERTIONS
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable debugging assertions in LLVM.
diff --git a/tools/build/options/WITH_LLVM_BINUTILS b/tools/build/options/WITH_LLVM_BINUTILS
index 8fa2c55f31a9..164e6e8ffabd 100644
--- a/tools/build/options/WITH_LLVM_BINUTILS
+++ b/tools/build/options/WITH_LLVM_BINUTILS
@@ -1,2 +1,18 @@
-.\" $FreeBSD$
-Install LLVM's binutils (ar, addr2line, nm, etc.) instead of ELF Tool Chain's.
+Install LLVM's binutils (without an llvm- prefix),
+instead of ELF Tool Chain's tools.
+This includes
+.Xr addr2line 1 ,
+.Xr ar 1 ,
+.Xr nm 1 ,
+.Xr objcopy 1 ,
+.Xr ranlib 1 ,
+.Xr readelf 1 ,
+.Xr size 1 ,
+and
+.Xr strip 1 .
+Regardless of this setting, LLVM tools are used for
+.Xr c++filt 1
+and
+.Xr objdump 1 .
+.Xr strings 1
+is always provided by ELF Tool Chain.
diff --git a/tools/build/options/WITH_LLVM_COV b/tools/build/options/WITH_LLVM_COV
index 046199d81c35..8cfe078ee231 100644
--- a/tools/build/options/WITH_LLVM_COV
+++ b/tools/build/options/WITH_LLVM_COV
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build the
.Xr llvm-cov 1
tool.
diff --git a/tools/build/options/WITH_LLVM_CXXFILT b/tools/build/options/WITH_LLVM_CXXFILT
index e80c0e9c1f35..f6ac38b20af7 100644
--- a/tools/build/options/WITH_LLVM_CXXFILT
+++ b/tools/build/options/WITH_LLVM_CXXFILT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Install LLVM's llvm-cxxfilt as c++filt, instead of ELF Tool Chain's cxxfilt.
diff --git a/tools/build/options/WITH_LLVM_FULL_DEBUGINFO b/tools/build/options/WITH_LLVM_FULL_DEBUGINFO
new file mode 100644
index 000000000000..4362de9eb762
--- /dev/null
+++ b/tools/build/options/WITH_LLVM_FULL_DEBUGINFO
@@ -0,0 +1,2 @@
+Generate full debug information for LLVM libraries and tools, which uses
+more disk space and build resources, but allows for easier debugging.
diff --git a/tools/build/options/WITH_LLVM_TARGET_AARCH64 b/tools/build/options/WITH_LLVM_TARGET_AARCH64
index a1b4a3e4999a..4761f687b839 100644
--- a/tools/build/options/WITH_LLVM_TARGET_AARCH64
+++ b/tools/build/options/WITH_LLVM_TARGET_AARCH64
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for AArch64.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_ALL b/tools/build/options/WITH_LLVM_TARGET_ALL
index c2b744ece467..4345767b3350 100644
--- a/tools/build/options/WITH_LLVM_TARGET_ALL
+++ b/tools/build/options/WITH_LLVM_TARGET_ALL
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build support for all LLVM targets.
This option is always applied to the bootstrap compiler for buildworld when
LLVM is used.
diff --git a/tools/build/options/WITH_LLVM_TARGET_ARM b/tools/build/options/WITH_LLVM_TARGET_ARM
index 50bb47b9a104..5b2ef752ecda 100644
--- a/tools/build/options/WITH_LLVM_TARGET_ARM
+++ b/tools/build/options/WITH_LLVM_TARGET_ARM
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for ARM.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_BPF b/tools/build/options/WITH_LLVM_TARGET_BPF
index 1c01641de5a1..664cc85a52b9 100644
--- a/tools/build/options/WITH_LLVM_TARGET_BPF
+++ b/tools/build/options/WITH_LLVM_TARGET_BPF
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for BPF.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_MIPS b/tools/build/options/WITH_LLVM_TARGET_MIPS
index 2f625a5ede4b..4cc2a85cd34c 100644
--- a/tools/build/options/WITH_LLVM_TARGET_MIPS
+++ b/tools/build/options/WITH_LLVM_TARGET_MIPS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for MIPS.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_POWERPC b/tools/build/options/WITH_LLVM_TARGET_POWERPC
index 6c513e6cf20d..0ba82d255b8b 100644
--- a/tools/build/options/WITH_LLVM_TARGET_POWERPC
+++ b/tools/build/options/WITH_LLVM_TARGET_POWERPC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for PowerPC.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_RISCV b/tools/build/options/WITH_LLVM_TARGET_RISCV
index 6aa100ac010b..1ad61b787b33 100644
--- a/tools/build/options/WITH_LLVM_TARGET_RISCV
+++ b/tools/build/options/WITH_LLVM_TARGET_RISCV
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for RISC-V.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_SPARC b/tools/build/options/WITH_LLVM_TARGET_SPARC
index d0590c570f40..0d67602688de 100644
--- a/tools/build/options/WITH_LLVM_TARGET_SPARC
+++ b/tools/build/options/WITH_LLVM_TARGET_SPARC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for SPARC.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LLVM_TARGET_X86 b/tools/build/options/WITH_LLVM_TARGET_X86
index 48886740d414..2b7c2aff945a 100644
--- a/tools/build/options/WITH_LLVM_TARGET_X86
+++ b/tools/build/options/WITH_LLVM_TARGET_X86
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build LLVM target support for X86.
The
.Va LLVM_TARGET_ALL
diff --git a/tools/build/options/WITH_LOADER_BIOS_TEXTONLY b/tools/build/options/WITH_LOADER_BIOS_TEXTONLY
new file mode 100644
index 000000000000..08804c19c691
--- /dev/null
+++ b/tools/build/options/WITH_LOADER_BIOS_TEXTONLY
@@ -0,0 +1,3 @@
+Use the old, FreeBSD 12 vidconsole.c.
+This only supports text mode without teken, without any graphics, font or video mode support.
+This setting only affects the i386 and amd64 BIOS boot loader.
diff --git a/tools/build/options/WITH_LOADER_EFI_SECUREBOOT b/tools/build/options/WITH_LOADER_EFI_SECUREBOOT
index 6ba0e310448b..08c7dc774b31 100644
--- a/tools/build/options/WITH_LOADER_EFI_SECUREBOOT
+++ b/tools/build/options/WITH_LOADER_EFI_SECUREBOOT
@@ -1,5 +1,3 @@
-.\" $FreeBSD$
Enable building
.Xr loader 8
with support for verification based on certificates obtained from UEFI.
-.Pp
diff --git a/tools/build/options/WITH_LOADER_FIREWIRE b/tools/build/options/WITH_LOADER_FIREWIRE
deleted file mode 100644
index 0204357f4345..000000000000
--- a/tools/build/options/WITH_LOADER_FIREWIRE
+++ /dev/null
@@ -1,3 +0,0 @@
-.\" $FreeBSD$
-Enable firewire support in /boot/loader on x86.
-This option is a nop on all other platforms.
diff --git a/tools/build/options/WITH_LOADER_GELI b/tools/build/options/WITH_LOADER_GELI
index cf588dba70f3..e6a5f10112bd 100644
--- a/tools/build/options/WITH_LOADER_GELI
+++ b/tools/build/options/WITH_LOADER_GELI
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build GELI bootloader support.
diff --git a/tools/build/options/WITH_LOADER_KBOOT b/tools/build/options/WITH_LOADER_KBOOT
new file mode 100644
index 000000000000..46704afe83f7
--- /dev/null
+++ b/tools/build/options/WITH_LOADER_KBOOT
@@ -0,0 +1 @@
+Build kboot, a linuxboot environment loader
diff --git a/tools/build/options/WITH_LOADER_LUA b/tools/build/options/WITH_LOADER_LUA
index a20cf237af63..08e996d8d494 100644
--- a/tools/build/options/WITH_LOADER_LUA
+++ b/tools/build/options/WITH_LOADER_LUA
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build LUA bindings for the boot loader.
diff --git a/tools/build/options/WITH_LOADER_OFW b/tools/build/options/WITH_LOADER_OFW
index b050c06406f9..d6912709b690 100644
--- a/tools/build/options/WITH_LOADER_OFW
+++ b/tools/build/options/WITH_LOADER_OFW
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build openfirmware bootloader components.
diff --git a/tools/build/options/WITH_LOADER_UBOOT b/tools/build/options/WITH_LOADER_UBOOT
index 0750d635e495..437f452960f8 100644
--- a/tools/build/options/WITH_LOADER_UBOOT
+++ b/tools/build/options/WITH_LOADER_UBOOT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build ubldr.
diff --git a/tools/build/options/WITH_LOADER_VERBOSE b/tools/build/options/WITH_LOADER_VERBOSE
index 8c6064d86180..b06f88dce33e 100644
--- a/tools/build/options/WITH_LOADER_VERBOSE
+++ b/tools/build/options/WITH_LOADER_VERBOSE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build with extra verbose debugging in the loader.
May explode already nearly too large loader over the limit.
Use with care.
diff --git a/tools/build/options/WITH_LOADER_VERIEXEC b/tools/build/options/WITH_LOADER_VERIEXEC
index e44732075525..a50ff9a317e6 100644
--- a/tools/build/options/WITH_LOADER_VERIEXEC
+++ b/tools/build/options/WITH_LOADER_VERIEXEC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Enable building
.Xr loader 8
with support for verification similar to Verified Exec.
diff --git a/tools/build/options/WITH_LOADER_VERIEXEC_PASS_MANIFEST b/tools/build/options/WITH_LOADER_VERIEXEC_PASS_MANIFEST
index 32dd8525e824..b0a7e8f30975 100644
--- a/tools/build/options/WITH_LOADER_VERIEXEC_PASS_MANIFEST
+++ b/tools/build/options/WITH_LOADER_VERIEXEC_PASS_MANIFEST
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Enable building
.Xr loader 8
with support to pass a verified manifest to the kernel.
diff --git a/tools/build/options/WITH_LOADER_VERIEXEC_VECTX b/tools/build/options/WITH_LOADER_VERIEXEC_VECTX
new file mode 100644
index 000000000000..b1fc6c815ed8
--- /dev/null
+++ b/tools/build/options/WITH_LOADER_VERIEXEC_VECTX
@@ -0,0 +1,7 @@
+Enable building
+.Xr loader 8
+with support for hashing and verifying kernel and modules as a side effect
+of loading.
+.Pp
+Depends on
+.Va WITH_LOADER_VERIEXEC .
diff --git a/tools/build/options/WITH_MALLOC_PRODUCTION b/tools/build/options/WITH_MALLOC_PRODUCTION
index ae24de10ee7c..1a214ff805be 100644
--- a/tools/build/options/WITH_MALLOC_PRODUCTION
+++ b/tools/build/options/WITH_MALLOC_PRODUCTION
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Disable assertions and statistics gathering in
.Xr malloc 3 .
It also defaults the A and J runtime options to off.
diff --git a/tools/build/options/WITH_MANSPLITPKG b/tools/build/options/WITH_MANSPLITPKG
index be9280f90b61..3c04b590aade 100644
--- a/tools/build/options/WITH_MANSPLITPKG
+++ b/tools/build/options/WITH_MANSPLITPKG
@@ -1,2 +1 @@
-.\" $FreeBSD$
Split man pages into their own packages during make package.
diff --git a/tools/build/options/WITH_META_ERROR_TARGET b/tools/build/options/WITH_META_ERROR_TARGET
new file mode 100644
index 000000000000..25a7ea479e80
--- /dev/null
+++ b/tools/build/options/WITH_META_ERROR_TARGET
@@ -0,0 +1,13 @@
+Enable the META_MODE .ERROR target.
+.Pp
+This target will copy the meta file of a failed target
+to
+.Va ERROR_LOGDIR
+(default is
+.Ql ${SRCTOP:H}/error )
+to help with failure analysis.
+Depends on
+.Va WITH_META_MODE .
+This default when
+.Va WITH_DIRDEPS_BUILD
+is set.
diff --git a/tools/build/options/WITH_META_MODE b/tools/build/options/WITH_META_MODE
index a1c79b4ec6a2..a8a26e427f45 100644
--- a/tools/build/options/WITH_META_MODE
+++ b/tools/build/options/WITH_META_MODE
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Create
.Xr make 1
meta files when building, which can provide a reliable incremental build when
diff --git a/tools/build/options/WITH_MLX5TOOL b/tools/build/options/WITH_MLX5TOOL
index f0e45f321b47..2a6aea44bcfe 100644
--- a/tools/build/options/WITH_MLX5TOOL
+++ b/tools/build/options/WITH_MLX5TOOL
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build
.Xr mlx5tool 8
diff --git a/tools/build/options/WITH_MODULE_DRM b/tools/build/options/WITH_MODULE_DRM
index 0034dd6af550..bf74dd6d2a90 100644
--- a/tools/build/options/WITH_MODULE_DRM
+++ b/tools/build/options/WITH_MODULE_DRM
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable creation of old drm video modules.
diff --git a/tools/build/options/WITH_MODULE_DRM2 b/tools/build/options/WITH_MODULE_DRM2
index 68e304d48296..d7593a8d83ad 100644
--- a/tools/build/options/WITH_MODULE_DRM2
+++ b/tools/build/options/WITH_MODULE_DRM2
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable creation of old drm2 video modules.
diff --git a/tools/build/options/WITH_NETLINK b/tools/build/options/WITH_NETLINK
new file mode 100644
index 000000000000..a59f0650dc84
--- /dev/null
+++ b/tools/build/options/WITH_NETLINK
@@ -0,0 +1,3 @@
+Build the
+.Xr genl 1
+utility.
diff --git a/tools/build/options/WITH_NETLINK_SUPPORT b/tools/build/options/WITH_NETLINK_SUPPORT
new file mode 100644
index 000000000000..cf161db07218
--- /dev/null
+++ b/tools/build/options/WITH_NETLINK_SUPPORT
@@ -0,0 +1,4 @@
+Make libraries and programs use
+.Xr snl 3
+interfaces instead of rtsock and
+.Xr sysctl 3 .
diff --git a/tools/build/options/WITH_NVME b/tools/build/options/WITH_NVME
index 78814749cc78..053cfc568b10 100644
--- a/tools/build/options/WITH_NVME
+++ b/tools/build/options/WITH_NVME
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build nvme related tools and kernel modules.
diff --git a/tools/build/options/WITH_OFED b/tools/build/options/WITH_OFED
new file mode 100644
index 000000000000..5c978418f001
--- /dev/null
+++ b/tools/build/options/WITH_OFED
@@ -0,0 +1,3 @@
+Build the
+.Dq "OpenFabrics Enterprise Distribution"
+InfiniBand software stack, including kernel modules and userspace libraries.
diff --git a/tools/build/options/WITH_OFED_EXTRA b/tools/build/options/WITH_OFED_EXTRA
index ed3a9515bc8e..5c72c19ef799 100644
--- a/tools/build/options/WITH_OFED_EXTRA
+++ b/tools/build/options/WITH_OFED_EXTRA
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build the non-essential components of the
.Dq "OpenFabrics Enterprise Distribution"
Infiniband software stack, mostly examples.
diff --git a/tools/build/options/WITH_OPENLDAP b/tools/build/options/WITH_OPENLDAP
index c815e6160726..93c9b2c14269 100644
--- a/tools/build/options/WITH_OPENLDAP
+++ b/tools/build/options/WITH_OPENLDAP
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable building LDAP support for kerberos using an openldap client from ports.
diff --git a/tools/build/options/WITH_OPENMP b/tools/build/options/WITH_OPENMP
index 03158075daed..1219c46edce7 100644
--- a/tools/build/options/WITH_OPENMP
+++ b/tools/build/options/WITH_OPENMP
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build LLVM's OpenMP runtime.
diff --git a/tools/build/options/WITH_PIE b/tools/build/options/WITH_PIE
index c328a79e07cc..35430ef3d737 100644
--- a/tools/build/options/WITH_PIE
+++ b/tools/build/options/WITH_PIE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build dynamically linked binaries as
Position-Independent Executable (PIE).
diff --git a/tools/build/options/WITH_PROFILE b/tools/build/options/WITH_PROFILE
index 3f91c4394911..fa7a88e87d6a 100644
--- a/tools/build/options/WITH_PROFILE
+++ b/tools/build/options/WITH_PROFILE
@@ -1,5 +1,4 @@
-.\" $FreeBSD$
Build profiled libraries for use with
.Xr gprof 8 .
-This option is deprecated and is not present in
-.Fx 14 .
+This option is deprecated and may not be present in a future version of
+.Fx .
diff --git a/tools/build/options/WITH_RATELIMIT b/tools/build/options/WITH_RATELIMIT
index 0566fadcf22e..fb42dd7817c7 100644
--- a/tools/build/options/WITH_RATELIMIT
+++ b/tools/build/options/WITH_RATELIMIT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build the system with rate limit support.
.Pp
This makes
diff --git a/tools/build/options/WITH_RELRO b/tools/build/options/WITH_RELRO
new file mode 100644
index 000000000000..cfc344dd9cfe
--- /dev/null
+++ b/tools/build/options/WITH_RELRO
@@ -0,0 +1,5 @@
+Build all binaries with the Relocation Read-Only (RELRO) vulnerability
+mitigation applied.
+See also the
+.Va BIND_NOW
+option.
diff --git a/tools/build/options/WITH_REPRODUCIBLE_BUILD b/tools/build/options/WITH_REPRODUCIBLE_BUILD
index 22a615593699..46080d9ffd28 100644
--- a/tools/build/options/WITH_REPRODUCIBLE_BUILD
+++ b/tools/build/options/WITH_REPRODUCIBLE_BUILD
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Exclude build metadata (such as the build time, user, or host)
from the kernel, boot loaders, and uname output, so that builds produce
bit-for-bit identical output.
diff --git a/tools/build/options/WITH_RETPOLINE b/tools/build/options/WITH_RETPOLINE
index aa0019edaee3..f8e42dd54ccc 100644
--- a/tools/build/options/WITH_RETPOLINE
+++ b/tools/build/options/WITH_RETPOLINE
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build the base system with the retpoline speculative execution
vulnerability mitigation for CVE-2017-5715.
diff --git a/tools/build/options/WITH_RPCBIND_WARMSTART_SUPPORT b/tools/build/options/WITH_RPCBIND_WARMSTART_SUPPORT
index be1e4d1a3b91..7eba885cdd39 100644
--- a/tools/build/options/WITH_RPCBIND_WARMSTART_SUPPORT
+++ b/tools/build/options/WITH_RPCBIND_WARMSTART_SUPPORT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build
.Xr rpcbind 8
with warmstart support.
diff --git a/tools/build/options/WITH_SENDMAIL b/tools/build/options/WITH_SENDMAIL
index ca399c968fe1..7c74b81f5b30 100644
--- a/tools/build/options/WITH_SENDMAIL
+++ b/tools/build/options/WITH_SENDMAIL
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install
.Xr sendmail 8
and related programs.
diff --git a/tools/build/options/WITH_SHARED_TOOLCHAIN b/tools/build/options/WITH_SHARED_TOOLCHAIN
deleted file mode 100644
index 12956c3ff933..000000000000
--- a/tools/build/options/WITH_SHARED_TOOLCHAIN
+++ /dev/null
@@ -1,6 +0,0 @@
-.\" $FreeBSD$
-Build the toolchain binaries as dynamically linked executables.
-The set includes
-.Xr cc 1 ,
-.Xr make 1
-and necessary utilities like assembler, linker and library archive manager.
diff --git a/tools/build/options/WITH_SORT_THREADS b/tools/build/options/WITH_SORT_THREADS
index 0aa579b4b29a..f687157b352e 100644
--- a/tools/build/options/WITH_SORT_THREADS
+++ b/tools/build/options/WITH_SORT_THREADS
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Enable threads in
.Xr sort 1 .
diff --git a/tools/build/options/WITH_SSP b/tools/build/options/WITH_SSP
index 2f0c2c06c9dc..0088dd133782 100644
--- a/tools/build/options/WITH_SSP
+++ b/tools/build/options/WITH_SSP
@@ -1,2 +1 @@
-.\" $FreeBSD$
-Build world with propolice stack smashing protection.
+Build world with stack smashing protection.
diff --git a/tools/build/options/WITH_STAGING b/tools/build/options/WITH_STAGING
index e6bb304a5397..2ee71d1ea723 100644
--- a/tools/build/options/WITH_STAGING
+++ b/tools/build/options/WITH_STAGING
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Enable staging of files to a stage tree.
This can be best thought of as auto-install to
.Va DESTDIR
diff --git a/tools/build/options/WITH_STAGING_MAN b/tools/build/options/WITH_STAGING_MAN
index 5cd75abd98c2..5675c992ab67 100644
--- a/tools/build/options/WITH_STAGING_MAN
+++ b/tools/build/options/WITH_STAGING_MAN
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable staging of man pages to stage tree.
diff --git a/tools/build/options/WITH_STAGING_PROG b/tools/build/options/WITH_STAGING_PROG
index 2e401baac55f..716e08ff21af 100644
--- a/tools/build/options/WITH_STAGING_PROG
+++ b/tools/build/options/WITH_STAGING_PROG
@@ -1,2 +1 @@
-.\" $FreeBSD$
Enable staging of PROGs to stage tree.
diff --git a/tools/build/options/WITH_STALE_STAGED b/tools/build/options/WITH_STALE_STAGED
index 8bd874e5df98..2c80965809fe 100644
--- a/tools/build/options/WITH_STALE_STAGED
+++ b/tools/build/options/WITH_STALE_STAGED
@@ -1,2 +1 @@
-.\" $FreeBSD$
Check staged files are not stale.
diff --git a/tools/build/options/WITH_STATS b/tools/build/options/WITH_STATS
index 0ad24a169db2..2ab603935243 100644
--- a/tools/build/options/WITH_STATS
+++ b/tools/build/options/WITH_STATS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install
.Lb libstats
and dependent binaries.
diff --git a/tools/build/options/WITH_SYSROOT b/tools/build/options/WITH_SYSROOT
index 49a1f36320ec..4078a78cff44 100644
--- a/tools/build/options/WITH_SYSROOT
+++ b/tools/build/options/WITH_SYSROOT
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Enable use of sysroot during build.
Depends on
.Va WITH_DIRDEPS_BUILD .
diff --git a/tools/build/options/WITH_SYSTEM_COMPILER b/tools/build/options/WITH_SYSTEM_COMPILER
index 34818b8c9594..5dcb490b9d3c 100644
--- a/tools/build/options/WITH_SYSTEM_COMPILER
+++ b/tools/build/options/WITH_SYSTEM_COMPILER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Opportunistically skip building a cross-compiler during the
bootstrap phase of the build.
If the currently installed compiler matches the planned bootstrap compiler
diff --git a/tools/build/options/WITH_SYSTEM_LINKER b/tools/build/options/WITH_SYSTEM_LINKER
index 9313dc70e436..ea03c2f9105b 100644
--- a/tools/build/options/WITH_SYSTEM_LINKER
+++ b/tools/build/options/WITH_SYSTEM_LINKER
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Opportunistically skip building a cross-linker during the
bootstrap phase of the build.
If the currently installed linker matches the planned bootstrap linker
diff --git a/tools/build/options/WITH_TCP_WRAPPERS b/tools/build/options/WITH_TCP_WRAPPERS
index 8fd8e2aa6c56..f17e3a38a193 100644
--- a/tools/build/options/WITH_TCP_WRAPPERS
+++ b/tools/build/options/WITH_TCP_WRAPPERS
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Build and install
.Xr tcpd 8 ,
and related utilities.
diff --git a/tools/build/options/WITH_TOOLCHAIN b/tools/build/options/WITH_TOOLCHAIN
new file mode 100644
index 000000000000..62624bf9e28b
--- /dev/null
+++ b/tools/build/options/WITH_TOOLCHAIN
@@ -0,0 +1,2 @@
+Install programs used for software development such as
+compilers, debuggers, linkers etc.
diff --git a/tools/build/options/WITH_UNIFIED_OBJDIR b/tools/build/options/WITH_UNIFIED_OBJDIR
index 2a551e1d9e17..536b99eec9a5 100644
--- a/tools/build/options/WITH_UNIFIED_OBJDIR
+++ b/tools/build/options/WITH_UNIFIED_OBJDIR
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Use the unified object directory format for
.Xr build 7
targets.
@@ -6,7 +5,8 @@ For cross-builds, native-builds, and sub-directory builds, the format of
.Pa ${MAKEOBJDIRPREFIX}/${.CURDIR}/${TARGET}.${TARGET_ARCH}
is used.
.Pp
-This option is transitional and will be removed before the 12.0 release,
+This option is transitional and will be removed in a future version of
+.Fx ,
at which time
-.va WITH_UNIFIED_OBJDIR
+.Va WITH_UNIFIED_OBJDIR
will be enabled permanently.
diff --git a/tools/build/options/WITH_USB_GADGET_EXAMPLES b/tools/build/options/WITH_USB_GADGET_EXAMPLES
index 57e2c044c09d..f783c17e2dac 100644
--- a/tools/build/options/WITH_USB_GADGET_EXAMPLES
+++ b/tools/build/options/WITH_USB_GADGET_EXAMPLES
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build USB gadget kernel modules.
diff --git a/tools/build/options/WITH_VERIEXEC b/tools/build/options/WITH_VERIEXEC
index 579209bcd17f..f0fc471a8f79 100644
--- a/tools/build/options/WITH_VERIEXEC
+++ b/tools/build/options/WITH_VERIEXEC
@@ -1,4 +1,3 @@
-.\" $FreeBSD$
Enable building
.Xr veriexec 8
which loads the contents of verified manifests into the kernel
diff --git a/tools/build/options/WITH_ZFS b/tools/build/options/WITH_ZFS
new file mode 100644
index 000000000000..4b1aea6df534
--- /dev/null
+++ b/tools/build/options/WITH_ZFS
@@ -0,0 +1,3 @@
+Build the ZFS file system kernel module, libraries, and user commands.
+Also enable ZFS support in utilities and libraries which implement
+ZFS-specific functionality.
diff --git a/tools/build/options/WITH_ZONEINFO_LEAPSECONDS_SUPPORT b/tools/build/options/WITH_ZONEINFO_LEAPSECONDS_SUPPORT
index efa830c7f2e2..f3d97df2fb89 100644
--- a/tools/build/options/WITH_ZONEINFO_LEAPSECONDS_SUPPORT
+++ b/tools/build/options/WITH_ZONEINFO_LEAPSECONDS_SUPPORT
@@ -1,2 +1 @@
-.\" $FreeBSD$
Build leapsecond information in to the timezone database.
diff --git a/tools/build/options/WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT b/tools/build/options/WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT
index 6d22fe1055a8..6cb2d5eb10d7 100644
--- a/tools/build/options/WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT
+++ b/tools/build/options/WITH_ZONEINFO_OLD_TIMEZONES_SUPPORT
@@ -1,3 +1,2 @@
-.\" $FreeBSD$
Build backward compatibility timezone aliases in to the timezone
database.
diff --git a/tools/build/options/makeman b/tools/build/options/makeman
index 328b9faed881..30416b03b983 100755
--- a/tools/build/options/makeman
+++ b/tools/build/options/makeman
@@ -1,7 +1,6 @@
#!/bin/sh
#
# This file is in the public domain.
-# $FreeBSD$
#
# This script creates the src.conf.5 man page using template text contained
# herein and the contents of the WITH_* and WITHOUT_* files in the same
@@ -53,21 +52,32 @@ show_options()
__MAKE_CONF=/dev/null \
TARGET_ARCH=${target#*/} TARGET=${target%/*} |
while read var _ val ; do
- opt=${var#MK_}
- if [ $opt = "$prev_opt" ]; then
- echo "$target: ignoring duplicate option $opt" >&2
- continue
- fi
- prev_opt=$opt
- case ${val} in
- yes)
- echo ${opt} ${target}
+ case $var in
+ MK_*)
+ opt=${var#MK_}
+ if [ $opt = "$prev_opt" ]; then
+ echo "$target: ignoring duplicate option $opt" >&2
+ continue
+ fi
+ prev_opt=$opt
+ case ${val} in
+ yes)
+ echo ${opt} ${target}
+ ;;
+ no)
+ echo ${opt}
+ ;;
+ *)
+ echo "make showconfig broken: ${var} ${_} ${val} (not yes or no)" >&2
+ exit 1
+ ;;
+ esac
;;
- no)
- echo ${opt}
+ OPT_*)
+ # ignore
;;
*)
- echo "make showconfig broken: ${var} ${_} ${val} (not yes or no)" >&2
+ echo "make showconfig broken: ${var} ${_} ${val} not MK_ or OPT_" >&2
exit 1
;;
esac
@@ -117,19 +127,58 @@ show()
exit 1
;;
esac
+ requireds=`env -i ${make} -f ${srcdir}/share/mk/src.opts.mk \
+ -V '${__REQUIRED_OPTIONS:ts,}'`
env -i ${make} .MAKE.MODE=normal "$@" showconfig __MAKE_CONF=/dev/null \
SRCCONF=/dev/null |
while read var _ val ; do
- opt=${var#MK_}
- case ${val} in
- yes)
- echo ${yes_prefix}_${opt}
+ case ${var} in
+ MK_*)
+ opt=${var#MK_}
+ case ,${requireds}, in
+ *,${opt},*)
+ continue
+ ;;
+ esac
+ case ${val} in
+ yes)
+ echo ${yes_prefix}_${opt}
+ ;;
+ no)
+ echo ${no_prefix}_${opt}
+ ;;
+ *)
+ echo "make showconfig broken: ${var} ${_} ${val} (not yes or no)" >&2
+ exit 1
+ ;;
+ esac
;;
- no)
- echo ${no_prefix}_${opt}
+ OPT_*)
+ # ignore
;;
*)
- echo "make showconfig broken: ${var} ${_} ${val} (not yes or no)" >&2
+ echo "make showconfig broken: ${var} ${_} ${val} not MK_ or OPT_" >&2
+ exit 1
+ ;;
+ esac
+ done
+}
+
+show_group_options()
+{
+ env -i ${make} .MAKE.MODE=normal "$@" showconfig __MAKE_CONF=/dev/null \
+ SRCCONF=/dev/null |
+ while read var _ val ; do
+ case ${var} in
+ MK_*)
+ # ignore
+ ;;
+ OPT_*)
+ opt=${var#OPT_}
+ echo ${opt}
+ ;;
+ *)
+ echo "make showconfig broken: ${var} ${_} ${val} not MK_ or OPT_" >&2
exit 1
;;
esac
@@ -140,11 +189,9 @@ main()
{
echo "building src.conf.5 man page from files in ${PWD}" >&2
- fbsdid='$'FreeBSD'$'
- generated='@'generated
+ generated='@'generated
cat <<EOF
.\" DO NOT EDIT-- this file is $generated by tools/build/options/makeman.
-.\" ${fbsdid}
.Dd $(echo $(LC_TIME=C date +'%B %e, %Y'))
.Dt SRC.CONF 5
.Os
@@ -224,7 +271,11 @@ and
.Va MAKEOBJDIRPREFIX
as they are environment-only variables.
.Pp
-The values of variables are ignored regardless of their setting;
+The values of
+.Va WITH_
+and
+.Va WITHOUT_
+variables are ignored regardless of their setting;
even if they would be set to
.Dq Li FALSE
or
@@ -319,7 +370,24 @@ EOF
;;
esac
- twiddle >&2
+ printf "." >&2
+ done
+ printf "\n" >&2
+ cat <<EOF
+.El
+.Pp
+The following options accept a single value from a list of valid values.
+.Bl -tag -width indent
+EOF
+ show_group_options |
+ while read opt ; do
+ if [ ! -f ${opt} ] ; then
+ echo "no description found for ${opt}, skipping" >&2
+ continue
+ fi
+
+ echo ".It Va ${opt}"
+ cat ${opt}
done
cat <<EOF
.El
@@ -345,13 +413,4 @@ This manual page was autogenerated by
EOF
}
-twiddle_pos=0
-twiddle()
-{
- local c0='|' c1='/' c2='-' c3='\'
-
- eval printf '%c\\b' '$c'${twiddle_pos}
- twiddle_pos=$(((twiddle_pos+1)%4))
-}
-
main
diff --git a/tools/build/stat.h b/tools/build/stat.h
index 18d1460fcf67..1eeea36629b2 100644
--- a/tools/build/stat.h
+++ b/tools/build/stat.h
@@ -22,8 +22,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#ifndef _LEGACY_SYS_STAT_H_
diff --git a/tools/build/stdlib.h b/tools/build/stdlib.h
index 5f9b90bc3d50..87d54c722144 100644
--- a/tools/build/stdlib.h
+++ b/tools/build/stdlib.h
@@ -22,8 +22,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#ifndef _LEGACY_STDLIB_H_
diff --git a/tools/build/strings.h b/tools/build/strings.h
index 5dfb9596aaf6..0c5c5639ae54 100644
--- a/tools/build/strings.h
+++ b/tools/build/strings.h
@@ -22,8 +22,6 @@
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
- *
- * $FreeBSD$
*/
#ifndef _LEGACY_STRINGS_H_
diff --git a/tools/build/test-includes/Makefile b/tools/build/test-includes/Makefile
new file mode 100644
index 000000000000..2c25e0fb32ce
--- /dev/null
+++ b/tools/build/test-includes/Makefile
@@ -0,0 +1,58 @@
+#
+# A number of header files in sys/* have, going back to 7th Edition Unix in
+# 1979, reqiured other files (like sys/types.h) to compile. Likewise the 4BSD
+# networking code has had prerequisites. However, going back to around the turn
+# of the century, other systems have made them be independently includable
+# (wide-spread header include protection post-dates 7th edition Unix by maybe 4
+# or 5 years judging from netnews sources). Start down the path of making them
+# all independently includable by creating this test that fails buildworld when
+# they are not.
+#
+# The _foo.h files are excluded as they are internal-only headers and/or have
+# special requirements. Since the purpose of this is to allow autoconfig
+# programs to detect FreeBSD has different headers, omitting internal
+# headers cuts down on the noise w/o causing problems for the goal.
+#
+LIB= test-includes
+INTERNALLIB= This is a compile-only test
+MAN=
+HDRS!= (cd ${SRCTOP}/sys; ls sys/[!_]*.h | sort ; ls net*/[!_]*.h | sort)
+NO_PIC= yes
+
+# Some files have to be clean for extra defines too...
+CFLAGS.event.c= -D_WANT_KEVENT32 -D_WANT_FREEBSD11_KEVENT
+
+# We currently support C89 and newer compilers. Catch the odd little fussy
+# details like __inline that the header files must follow to support C89.
+CFLAGS+=-ansi
+
+.include "badfiles.inc"
+
+.for h c in ${HDRS:@x@$x ${x:S,/,_,g:R}.c@}
+.if !${BADHDRS:M${h}}
+SRCS+= $c
+CLEANFILES+=$c
+$c:
+ echo "#include <$h>" > ${.TARGET}
+.endif
+.endfor
+
+test-includes: lib${LIB}.a .PHONY
+
+#
+# Target to make the current known bad list. In general, this list should only
+# ever shrink and never grow.
+#
+.PHONY: badfiles.inc
+badfiles.inc:
+ @(cd ${SRCTOP}/sys; \
+ echo "# DO NOT EDIT-- this file is automatically @""generated."; \
+ echo "BADHDRS= \\"; \
+ for i in ${HDRS}; do \
+ echo "#include <$$i>" | \
+ ${CC} ${CFLAGS} -xc - -c -o /dev/null 2> /dev/null || \
+ echo " $$i \\"; \
+ done; \
+ echo) > ${.CURDIR}/badfiles.inc
+
+.include <bsd.lib.mk>
diff --git a/tools/build/test-includes/badfiles.inc b/tools/build/test-includes/badfiles.inc
new file mode 100644
index 000000000000..eb0cd05cb39f
--- /dev/null
+++ b/tools/build/test-includes/badfiles.inc
@@ -0,0 +1,326 @@
+# DO NOT EDIT-- this file is automatically @generated.
+BADHDRS= \
+ sys/aac_ioctl.h \
+ sys/agpio.h \
+ sys/atomic_common.h \
+ sys/atomic_san.h \
+ sys/bio.h \
+ sys/bitstring.h \
+ sys/blist.h \
+ sys/buf.h \
+ sys/buf_ring.h \
+ sys/bus.h \
+ sys/bus_dma.h \
+ sys/bus_dma_internal.h \
+ sys/bus_san.h \
+ sys/busdma_bufalloc.h \
+ sys/caprights.h \
+ sys/cdrio.h \
+ sys/cfictl.h \
+ sys/conf.h \
+ sys/cons.h \
+ sys/copyright.h \
+ sys/counter.h \
+ sys/coverage.h \
+ sys/cpu.h \
+ sys/cpuctl.h \
+ sys/cpuset.h \
+ sys/devmap.h \
+ sys/disk_zone.h \
+ sys/domain.h \
+ sys/domainset.h \
+ sys/dtrace_bsd.h \
+ sys/dvdio.h \
+ sys/elf32.h \
+ sys/elf64.h \
+ sys/elf_common.h \
+ sys/elf_generic.h \
+ sys/eui64.h \
+ sys/eventhandler.h \
+ sys/eventvar.h \
+ sys/exec.h \
+ sys/extattr.h \
+ sys/fail.h \
+ sys/firmware.h \
+ sys/fnv_hash.h \
+ sys/font.h \
+ sys/gmon.h \
+ sys/gpio.h \
+ sys/gtaskqueue.h \
+ sys/hhook.h \
+ sys/iconv.h \
+ sys/imgact.h \
+ sys/imgact_aout.h \
+ sys/imgact_elf.h \
+ sys/interrupt.h \
+ sys/intr.h \
+ sys/ioctl_compat.h \
+ sys/iov.h \
+ sys/iov_schema.h \
+ sys/ipmi.h \
+ sys/jail.h \
+ sys/kdb.h \
+ sys/kernel.h \
+ sys/khelp.h \
+ sys/kobj.h \
+ sys/ksem.h \
+ sys/ktls.h \
+ sys/ktrace.h \
+ sys/libkern.h \
+ sys/link_aout.h \
+ sys/linker.h \
+ sys/linker_set.h \
+ sys/lock.h \
+ sys/lock_profile.h \
+ sys/lockf.h \
+ sys/lockmgr.h \
+ sys/loginclass.h \
+ sys/mac.h \
+ sys/mbuf.h \
+ sys/md4.h \
+ sys/md5.h \
+ sys/mdioctl.h \
+ sys/memdesc.h \
+ sys/memrange.h \
+ sys/module.h \
+ sys/module_khelp.h \
+ sys/mpt_ioctl.h \
+ sys/msgbuf.h \
+ sys/mutex.h \
+ sys/namei.h \
+ sys/osd.h \
+ sys/pciio.h \
+ sys/pctrie.h \
+ sys/physmem.h \
+ sys/pipe.h \
+ sys/pmckern.h \
+ sys/posix4.h \
+ sys/power.h \
+ sys/priority.h \
+ sys/prng.h \
+ sys/qmath.h \
+ sys/racct.h \
+ sys/refcount.h \
+ sys/resourcevar.h \
+ sys/rman.h \
+ sys/rmlock.h \
+ sys/rtprio.h \
+ sys/runq.h \
+ sys/rwlock.h \
+ sys/sbuf.h \
+ sys/sema.h \
+ sys/sf_buf.h \
+ sys/sglist.h \
+ sys/sigio.h \
+ sys/signalvar.h \
+ sys/smr.h \
+ sys/smr_types.h \
+ sys/socketvar.h \
+ sys/sockopt.h \
+ sys/stack.h \
+ sys/stats.h \
+ sys/sx.h \
+ sys/syscallsubr.h \
+ sys/syslimits.h \
+ sys/systm.h \
+ sys/taskqueue.h \
+ sys/terminal.h \
+ sys/termios.h \
+ sys/tiio.h \
+ sys/timeb.h \
+ sys/timeet.h \
+ sys/timeffc.h \
+ sys/timepps.h \
+ sys/timetc.h \
+ sys/ttydevsw.h \
+ sys/ttydisc.h \
+ sys/ttyhook.h \
+ sys/ttyqueue.h \
+ sys/umtx.h \
+ sys/unpcb.h \
+ sys/user.h \
+ sys/vdso.h \
+ sys/vmmeter.h \
+ sys/vnode.h \
+ net/bpf.h \
+ net/bpf_buffer.h \
+ net/bpf_jitter.h \
+ net/bpf_zerocopy.h \
+ net/bpfdesc.h \
+ net/debugnet_int.h \
+ net/firewire.h \
+ net/if_arp.h \
+ net/if_dl.h \
+ net/if_enc.h \
+ net/if_lagg.h \
+ net/if_llatbl.h \
+ net/if_llc.h \
+ net/if_media.h \
+ net/if_mib.h \
+ net/if_pfsync.h \
+ net/if_tap.h \
+ net/if_tun.h \
+ net/if_var.h \
+ net/if_vlan_var.h \
+ net/iflib.h \
+ net/iflib_private.h \
+ net/ifq.h \
+ net/mp_ring.h \
+ net/mppc.h \
+ net/netisr.h \
+ net/netisr_internal.h \
+ net/netmap.h \
+ net/netmap_legacy.h \
+ net/paravirt.h \
+ net/pfil.h \
+ net/pfkeyv2.h \
+ net/pfvar.h \
+ net/radix.h \
+ net/raw_cb.h \
+ net/rndis.h \
+ net/route.h \
+ net/rss_config.h \
+ net/slcompress.h \
+ net/toeplitz.h \
+ net80211/ieee80211.h \
+ net80211/ieee80211_action.h \
+ net80211/ieee80211_adhoc.h \
+ net80211/ieee80211_ageq.h \
+ net80211/ieee80211_alq.h \
+ net80211/ieee80211_amrr.h \
+ net80211/ieee80211_crypto.h \
+ net80211/ieee80211_dfs.h \
+ net80211/ieee80211_freebsd.h \
+ net80211/ieee80211_hostap.h \
+ net80211/ieee80211_ht.h \
+ net80211/ieee80211_input.h \
+ net80211/ieee80211_ioctl.h \
+ net80211/ieee80211_mesh.h \
+ net80211/ieee80211_monitor.h \
+ net80211/ieee80211_node.h \
+ net80211/ieee80211_power.h \
+ net80211/ieee80211_proto.h \
+ net80211/ieee80211_radiotap.h \
+ net80211/ieee80211_ratectl.h \
+ net80211/ieee80211_rssadapt.h \
+ net80211/ieee80211_scan.h \
+ net80211/ieee80211_scan_sw.h \
+ net80211/ieee80211_sta.h \
+ net80211/ieee80211_superg.h \
+ net80211/ieee80211_tdma.h \
+ net80211/ieee80211_var.h \
+ net80211/ieee80211_vht.h \
+ net80211/ieee80211_wds.h \
+ netgraph/netgraph.h \
+ netgraph/ng_async.h \
+ netgraph/ng_bpf.h \
+ netgraph/ng_bridge.h \
+ netgraph/ng_car.h \
+ netgraph/ng_checksum.h \
+ netgraph/ng_cisco.h \
+ netgraph/ng_deflate.h \
+ netgraph/ng_etf.h \
+ netgraph/ng_hole.h \
+ netgraph/ng_ksocket.h \
+ netgraph/ng_l2tp.h \
+ netgraph/ng_lmi.h \
+ netgraph/ng_macfilter.h \
+ netgraph/ng_message.h \
+ netgraph/ng_mppc.h \
+ netgraph/ng_nat.h \
+ netgraph/ng_one2many.h \
+ netgraph/ng_parse.h \
+ netgraph/ng_patch.h \
+ netgraph/ng_pipe.h \
+ netgraph/ng_ppp.h \
+ netgraph/ng_pppoe.h \
+ netgraph/ng_pptpgre.h \
+ netgraph/ng_pred1.h \
+ netgraph/ng_sample.h \
+ netgraph/ng_socket.h \
+ netgraph/ng_socketvar.h \
+ netgraph/ng_source.h \
+ netgraph/ng_tag.h \
+ netgraph/ng_tcpmss.h \
+ netgraph/ng_tee.h \
+ netgraph/ng_vjc.h \
+ netgraph/ng_vlan.h \
+ netgraph/ng_vlan_rotate.h \
+ netgraph/qos.h \
+ netinet/dccp.h \
+ netinet/icmp6.h \
+ netinet/icmp_var.h \
+ netinet/if_ether.h \
+ netinet/igmp.h \
+ netinet/igmp_var.h \
+ netinet/in_fib.h \
+ netinet/in_kdtrace.h \
+ netinet/in_pcb.h \
+ netinet/in_pcb_var.h \
+ netinet/in_rss.h \
+ netinet/in_systm.h \
+ netinet/in_var.h \
+ netinet/ip.h \
+ netinet/ip6.h \
+ netinet/ip_carp.h \
+ netinet/ip_dummynet.h \
+ netinet/ip_fw.h \
+ netinet/ip_icmp.h \
+ netinet/ip_mroute.h \
+ netinet/ip_options.h \
+ netinet/pim_var.h \
+ netinet/sctp_auth.h \
+ netinet/sctp_bsd_addr.h \
+ netinet/sctp_kdtrace.h \
+ netinet/sctp_os.h \
+ netinet/sctp_os_bsd.h \
+ netinet/sctp_pcb.h \
+ netinet/sctp_structs.h \
+ netinet/sctp_sysctl.h \
+ netinet/tcp_debug.h \
+ netinet/tcp_hpts.h \
+ netinet/tcp_log_buf.h \
+ netinet/tcp_lro.h \
+ netinet/tcp_offload.h \
+ netinet/tcp_pcap.h \
+ netinet/tcp_ratelimit.h \
+ netinet/tcp_var.h \
+ netinet/tcpip.h \
+ netinet/toecore.h \
+ netinet/udplite.h \
+ netinet6/icmp6.h \
+ netinet6/in6.h \
+ netinet6/in6_fib.h \
+ netinet6/in6_rss.h \
+ netinet6/in6_var.h \
+ netinet6/ip6.h \
+ netinet6/ip6_mroute.h \
+ netinet6/ip6_var.h \
+ netinet6/ip6protosw.h \
+ netinet6/ip_fw_nat64.h \
+ netinet6/ip_fw_nptv6.h \
+ netinet6/mld6.h \
+ netinet6/mld6_var.h \
+ netinet6/nd6.h \
+ netinet6/pim6.h \
+ netinet6/pim6_var.h \
+ netinet6/raw_ip6.h \
+ netinet6/send.h \
+ netipsec/ah.h \
+ netipsec/ah_var.h \
+ netipsec/esp.h \
+ netipsec/esp_var.h \
+ netipsec/ipcomp.h \
+ netipsec/ipcomp_var.h \
+ netipsec/ipsec.h \
+ netipsec/ipsec6.h \
+ netipsec/key_debug.h \
+ netipsec/keysock.h \
+ netipsec/xform.h \
+ netsmb/netbios.h \
+ netsmb/smb.h \
+ netsmb/smb_conn.h \
+ netsmb/smb_rq.h \
+ netsmb/smb_subr.h \
+ netsmb/smb_tran.h \
+
diff --git a/tools/build/utimensat.c b/tools/build/utimensat.c
index 210599303cb6..49c389d13fb1 100644
--- a/tools/build/utimensat.c
+++ b/tools/build/utimensat.c
@@ -25,8 +25,6 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
#include <sys/stat.h>
#include <errno.h>