The branch main has been updated by mm:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=a4e5e0106ac7145f56eb39a691e302cabb4635be

commit a4e5e0106ac7145f56eb39a691e302cabb4635be
Merge: 4594eb454891 229b9f4ed05e
Author:     Martin Matuska <m...@freebsd.org>
AuthorDate: 2024-02-08 12:39:04 +0000
Commit:     Martin Matuska <m...@freebsd.org>
CommitDate: 2024-02-08 15:51:08 +0000

    zfs: merge openzfs/zfs@229b9f4ed
    
    Notable upstream pull request merges:
     #15769 082338875 Add 'zpool status -e' flag to see unhealthy vdevs
     #15804 a0d3fe72b libzdb: Initial breakout of libzdb
     #15847 229b9f4ed LUA: Backport CVE-2020-24370's patch
    
    Obtained from:  OpenZFS
    OpenZFS commit: 229b9f4ed05e6d14fb4d73fa04a71e99b01bb534

 cddl/lib/Makefile                                  |   1 +
 cddl/lib/libzdb/Makefile                           |  25 ++++
 cddl/lib/libzdb/Makefile.depend                    |  14 ++
 cddl/usr.sbin/zdb/Makefile                         |   2 +-
 rescue/rescue/Makefile                             |   2 +-
 share/mk/bsd.libnames.mk                           |   1 +
 share/mk/src.libnames.mk                           |   3 +
 sys/contrib/openzfs/cmd/zdb/Makefile.am            |   1 +
 sys/contrib/openzfs/cmd/zdb/zdb.c                  | 108 +-------------
 sys/contrib/openzfs/cmd/zpool/zpool_main.c         |  58 +++++++-
 sys/contrib/openzfs/config/kernel-blkdev.m4        |  34 ++++-
 sys/contrib/openzfs/include/Makefile.am            |   1 +
 sys/contrib/openzfs/include/libzdb.h               |  68 +++++++++
 .../include/os/freebsd/zfs/sys/zfs_vfsops_os.h     |   1 -
 .../include/os/linux/zfs/sys/zfs_vfsops_os.h       |   2 -
 sys/contrib/openzfs/include/sys/zfs_vnops.h        |   3 +
 sys/contrib/openzfs/lib/Makefile.am                |   5 +-
 sys/contrib/openzfs/lib/libzdb/Makefile.am         |   7 +
 sys/contrib/openzfs/lib/libzdb/libzdb.c            | 102 +++++++++++++
 sys/contrib/openzfs/man/man4/zfs.4                 |   9 ++
 sys/contrib/openzfs/man/man8/zpool-status.8        |   4 +-
 sys/contrib/openzfs/module/lua/ldebug.c            |   7 +-
 .../openzfs/module/os/freebsd/zfs/zfs_vfsops.c     |   4 -
 .../openzfs/module/os/linux/zfs/vdev_disk.c        |  72 +++++++--
 .../openzfs/module/os/linux/zfs/zfs_vnops_os.c     |   5 -
 .../openzfs/module/os/linux/zfs/zpl_file_range.c   |  48 +++---
 sys/contrib/openzfs/module/zfs/zfs_vnops.c         |  43 +++++-
 sys/contrib/openzfs/tests/runfiles/common.run      |   5 +-
 .../openzfs/tests/test-runner/bin/zts-report.py.in |   2 +
 .../openzfs/tests/zfs-tests/include/tunables.cfg   |   1 +
 .../openzfs/tests/zfs-tests/tests/Makefile.am      |   2 +
 .../cli_root/zpool_status/zpool_status_002_pos.ksh |   4 +-
 .../cli_root/zpool_status/zpool_status_003_pos.ksh |   2 +
 .../cli_root/zpool_status/zpool_status_008_pos.ksh | 104 +++++++++++++
 .../tests/functional/cp_files/cp_files_002_pos.ksh | 161 +++++++++++++++++++++
 sys/modules/zfs/zfs_config.h                       |   4 +-
 sys/modules/zfs/zfs_gitrev.h                       |   2 +-
 37 files changed, 736 insertions(+), 181 deletions(-)

diff --cc cddl/lib/Makefile
index 68250c8300b1,000000000000..e6a0763544f7
mode 100644,000000..100644
--- a/cddl/lib/Makefile
+++ b/cddl/lib/Makefile
@@@ -1,46 -1,0 +1,47 @@@
 +
 +.include <src.opts.mk>
 +
 +.if ${MK_DTRACE} == yes || ${MK_ZFS} == yes
 +SUBDIR=       libspl
 +.endif
 +
 +SUBDIR.${MK_DTRACE}+= \
 +      drti \
 +      libctf \
 +      libdtrace
 +
 +SUBDIR.${MK_TESTS}+= tests
 +
 +SUBDIR.${MK_ZFS}+= \
 +      libavl \
 +      libicp \
 +      libicp_rescue \
 +      libnvpair \
 +      libtpool \
 +      libumem \
 +      libuutil \
++      libzdb \
 +      libzfs \
 +      libzfs_core \
 +      libzfsbootenv \
 +      libzpool \
 +      libzutil
 +
 +SUBDIR.${MK_ZFS}.${MK_OPENSSL} = pam_zfs_key
 +
 +SUBDIR_DEPEND_libavl=         libspl
 +SUBDIR_DEPEND_libctf=         libspl
 +SUBDIR_DEPEND_libdtrace=      libctf
 +SUBDIR_DEPEND_libnvpair=      libspl
 +SUBDIR_DEPEND_libtpool=               libspl
 +SUBDIR_DEPEND_libuutil=               libavl libspl
 +SUBDIR_DEPEND_libzfs_core=    libnvpair libspl libzutil
 +SUBDIR_DEPEND_libzfs= libavl libnvpair libumem libuutil libzfs_core libzutil
 +SUBDIR_DEPEND_libzpool=       libavl libnvpair libumem libicp
 +SUBDIR_DEPEND_libzutil=       libavl libtpool
 +SUBDIR_DEPEND_libzfsbootenv= libzfs libnvpair
 +SUBDIR_DEPEND_pam_zfs_key= libnvpair libuutil libzfs libzfs_core
 +
 +SUBDIR_PARALLEL=
 +
 +.include <bsd.subdir.mk>
diff --cc cddl/lib/libzdb/Makefile
index 000000000000,000000000000..63248399b91c
new file mode 100644
--- /dev/null
+++ b/cddl/lib/libzdb/Makefile
@@@ -1,0 -1,0 +1,25 @@@
++.PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libzdb
++.PATH: ${SRCTOP}/sys/contrib/openzfs/include
++
++LIB=  zdb
++PACKAGE=      zfs
++
++INCS = libzdb.h
++
++SRCS = libzdb.c 
++
++WARNS?=       2
++CSTD= c99
++
++CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include
++CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include
++CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libspl/include/os/freebsd
++CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/zfs
++CFLAGS+= -I${SRCTOP}/sys
++CFLAGS+= -I${SRCTOP}/cddl/compat/opensolaris/include
++CFLAGS+= -include 
${SRCTOP}/sys/contrib/openzfs/include/os/freebsd/spl/sys/ccompile.h
++CFLAGS+= -I${SRCTOP}/sys/contrib/openzfs/lib/libzutil
++CFLAGS+= -DHAVE_ISSETUGID -DIN_BASE
++CFLAGS+= -include ${SRCTOP}/sys/modules/zfs/zfs_config.h
++
++.include <bsd.lib.mk>
diff --cc cddl/lib/libzdb/Makefile.depend
index 000000000000,000000000000..93249906da4f
new file mode 100644
--- /dev/null
+++ b/cddl/lib/libzdb/Makefile.depend
@@@ -1,0 -1,0 +1,14 @@@
++# Autogenerated - do NOT edit!
++
++DIRDEPS = \
++      include \
++      lib/${CSU_DIR} \
++      lib/libc \
++      lib/libcompiler_rt \
++
++
++.include <dirdeps.mk>
++
++.if ${DEP_RELDIR} == ${_DEP_RELDIR}
++# local dependencies - needed for -jN in clean tree
++.endif
diff --cc cddl/usr.sbin/zdb/Makefile
index 744db789772c,000000000000..e41f4afce82f
mode 100644,000000..100644
--- a/cddl/usr.sbin/zdb/Makefile
+++ b/cddl/usr.sbin/zdb/Makefile
@@@ -1,33 -1,0 +1,33 @@@
 +
 +ZFSTOP=       ${SRCTOP}/sys/contrib/openzfs
 +
 +.PATH: ${ZFSTOP}/cmd/zdb
 +.PATH: ${ZFSTOP}/man/man8
 +
 +PACKAGE=      zfs
 +PROG= zdb
 +MAN=  zdb.8
 +INCS= zdb.h
 +SRCS= zdb.c zdb_il.c
 +
 +WARNS?=       2
 +CSTD= c99
 +
 +CFLAGS+= \
 +      -DIN_BASE \
 +      -I${ZFSTOP}/include \
 +      -I${ZFSTOP}/lib/libspl/include \
 +      -I${ZFSTOP}/lib/libspl/include/os/freebsd \
 +      -I${ZFSTOP}/lib/libspl/include/os/freebsd/spl \
 +      -I${SRCTOP}/sys \
 +      -include ${ZFSTOP}/include/os/freebsd/spl/sys/ccompile.h \
 +      -DHAVE_ISSETUGID
 +
- LIBADD=       nvpair umem uutil zfs spl avl zutil zpool crypto
++LIBADD=       nvpair umem uutil zdb zfs spl avl zutil zpool crypto
 +
 +CFLAGS.gcc+= -fms-extensions
 +# Since there are many asserts in this program, it makes no sense to compile
 +# it without debugging.
 +CFLAGS+=      -g -DDEBUG=1 -DZFS_DEBUG=1
 +
 +.include <bsd.prog.mk>
diff --cc rescue/rescue/Makefile
index 7bf3299f4d48,000000000000..0a8d142ef83a
mode 100644,000000..100644
--- a/rescue/rescue/Makefile
+++ b/rescue/rescue/Makefile
@@@ -1,269 -1,0 +1,269 @@@
 +
 +.include <src.opts.mk>
 +.include <bsd.linker.mk>
 +
 +PACKAGE=rescue
 +MAN=
 +MK_SSP=       no
 +# Static-PIE is not supported so we should not be linking against _pie.a libs.
 +# This is also needed to avoid linking against sanitizer-instrumented 
libraries
 +# since MK_ASAN/MK_UBSAN will instrument the .pieo object files.
 +MK_PIE=       no
 +NO_SHARED=    yes
 +CRUNCH_BUILDOPTS+=    MK_PIE=no NO_SHARED=yes
 +
 +# lld >= 16 became more strict about multiply defined symbols. Since there are
 +# many of those in crunchgen'd programs, turn off the check.
 +.if ${LINKER_TYPE} == "lld" && ${LINKER_VERSION} >= 160000
 +LDFLAGS+=     -Wl,--allow-multiple-definition
 +.endif
 +
 +PROG= rescue
 +BINDIR?=/rescue
 +
 +# Shell scripts need #! line to be edited from /bin/sh to /rescue/sh
 +SCRIPTS= nextboot_FIXED
 +SCRIPTSNAME_nextboot_FIXED= nextboot
 +nextboot_FIXED: ../../sbin/reboot/nextboot.sh
 +      sed '1s/\/bin\//\/rescue\//' ${.ALLSRC} > ${.TARGET}
 +CLEANFILES+= nextboot_FIXED
 +
 +SCRIPTS+= dhclient_FIXED
 +SCRIPTSNAME_dhclient_FIXED= dhclient-script
 +dhclient_FIXED: ../../sbin/dhclient/dhclient-script
 +      sed '1s/\/bin\//\/rescue\//' ${.ALLSRC} > ${.TARGET}
 +CLEANFILES+= dhclient_FIXED
 +
 +# The help which used to be here is now in mk/bsd.crunchgen.mk
 +
 +# Define Makefile variable RESCUE
 +CRUNCH_BUILDOPTS+= -DRESCUE
 +# Define compile-time RESCUE symbol when compiling components
 +CRUNCH_BUILDOPTS+= CRUNCH_CFLAGS=-DRESCUE
 +
 +# An experiment that failed: try overriding bsd.lib.mk and bsd.prog.mk
 +# rather than incorporating rescue-specific logic into standard files.
 +#MAKEFLAGS= -m ${.CURDIR} ${.MAKEFLAGS}
 +
 +# Hackery:  'librescue' exists merely as a tool for appropriately
 +# recompiling specific library entries.  We _know_ they're needed, and
 +# regular archive searching creates ugly library ordering problems.
 +# Easiest fix: tell the linker to include them into the executable
 +# first, so they are guaranteed to override the regular lib entries.
 +# Note that if 'librescue' hasn't been compiled, we'll just get the
 +# regular lib entries from libc and friends.
 +CRUNCH_LIBS+= ${.OBJDIR}/../librescue/*.o
 +
 +###################################################################
 +# Programs from stock /bin
 +#
 +# WARNING: Changing this list may require adjusting
 +# /usr/include/paths.h as well!  You were warned!
 +#
 +CRUNCH_SRCDIRS+= bin
 +CRUNCH_PROGS_bin= cat chflags chio chmod cp date dd df echo   \
 +       ed expr getfacl hostname kenv kill ln ls mkdir mv      \
 +       pkill ps pwd realpath rm rmdir setfacl sh sleep stty   \
 +       sync test
 +CRUNCH_LIBS+= -lcrypt -ledit -ljail -lkvm -lelf -ltermcapw -lutil -lxo
 +CRUNCH_BUILDTOOLS+= bin/sh
 +
 +# Additional options for specific programs
 +CRUNCH_ALIAS_test= [
 +CRUNCH_ALIAS_sh= -sh
 +# The -sh alias shouldn't appear in /rescue as a hard link
 +CRUNCH_SUPPRESS_LINK_-sh= 1
 +CRUNCH_ALIAS_ln= link
 +CRUNCH_ALIAS_rm= unlink
 +CRUNCH_ALIAS_ed= red
 +CRUNCH_ALIAS_pkill= pgrep
 +
 +.if ${MK_TCSH} != "no"
 +CRUNCH_PROGS_bin+= csh
 +CRUNCH_ALIAS_csh= -csh tcsh -tcsh
 +CRUNCH_BUILDTOOLS+= bin/csh
 +CRUNCH_SUPPRESS_LINK_-csh= 1
 +CRUNCH_SUPPRESS_LINK_-tcsh= 1
 +.endif
 +
 +###################################################################
 +# Programs from standard /sbin
 +#
 +# WARNING: Changing this list may require adjusting
 +# /usr/include/paths.h as well!  You were warned!
 +#
 +# Note that mdmfs have their own private 'pathnames.h'
 +# headers in addition to the standard 'paths.h' header.
 +#
 +CRUNCH_SRCDIRS+= sbin
 +CRUNCH_PROGS_sbin=                                            \
 +      camcontrol clri devfs dmesg dump                        \
 +      dumpfs dumpon fsck fsck_ffs fsck_msdosfs fsdb           \
 +      fsirand gbde geom ifconfig init                         \
 +      kldconfig kldload kldstat kldunload ldconfig            \
 +      md5 mdconfig mdmfs mknod mount mount_cd9660             \
 +      mount_msdosfs mount_nfs mount_nullfs                    \
 +      mount_udf mount_unionfs newfs                           \
 +      newfs_msdos nos-tun reboot                              \
 +      restore rcorder route savecore                          \
 +      shutdown swapon sysctl tunefs umount
 +
 +.if ${MK_CCD} != "no"
 +CRUNCH_PROGS_sbin+= ccdconfig
 +.endif
 +
 +.if ${MK_INET} != "no" || ${MK_INET6} != "no"
 +CRUNCH_PROGS_sbin+= ping
 +.endif
 +
 +.if ${MK_INET6_SUPPORT} != "no"
 +CRUNCH_ALIAS_ping= ping6
 +CRUNCH_PROGS_sbin+= rtsol
 +.endif
 +
 +.if ${MK_IPFILTER} != "no"
 +CRUNCH_PROGS_sbin+= ipf
 +CRUNCH_LIBS_ipf+=     ${LIBIPF}
 +.endif
 +
 +.if ${MK_ROUTED} != "no"
 +CRUNCH_PROGS_sbin+= routed rtquery
 +.endif
 +
 +.if ${MK_ZFS} != "no"
 +CRUNCH_PROGS_sbin+= bectl
 +CRUNCH_PROGS_sbin+= zfs
 +CRUNCH_PROGS_sbin+= zpool
 +CRUNCH_PROGS_usr.sbin+= zdb
 +.endif
 +
 +# crunchgen does not like C++ programs; this should be fixed someday
 +# CRUNCH_PROGS+= devd
 +
 +CRUNCH_LIBS+= -l80211 -lalias -lcam -lncursesw -ldevstat -lipsec -llzma
 +.if ${MK_ZFS} != "no"
 +CRUNCH_LIBS+= -lavl -lpthread -luutil -lumem -ltpool -lspl -lrt
 +CRUNCH_LIBS_zfs+=     ${LIBBE} \
 +                      ${LIBZPOOL} \
 +                      ${LIBZFS} \
 +                      ${LIBZUTIL} \
 +                      ${LIBZFS_CORE} \
 +                      ${LIBZFSBOOTENV} \
 +                      ${LIBICP_RESCUE} \
 +                      ${LIBNVPAIR}
 +CRUNCH_LIBS_bectl+=   ${CRUNCH_LIBS_zfs}
 +CRUNCH_LIBS_zpool+=   ${CRUNCH_LIBS_zfs}
- CRUNCH_LIBS_zdb+=     ${CRUNCH_LIBS_zfs}
++CRUNCH_LIBS_zdb+=     ${CRUNCH_LIBS_zfs} ${LIBZDB}
 +.else
 +# liblzma needs pthread
 +CRUNCH_LIBS+= -lpthread
 +.endif
 +CRUNCH_LIBS+= -lgeom -lbsdxml -lkiconv
 +.if ${MK_OPENSSL} == "no"
 +CRUNCH_LIBS+= -lmd
 +.endif
 +CRUNCH_LIBS+= -lmt -lsbuf -lufs -lz
 +
 +.if ${MACHINE_CPUARCH} == "i386"
 +CRUNCH_PROGS_sbin+= bsdlabel fdisk
 +CRUNCH_ALIAS_bsdlabel= disklabel
 +#CRUNCH_PROGS+= mount_smbfs
 +#CRUNCH_LIBS+= -lsmb
 +.endif
 +
 +.if ${MACHINE_CPUARCH} == "amd64"
 +CRUNCH_PROGS_sbin+= bsdlabel fdisk
 +CRUNCH_ALIAS_bsdlabel= disklabel
 +.endif
 +
 +CRUNCH_SRCDIR_rtquery= ${SRCTOP}/sbin/routed/rtquery
 +CRUNCH_SRCDIR_ipf= ${SRCTOP}/sbin/ipf/ipf
 +.if ${MK_ZFS} != "no"
 +CRUNCH_SRCDIR_zfs= ${SRCTOP}/cddl/sbin/zfs
 +CRUNCH_SRCDIR_zpool= ${SRCTOP}/cddl/sbin/zpool
 +CRUNCH_SRCDIR_zdb= ${SRCTOP}/cddl/usr.sbin/zdb
 +.endif
 +CRUNCH_ALIAS_reboot= fastboot halt fasthalt
 +CRUNCH_ALIAS_restore= rrestore
 +CRUNCH_ALIAS_dump= rdump
 +CRUNCH_ALIAS_fsck_ffs= fsck_4.2bsd fsck_ufs
 +CRUNCH_ALIAS_geom= glabel gpart
 +CRUNCH_ALIAS_shutdown= poweroff
 +
 +# dhclient has historically been troublesome...
 +CRUNCH_PROGS_sbin+= dhclient
 +
 +##################################################################
 +# Programs from stock /usr/bin
 +#
 +CRUNCH_SRCDIRS+= usr.bin
 +
 +CRUNCH_PROGS_usr.bin= head mt sed tail tee
 +
 +CRUNCH_PROGS_usr.bin+= gzip
 +CRUNCH_ALIAS_gzip= gunzip gzcat zcat
 +
 +CRUNCH_PROGS_usr.bin+= bzip2
 +CRUNCH_ALIAS_bzip2= bunzip2 bzcat
 +CRUNCH_LIBS+= -lbz2
 +
 +CRUNCH_PROGS_usr.bin+= less
 +CRUNCH_ALIAS_less= more
 +
 +CRUNCH_PROGS_usr.bin+= xz
 +CRUNCH_ALIAS_xz= unxz lzma unlzma xzcat lzcat
 +
 +CRUNCH_PROGS_usr.bin+= zstd
 +CRUNCH_ALIAS_zstd= unzstd zstdcat zstdmt
 +CRUNCH_LIBS+= ${LDADD_zstd}
 +
 +CRUNCH_PROGS_usr.bin+=        fetch
 +CRUNCH_LIBS+= -lfetch
 +
 +CRUNCH_PROGS_usr.bin+= tar
 +CRUNCH_LIBS+= -larchive
 +.if ${MK_OPENSSL} != "no"
 +CRUNCH_LIBS+= -lssl -lcrypto
 +.endif
 +CRUNCH_LIBS+= -lmd
 +
 +.if ${MK_NETCAT} != "no"
 +CRUNCH_PROGS_usr.bin+=        nc
 +.endif
 +
 +.if ${MK_VI} != "no"
 +CRUNCH_PROGS_usr.bin+= vi
 +CRUNCH_ALIAS_vi= ex
 +.endif
 +
 +CRUNCH_PROGS_usr.bin+= id
 +CRUNCH_ALIAS_id= groups whoami
 +
 +##################################################################
 +# Programs from stock /usr/sbin
 +#
 +CRUNCH_SRCDIRS+= usr.sbin
 +
 +CRUNCH_PROGS_usr.sbin+= chroot
 +
 +CRUNCH_PROGS_usr.sbin+= chown
 +CRUNCH_ALIAS_chown= chgrp
 +##################################################################
 +
 +CRUNCH_LIBS+=         ${OBJTOP}/lib/libifconfig/libifconfig.a
 +CRUNCH_BUILDOPTS+=    CRUNCH_CFLAGS+=-I${OBJTOP}/lib/libifconfig
 +
 +CRUNCH_LIBS_ifconfig+=        ${LIBNV}
 +
 +CRUNCH_LIBS+= -lm
 +
 +.if ${MK_ISCSI} != "no"
 +CRUNCH_PROGS_usr.bin+=        iscsictl
 +CRUNCH_PROGS_usr.sbin+=       iscsid
 +
 +CRUNCH_LIBS+=         ${OBJTOP}/lib/libiscsiutil/libiscsiutil.a
 +CRUNCH_BUILDOPTS+=    CRUNCH_CFLAGS+=-I${OBJTOP}/lib/libiscsiutil
 +.endif
 +
 +.include <bsd.crunchgen.mk>
 +.include <bsd.prog.mk>
diff --cc share/mk/bsd.libnames.mk
index db08a5ac718c,000000000000..414ae3164066
mode 100644,000000..100644
--- a/share/mk/bsd.libnames.mk
+++ b/share/mk/bsd.libnames.mk
@@@ -1,221 -1,0 +1,222 @@@
 +
 +# The include file <bsd.libnames.mk> define library names.
 +# Other include files (e.g. bsd.prog.mk, bsd.lib.mk) include this
 +# file where necessary.
 +
 +.if !target(__<bsd.init.mk>__)
 +.error bsd.libnames.mk cannot be included directly.
 +.endif
 +
 +LIBDESTDIR?=  ${SYSROOT:U${DESTDIR}}
 +
 +.sinclude <src.libnames.mk>
 +
 +# Src directory locations are also defined in src.libnames.mk.
 +
 +LIBCRT0?=     ${LIBDESTDIR}${LIBDIR_BASE}/crt0.o
 +
 +LIB80211?=    ${LIBDESTDIR}${LIBDIR_BASE}/lib80211.a
 +LIB9P?=               ${LIBDESTDIR}${LIBDIR_BASE}/lib9p.a
 +LIBALIAS?=    ${LIBDESTDIR}${LIBDIR_BASE}/libalias.a
 +LIBARCHIVE?=  ${LIBDESTDIR}${LIBDIR_BASE}/libarchive.a
 +LIBASN1?=     ${LIBDESTDIR}${LIBDIR_BASE}/libasn1.a
 +LIBATM?=      ${LIBDESTDIR}${LIBDIR_BASE}/libatm.a
 +LIBAUDITD?=   ${LIBDESTDIR}${LIBDIR_BASE}/libauditd.a
 +LIBAVL?=      ${LIBDESTDIR}${LIBDIR_BASE}/libavl.a
 +LIBBE?=               ${LIBDESTDIR}${LIBDIR_BASE}/libbe.a
 +LIBBEGEMOT?=  ${LIBDESTDIR}${LIBDIR_BASE}/libbegemot.a
 +LIBBLACKLIST?=        ${LIBDESTDIR}${LIBDIR_BASE}/libblacklist.a
 +LIBBLOCKSRUNTIME?= ${LIBDESTDIR}${LIBDIR_BASE}/libBlocksRuntime.a
 +LIBBLUETOOTH?=        ${LIBDESTDIR}${LIBDIR_BASE}/libbluetooth.a
 +LIBBSDXML?=   ${LIBDESTDIR}${LIBDIR_BASE}/libbsdxml.a
 +LIBBSM?=      ${LIBDESTDIR}${LIBDIR_BASE}/libbsm.a
 +LIBBSNMP?=    ${LIBDESTDIR}${LIBDIR_BASE}/libbsnmp.a
 +LIBBZ2?=      ${LIBDESTDIR}${LIBDIR_BASE}/libbz2.a
 +LIBC?=                ${LIBDESTDIR}${LIBDIR_BASE}/libc.a
 +LIBCALENDAR?= ${LIBDESTDIR}${LIBDIR_BASE}/libcalendar.a
 +LIBCAM?=      ${LIBDESTDIR}${LIBDIR_BASE}/libcam.a
 +LIBCOMPAT?=   ${LIBDESTDIR}${LIBDIR_BASE}/libcompat.a
 +LIBCOMPILER_RT?=${LIBDESTDIR}${LIBDIR_BASE}/libcompiler_rt.a
 +LIBCOM_ERR?=  ${LIBDESTDIR}${LIBDIR_BASE}/libcom_err.a
 +LIBCPLUSPLUS?=        ${LIBDESTDIR}${LIBDIR_BASE}/libc++.a
 +LIBCRYPT?=    ${LIBDESTDIR}${LIBDIR_BASE}/libcrypt.a
 +LIBCRYPTO?=   ${LIBDESTDIR}${LIBDIR_BASE}/libcrypto.a
 +LIBCTF?=      ${LIBDESTDIR}${LIBDIR_BASE}/libctf.a
 +LIBCURSES?=   ${LIBDESTDIR}${LIBDIR_BASE}/libcurses.a
 +LIBCUSE?=     ${LIBDESTDIR}${LIBDIR_BASE}/libcuse.a
 +LIBCXGB4?=    ${LIBDESTDIR}${LIBDIR_BASE}/libcxgb4.a
 +LIBCXXRT?=    ${LIBDESTDIR}${LIBDIR_BASE}/libcxxrt.a
 +LIBC_PIC?=    ${LIBDESTDIR}${LIBDIR_BASE}/libc_pic.a
 +LIBDEVCTL?=   ${LIBDESTDIR}${LIBDIR_BASE}/libdevctl.a
 +LIBDEVDCTL?=  ${LIBDESTDIR}${LIBDIR_BASE}/libdevdctl.a
 +LIBDEVINFO?=  ${LIBDESTDIR}${LIBDIR_BASE}/libdevinfo.a
 +LIBDEVSTAT?=  ${LIBDESTDIR}${LIBDIR_BASE}/libdevstat.a
 +LIBDIALOG?=   ${LIBDESTDIR}${LIBDIR_BASE}/libdialog.a
 +LIBDL?=               ${LIBDESTDIR}${LIBDIR_BASE}/libdl.a
 +LIBDNS?=      ${LIBDESTDIR}${LIBDIR_BASE}/libdns.a
 +LIBDPV?=      ${LIBDESTDIR}${LIBDIR_BASE}/libdpv.a
 +LIBDTRACE?=   ${LIBDESTDIR}${LIBDIR_BASE}/libdtrace.a
 +LIBDWARF?=    ${LIBDESTDIR}${LIBDIR_BASE}/libdwarf.a
 +LIBEDIT?=     ${LIBDESTDIR}${LIBDIR_BASE}/libedit.a
 +LIBEFIVAR?=   ${LIBDESTDIR}${LIBDIR_BASE}/libefivar.a
 +LIBELF?=      ${LIBDESTDIR}${LIBDIR_BASE}/libelf.a
 +LIBEXECINFO?= ${LIBDESTDIR}${LIBDIR_BASE}/libexecinfo.a
 +LIBFETCH?=    ${LIBDESTDIR}${LIBDIR_BASE}/libfetch.a
 +LIBFIGPAR?=   ${LIBDESTDIR}${LIBDIR_BASE}/libfigpar.a
 +LIBFL?=               "don't use LIBFL, use LIBL"
 +LIBFORMW?=    ${LIBDESTDIR}${LIBDIR_BASE}/libformw.a
 +LIBG2C?=      ${LIBDESTDIR}${LIBDIR_BASE}/libg2c.a
 +LIBGEOM?=     ${LIBDESTDIR}${LIBDIR_BASE}/libgeom.a
 +LIBGPIO?=     ${LIBDESTDIR}${LIBDIR_BASE}/libgpio.a
 +LIBGSSAPI?=   ${LIBDESTDIR}${LIBDIR_BASE}/libgssapi.a
 +LIBGSSAPI_KRB5?= ${LIBDESTDIR}${LIBDIR_BASE}/libgssapi_krb5.a
 +LIBHDB?=      ${LIBDESTDIR}${LIBDIR_BASE}/libhdb.a
 +LIBHEIMBASE?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimbase.a
 +LIBHEIMNTLM?= ${LIBDESTDIR}${LIBDIR_BASE}/libheimntlm.a
 +LIBHEIMSQLITE?=       ${LIBDESTDIR}${LIBDIR_BASE}/libheimsqlite.a
 +LIBHX509?=    ${LIBDESTDIR}${LIBDIR_BASE}/libhx509.a
 +LIBIBCM?=     ${LIBDESTDIR}${LIBDIR_BASE}/libibcm.a
 +LIBIBMAD?=    ${LIBDESTDIR}${LIBDIR_BASE}/libibmad.a
 +LIBIBNETDISC?=        ${LIBDESTDIR}${LIBDIR_BASE}/libibnetdisc.a
 +LIBIBUMAD?=   ${LIBDESTDIR}${LIBDIR_BASE}/libibumad.a
 +LIBIBVERBS?=  ${LIBDESTDIR}${LIBDIR_BASE}/libibverbs.a
 +LIBICP?=      ${LIBDESTDIR}${LIBDIR_BASE}/libicp.a
 +LIBIPSEC?=    ${LIBDESTDIR}${LIBDIR_BASE}/libipsec.a
 +LIBIPT?=      ${LIBDESTDIR}${LIBDIR_BASE}/libipt.a
 +LIBIRDMA?=    ${LIBDESTDIR}${LIBDIR_BASE}/libirdma.a
 +LIBISCSIUTIL?=        ${LIBDESTDIR}${LIBDIR_BASE}/libiscsiutil.a
 +LIBJAIL?=     ${LIBDESTDIR}${LIBDIR_BASE}/libjail.a
 +LIBKADM5CLNT?=        ${LIBDESTDIR}${LIBDIR_BASE}/libkadm5clnt.a
 +LIBKADM5SRV?= ${LIBDESTDIR}${LIBDIR_BASE}/libkadm5srv.a
 +LIBKAFS5?=    ${LIBDESTDIR}${LIBDIR_BASE}/libkafs5.a
 +LIBKDC?=      ${LIBDESTDIR}${LIBDIR_BASE}/libkdc.a
 +LIBKEYCAP?=   ${LIBDESTDIR}${LIBDIR_BASE}/libkeycap.a
 +LIBKICONV?=   ${LIBDESTDIR}${LIBDIR_BASE}/libkiconv.a
 +LIBKRB5?=     ${LIBDESTDIR}${LIBDIR_BASE}/libkrb5.a
 +LIBKVM?=      ${LIBDESTDIR}${LIBDIR_BASE}/libkvm.a
 +LIBL?=                ${LIBDESTDIR}${LIBDIR_BASE}/libl.a
 +LIBLN?=               "don't use LIBLN, use LIBL"
 +LIBLZMA?=     ${LIBDESTDIR}${LIBDIR_BASE}/liblzma.a
 +LIBM?=                ${LIBDESTDIR}${LIBDIR_BASE}/libm.a
 +LIBMAGIC?=    ${LIBDESTDIR}${LIBDIR_BASE}/libmagic.a
 +LIBMD?=               ${LIBDESTDIR}${LIBDIR_BASE}/libmd.a
 +LIBMEMSTAT?=  ${LIBDESTDIR}${LIBDIR_BASE}/libmemstat.a
 +LIBMENU?=     ${LIBDESTDIR}${LIBDIR_BASE}/libmenu.a
 +LIBMILTER?=   ${LIBDESTDIR}${LIBDIR_BASE}/libmilter.a
 +LIBMLX4?=     ${LIBDESTDIR}${LIBDIR_BASE}/libmlx4.a
 +LIBMLX5?=     ${LIBDESTDIR}${LIBDIR_BASE}/libmlx5.a
 +LIBMP?=               ${LIBDESTDIR}${LIBDIR_BASE}/libmp.a
 +LIBMT?=               ${LIBDESTDIR}${LIBDIR_BASE}/libmt.a
 +LIBNCURSES?=  ${LIBDESTDIR}${LIBDIR_BASE}/libncurses.a
 +LIBNCURSESW?= ${LIBDESTDIR}${LIBDIR_BASE}/libncursesw.a
 +LIBNETGRAPH?= ${LIBDESTDIR}${LIBDIR_BASE}/libnetgraph.a
 +LIBNETMAP?=   ${LIBDESTDIR}${LIBDIR_BASE}/libnetmap.a
 +LIBNGATM?=    ${LIBDESTDIR}${LIBDIR_BASE}/libngatm.a
 +LIBNV?=               ${LIBDESTDIR}${LIBDIR_BASE}/libnv.a
 +LIBNVPAIR?=   ${LIBDESTDIR}${LIBDIR_BASE}/libnvpair.a
 +LIBOPENCSD?=  ${LIBDESTDIR}${LIBDIR_BASE}/libopencsd.a
 +LIBOPENSM?=   ${LIBDESTDIR}${LIBDIR_BASE}/libopensm.a
 +LIBOSMCOMP?=  ${LIBDESTDIR}${LIBDIR_BASE}/libosmcomp.a
 +LIBOSMVENDOR?=        ${LIBDESTDIR}${LIBDIR_BASE}/libosmvendor.a
 +LIBPAM?=      ${LIBDESTDIR}${LIBDIR_BASE}/libpam.a
 +LIBPANEL?=    ${LIBDESTDIR}${LIBDIR_BASE}/libpanel.a
 +LIBPANELW?=   ${LIBDESTDIR}${LIBDIR_BASE}/libpanelw.a
 +LIBPCAP?=     ${LIBDESTDIR}${LIBDIR_BASE}/libpcap.a
 +LIBPJDLOG?=   ${LIBDESTDIR}${LIBDIR_BASE}/libpjdlog.a
 +LIBPMC?=      ${LIBDESTDIR}${LIBDIR_BASE}/libpmc.a
 +LIBPROC?=     ${LIBDESTDIR}${LIBDIR_BASE}/libproc.a
 +LIBPROCSTAT?= ${LIBDESTDIR}${LIBDIR_BASE}/libprocstat.a
 +LIBPTHREAD?=  ${LIBDESTDIR}${LIBDIR_BASE}/libpthread.a
 +LIBRADIUS?=   ${LIBDESTDIR}${LIBDIR_BASE}/libradius.a
 +LIBRDMACM?=   ${LIBDESTDIR}${LIBDIR_BASE}/librdmacm.a
 +LIBREGEX?=    ${LIBDESTDIR}${LIBDIR_BASE}/libregex.a
 +LIBROKEN?=    ${LIBDESTDIR}${LIBDIR_BASE}/libroken.a
 +LIBRPCSEC_GSS?=       ${LIBDESTDIR}${LIBDIR_BASE}/librpcsec_gss.a
 +LIBRPCSVC?=   ${LIBDESTDIR}${LIBDIR_BASE}/librpcsvc.a
 +LIBRT?=               ${LIBDESTDIR}${LIBDIR_BASE}/librt.a
 +LIBRTLD_DB?=  ${LIBDESTDIR}${LIBDIR_BASE}/librtld_db.a
 +LIBSBUF?=     ${LIBDESTDIR}${LIBDIR_BASE}/libsbuf.a
 +LIBSDP?=      ${LIBDESTDIR}${LIBDIR_BASE}/libsdp.a
 +LIBSMB?=      ${LIBDESTDIR}${LIBDIR_BASE}/libsmb.a
 +LIBSPL?=      ${LIBDESTDIR}${LIBDIR_BASE}/libspl.a
 +LIBSSL?=      ${LIBDESTDIR}${LIBDIR_BASE}/libssl.a
 +LIBSSP_NONSHARED?=    ${LIBDESTDIR}${LIBDIR_BASE}/libssp_nonshared.a
 +LIBSTATS?=    ${LIBDESTDIR}${LIBDIR_BASE}/libstats.a
 +LIBSTDTHREADS?=       ${LIBDESTDIR}${LIBDIR_BASE}/libstdthreads.a
 +LIBSYSDECODE?=        ${LIBDESTDIR}${LIBDIR_BASE}/libsysdecode.a
 +LIBTACPLUS?=  ${LIBDESTDIR}${LIBDIR_BASE}/libtacplus.a
 +LIBTERMCAP?=  ${LIBDESTDIR}${LIBDIR_BASE}/libtermcap.a
 +LIBTERMCAPW?= ${LIBDESTDIR}${LIBDIR_BASE}/libtermcapw.a
 +LIBTERMLIB?=  "don't use LIBTERMLIB, use LIBTERMCAP"
 +LIBTINFOW=    ${LIBDESTDIR}${LIBDIR_BASE}/libtinfow.a
 +LIBTPOOL?=    ${LIBDESTDIR}${LIBDIR_BASE}/libtpool.a
 +LIBUFS?=      ${LIBDESTDIR}${LIBDIR_BASE}/libufs.a
 +LIBUGIDFW?=   ${LIBDESTDIR}${LIBDIR_BASE}/libugidfw.a
 +LIBULOG?=     ${LIBDESTDIR}${LIBDIR_BASE}/libulog.a
 +LIBUMEM?=     ${LIBDESTDIR}${LIBDIR_BASE}/libumem.a
 +LIBUSB?=      ${LIBDESTDIR}${LIBDIR_BASE}/libusb.a
 +LIBUSBHID?=   ${LIBDESTDIR}${LIBDIR_BASE}/libusbhid.a
 +LIBUTIL?=     ${LIBDESTDIR}${LIBDIR_BASE}/libutil.a
 +LIBUUTIL?=    ${LIBDESTDIR}${LIBDIR_BASE}/libuutil.a
 +LIBVGL?=      ${LIBDESTDIR}${LIBDIR_BASE}/libvgl.a
 +LIBVMMAPI?=   ${LIBDESTDIR}${LIBDIR_BASE}/libvmmapi.a
 +LIBWIND?=     ${LIBDESTDIR}${LIBDIR_BASE}/libwind.a
 +LIBWRAP?=     ${LIBDESTDIR}${LIBDIR_BASE}/libwrap.a
 +LIBXO?=               ${LIBDESTDIR}${LIBDIR_BASE}/libxo.a
 +LIBXPG4?=     ${LIBDESTDIR}${LIBDIR_BASE}/libxpg4.a
 +LIBY?=                ${LIBDESTDIR}${LIBDIR_BASE}/liby.a
 +LIBYPCLNT?=   ${LIBDESTDIR}${LIBDIR_BASE}/libypclnt.a
 +LIBZ?=                ${LIBDESTDIR}${LIBDIR_BASE}/libz.a
++LIBZDB?=      ${LIBDESTDIR}${LIBDIR_BASE}/libzdb.a
 +LIBZFS?=      ${LIBDESTDIR}${LIBDIR_BASE}/libzfs.a
 +LIBZFS_CORE?= ${LIBDESTDIR}${LIBDIR_BASE}/libzfs_core.a
 +LIBZFSBOOTENV?=       ${LIBDESTDIR}${LIBDIR_BASE}/libzfsbootenv.a
 +LIBZPOOL?=    ${LIBDESTDIR}${LIBDIR_BASE}/libzpool.a
 +LIBZUTIL?=    ${LIBDESTDIR}${LIBDIR_BASE}/libzutil.a
 +
 +# enforce the 2 -lpthread and -lc to always be the last in that exact order
 +.if defined(LDADD)
 +.if ${LDADD:M-lpthread}
 +LDADD:=       ${LDADD:N-lpthread} -lpthread
 +.endif
 +.if ${LDADD:M-lc}
 +LDADD:=       ${LDADD:N-lc} -lc
 +.endif
 +.endif
 +
 +# Only do this for src builds.
 +.if defined(SRCTOP)
 +.if defined(_LIBRARIES) && defined(LIB) && \
 +    ${_LIBRARIES:M${LIB}} != ""
 +.if !defined(LIB${LIB:tu})
 +.error ${.CURDIR}: Missing value for LIB${LIB:tu} in ${_this:T}.  Likely 
should be: LIB${LIB:tu}?= $${LIBDESTDIR}$${LIBDIR_BASE}/lib${LIB}.a
 +.endif
 +.endif
 +
 +# Derive LIB*SRCDIR from LIB*DIR
 +.for lib in ${_LIBRARIES}
 +LIB${lib:tu}SRCDIR?=  ${SRCTOP}/${LIB${lib:tu}DIR:S,^${OBJTOP}/,,}
 +.endfor
 +.else
 +
 +# Out of tree builds
 +
 +# There are LIBADD defined in an out-of-tree build.  Are they *all*
 +# in-tree libraries?  If so convert them to LDADD to support
 +# partial checkouts.
 +.if !empty(LIBADD)
 +_convert_libadd=      1
 +.for l in ${LIBADD}
 +.if empty(LIB${l:tu})
 +_convert_libadd=      0
 +.endif
 +.endfor
 +.if ${_convert_libadd} == 1
 +.warning Converting out-of-tree build LIBADDs into LDADD.  This is not fully 
supported.
 +.for l in ${LIBADD}
 +LDADD+=       -l${l}
 +.endfor
 +.endif
 +.endif
 +
 +.endif        # defined(SRCTOP)
diff --cc share/mk/src.libnames.mk
index 5a6932614b29,000000000000..658dd1c3d699
mode 100644,000000..100644
--- a/share/mk/src.libnames.mk
+++ b/share/mk/src.libnames.mk
@@@ -1,804 -1,0 +1,807 @@@
 +#
 +# The include file <src.libnames.mk> define library names suitable
 +# for INTERNALLIB and PRIVATELIB definition
 +
 +.if !target(__<bsd.init.mk>__)
 +.error src.libnames.mk cannot be included directly.
 +.endif
 +
 +.if !target(__<src.libnames.mk>__)
 +__<src.libnames.mk>__:
 +
 +.include <src.opts.mk>
 +
 +_PRIVATELIBS= \
 +              atf_c \
 +              atf_cxx \
 +              auditd \
 +              bsddialog \
 +              bsdstat \
 +              cbor \
 +              devdctl \
 +              event1 \
 +              fido2 \
 +              gmock \
 +              gtest \
 +              gmock_main \
 +              gtest_main \
 +              heimipcc \
 +              heimipcs \
 +              ldns \
 +              sqlite3 \
 +              ssh \
 +              ucl \
 +              unbound \
 +              zstd
 +
 +# Let projects based on FreeBSD append to _PRIVATELIBS
 +# by maintaining their own LOCAL_PRIVATELIBS list.
 +_PRIVATELIBS+=        ${LOCAL_PRIVATELIBS}
 +
 +_INTERNALLIBS=        \
 +              amu \
 +              bsnmptools \
 +              c_nossp_pic \
 +              cron \
 +              elftc \
 +              fifolog \
 +              ifconfig \
 +              ipf \
 +              iscsiutil \
 +              lpr \
 +              lua \
 +              lutok \
 +              netbsd \
 +              ntp \
 +              ntpevent \
 +              openbsd \
 +              opts \
 +              parse \
 +              pe \
 +              pfctl \
 +              pmcstat \
 +              sl \
 +              sm \
 +              smdb \
 +              smutil \
 +              telnet \
 +              vers \
 +              wpaap \
 +              wpacommon \
 +              wpacrypto \
 +              wpadrivers \
 +              wpaeap_common \
 +              wpaeap_peer \
 +              wpaeap_server \
 +              wpaeapol_auth \
 +              wpaeapol_supp \
 +              wpal2_packet \
 +              wparadius \
 +              wparsn_supp \
 +              wpatls \
 +              wpautils \
 +              wpawps
 +
 +# Let projects based on FreeBSD append to _INTERNALLIBS
 +# by maintaining their own LOCAL_INTERNALLIBS list.
 +_INTERNALLIBS+=       ${LOCAL_INTERNALLIBS}
 +
 +_LIBRARIES=   \
 +              ${_PRIVATELIBS} \
 +              ${_INTERNALLIBS} \
 +              ${LOCAL_LIBRARIES} \
 +              80211 \
 +              9p \
 +              alias \
 +              archive \
 +              asn1 \
 +              avl \
 +              BlocksRuntime \
 +              be \
 +              begemot \
 +              bluetooth \
 +              bsdxml \
 +              bsm \
 +              bsnmp \
 +              bz2 \
 +              c \
 +              c_pic \
 +              calendar \
 +              cam \
 +              casper \
 +              cap_dns \
 +              cap_fileargs \
 +              cap_grp \
 +              cap_net \
 +              cap_netdb \
 +              cap_pwd \
 +              cap_sysctl \
 +              cap_syslog \
 +              com_err \
 +              compiler_rt \
 +              crypt \
 +              crypto \
 +              ctf \
 +              cuse \
 +              cxxrt \
 +              devctl \
 +              devdctl \
 +              devinfo \
 +              devstat \
 +              dialog \
 +              dl \
 +              dpv \
 +              dtrace \
 +              dwarf \
 +              edit \
 +              efivar \
 +              elf \
 +              execinfo \
 +              fetch \
 +              figpar \
 +              formw \
 +              geom \
 +              gpio \
 +              gssapi \
 +              gssapi_krb5 \
 +              hdb \
 +              heimbase \
 +              heimntlm \
 +              heimsqlite \
 +              hx509 \
 +              icp \
 +              ipsec \
 +              ipt \
 +              jail \
 +              kadm5clnt \
 +              kadm5srv \
 +              kafs5 \
 +              kdc \
 +              kiconv \
 +              krb5 \
 +              kvm \
 +              l \
 +              lzma \
 +              m \
 +              magic \
 +              md \
 +              memstat \
 +              mp \
 +              mt \
 +              ncursesw \
 +              netgraph \
 +              netmap \
 +              ngatm \
 +              nv \
 +              nvpair \
 +              opencsd \
 +              pam \
 +              panel \
 +              panelw \
 +              pcap \
 +              pcsclite \
 +              pjdlog \
 +              pmc \
 +              proc \
 +              procstat \
 +              pthread \
 +              radius \
 +              regex \
 +              roken \
 +              rpcsec_gss \
 +              rpcsvc \
 +              rt \
 +              rtld_db \
 +              sbuf \
 +              sdp \
 +              sm \
 +              smb \
 +              spl \
 +              ssl \
 +              ssp_nonshared \
 +              stats \
 +              stdthreads \
 +              supcplusplus \
 +              sys \
 +              sysdecode \
 +              tacplus \
 +              termcapw \
 +              tinfow \
 +              tpool \
 +              ufs \
 +              ugidfw \
 +              ulog \
 +              umem \
 +              usb \
 +              usbhid \
 +              util \
 +              uutil \
 +              vmmapi \
 +              wind \
 +              wrap \
 +              xo \
 +              y \
 +              ypclnt \
 +              z \
++              zdb \
 +              zfs_core \
 +              zfs \
 +              zfsbootenv \
 +              zpool \
 +              zutil
 +
 +.if ${MK_BLACKLIST} != "no"
 +_LIBRARIES+= \
 +              blacklist \
 +
 +.endif
 +
 +.if ${MK_OFED} != "no"
 +_LIBRARIES+= \
 +              cxgb4 \
 +              ibcm \
 +              ibmad \
 +              ibnetdisc \
 +              ibumad \
 +              ibverbs \
 +              irdma \
 +              mlx4 \
 +              mlx5 \
 +              rdmacm \
 +              osmcomp \
 +              opensm \
 +              osmvendor
 +.endif
 +
 +.if ${MK_BEARSSL} == "yes"
 +_LIBRARIES+= \
 +              bearssl \
 +              secureboot \
 +
 +LIBBEARSSL?=  ${LIBBEARSSLDIR}/libbearssl.a
 +LIBSECUREBOOT?=       ${LIBSECUREBOOTDIR}/libsecureboot.a
 +.endif
 +
 +.if ${MK_VERIEXEC} == "yes"
 +_LIBRARIES+= veriexec
 +
 +LIBVERIEXEC?= ${LIBVERIEXECDIR}/libveriexec.a
 +.endif
 +
 +# Each library's LIBADD needs to be duplicated here for static linkage of
 +# 2nd+ order consumers.  Auto-generating this would be better.
 +_DP_80211=    sbuf bsdxml
*** 1766 LINES SKIPPED ***

Reply via email to