From 9e9c651caceb9ecd17131e8bb29791ba4cf1cec7 Mon Sep 17 00:00:00 2001 From: Greg V Date: Sat, 16 Oct 2021 19:29:28 +0300 Subject: [PATCH] cddl: fix missing ZFS library dependencies In 9fae47666 zfsd got a libspl dependency to avoid undefined references. However that workaround did not help external consumers of libzfs_core. Fix all missing dependencies lld 13 and the rtld complain about. Reviewed by: freqlabs, markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D32521 --- Makefile.inc1 | 8 ++++++-- cddl/lib/Makefile | 4 +++- cddl/lib/libavl/Makefile | 1 + cddl/lib/libnvpair/Makefile | 1 + cddl/lib/libzfs_core/Makefile | 2 +- cddl/lib/libzutil/Makefile | 2 +- cddl/usr.sbin/zfsd/Makefile.common | 2 +- share/mk/src.libnames.mk | 6 ++++-- 8 files changed, 18 insertions(+), 8 deletions(-) diff --git a/Makefile.inc1 b/Makefile.inc1 index ba1c74adabe1..6d6991a395c2 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -3027,11 +3027,15 @@ _cddl_lib_libzfs_core= cddl/lib/libzfs_core _cddl_lib_libzfs= cddl/lib/libzfs _cddl_lib_libzfsbootenv= cddl/lib/libzfsbootenv +cddl/lib/libavl__L: cddl/lib/libspl__L + +cddl/lib/libnvpair__L: cddl/lib/libspl__L + cddl/lib/libtpool__L: cddl/lib/libspl__L -cddl/lib/libzutil__L: cddl/lib/libavl__L cddl/lib/libtpool__L +cddl/lib/libzutil__L: cddl/lib/libavl__L lib/libgeom__L lib/msun__L cddl/lib/libtpool__L -cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L +cddl/lib/libzfs_core__L: cddl/lib/libnvpair__L cddl/lib/libspl__L cddl/lib/libzutil__L cddl/lib/libzfs__L: cddl/lib/libzfs_core__L lib/msun__L lib/libutil__L cddl/lib/libzfs__L: lib/libthr__L lib/libmd__L lib/libz__L cddl/lib/libumem__L diff --git a/cddl/lib/Makefile b/cddl/lib/Makefile index ae6862f70443..5ca0d56b291a 100644 --- a/cddl/lib/Makefile +++ b/cddl/lib/Makefile @@ -36,11 +36,13 @@ _pam_zfs_key= pam_zfs_key .endif .endif +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 +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 diff --git a/cddl/lib/libavl/Makefile b/cddl/lib/libavl/Makefile index 2f7b9ad30856..b5e3b458f982 100644 --- a/cddl/lib/libavl/Makefile +++ b/cddl/lib/libavl/Makefile @@ -4,6 +4,7 @@ PACKAGE= runtime LIB= avl +LIBADD= spl SRCS= avl.c WARNS?= 3 CFLAGS+= -DIN_BASE diff --git a/cddl/lib/libnvpair/Makefile b/cddl/lib/libnvpair/Makefile index 670253eff7c1..aaf76ed3fb28 100644 --- a/cddl/lib/libnvpair/Makefile +++ b/cddl/lib/libnvpair/Makefile @@ -4,6 +4,7 @@ .PATH: ${SRCTOP}/sys/contrib/openzfs/lib/libnvpair LIB= nvpair +LIBADD= spl PACKAGE= runtime # user diff --git a/cddl/lib/libzfs_core/Makefile b/cddl/lib/libzfs_core/Makefile index abe0348f2313..5a7475f55428 100644 --- a/cddl/lib/libzfs_core/Makefile +++ b/cddl/lib/libzfs_core/Makefile @@ -7,7 +7,7 @@ LIB= zfs_core -LIBADD= nvpair +LIBADD= nvpair spl zutil PACKAGE= runtime INCS= libzfs_core.h diff --git a/cddl/lib/libzutil/Makefile b/cddl/lib/libzutil/Makefile index 85467151a5bb..2e6b53658b22 100644 --- a/cddl/lib/libzutil/Makefile +++ b/cddl/lib/libzutil/Makefile @@ -5,7 +5,7 @@ .PATH: ${SRCTOP}/sys/contrib/openzfs/module/os/freebsd/zfs LIB= zutil -LIBADD= avl tpool +LIBADD= avl geom m tpool PACKAGE= runtime INCS = zutil_import.h diff --git a/cddl/usr.sbin/zfsd/Makefile.common b/cddl/usr.sbin/zfsd/Makefile.common index c18c796ce0ed..5e9257d7b37e 100644 --- a/cddl/usr.sbin/zfsd/Makefile.common +++ b/cddl/usr.sbin/zfsd/Makefile.common @@ -26,7 +26,7 @@ CFLAGS+= -I${SRCTOP}/cddl/usr.sbin # use issetugid(2) CFLAGS+= -D_MACHINE_FLOAT_H_ -DHAVE_ISSETUGID -LIBADD+= devdctl zfs zfs_core util geom bsdxml sbuf nvpair avl spl uutil zutil +LIBADD+= devdctl zfs util geom bsdxml sbuf nvpair avl uutil zutil cscope: find ${.CURDIR} -type f -a \( -name "*.[ch]" -o -name "*.cc" \) \ diff --git a/share/mk/src.libnames.mk b/share/mk/src.libnames.mk index 227691804e2a..7873d05d18da 100644 --- a/share/mk/src.libnames.mk +++ b/share/mk/src.libnames.mk @@ -260,6 +260,7 @@ LIBVERIEXEC?= ${LIBVERIEXECDIR}/libveriexec.a _DP_80211= sbuf bsdxml _DP_9p= sbuf _DP_archive= z bz2 lzma bsdxml zstd +_DP_avl= spl _DP_zstd= pthread .if ${MK_BLACKLIST} != "no" _DP_blacklist+= pthread @@ -380,6 +381,7 @@ _DP_stats= sbuf pthread _DP_stdthreads= pthread _DP_tacplus= md _DP_ncursesw= tinfow +_DP_nvpair= spl _DP_panelw= ncursesw _DP_rpcsec_gss= gssapi _DP_smb= kiconv @@ -391,9 +393,9 @@ _DP_uutil= avl spl _DP_zfs= md pthread umem util uutil m avl bsdxml crypto geom nvpair \ z zfs_core zutil _DP_zfsbootenv= zfs nvpair -_DP_zfs_core= nvpair +_DP_zfs_core= nvpair spl zutil _DP_zpool= md pthread z icp spl nvpair avl umem -_DP_zutil= avl tpool +_DP_zutil= avl geom m tpool _DP_be= zfs spl nvpair zfsbootenv _DP_netmap= _DP_ifconfig= m