Date: Fri, 28 Oct 2011 22:08:24 +0200 From: Robert Millan <rmh@freebsd.org> To: Kostik Belousov <kostikbel@gmail.com>, Adrian Chadd <adrian@freebsd.org> Cc: freebsd-fs@freebsd.org Subject: [PATCH] fix gratuitous dependencies in ZFS libraries / utilities Message-ID: <20111028200824.GA2757@thorin>
next in thread | raw e-mail | index | archive | help
--ADZbWkCsHQ7r3kzd
Content-Type: multipart/mixed; boundary="Kj7319i9nmIyA2yE"
Content-Disposition: inline
--Kj7319i9nmIyA2yE
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Hi,
Some of the ZFS libraries and utilities are linked with libraries they
don't use:
- zinject doesn't use libavl
- ztest doesn't use libz
- zdb uses neither libavl nor libz
- zfs uses neither libbsdxml nor libm, nor libsbuf
- zpool uses neither libbsdxml nor libm, nor libsbuf
In addition, libzfs needs libm because it uses pow(), however it isn't
linked with -lm. This went unnoticed because all its users had -lm before.
Attached patch (tested with "make buildworld") fixes these problems.
--=20
Robert Millan
--Kj7319i9nmIyA2yE
Content-Type: text/x-diff; charset=us-ascii
Content-Disposition: attachment; filename="gratuitous_dependencies.diff"
Content-Transfer-Encoding: quoted-printable
Index: cddl/usr.bin/zinject/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.bin/zinject/Makefile (revision 226869)
+++ cddl/usr.bin/zinject/Makefile (working copy)
@@ -19,8 +19,8 @@
CFLAGS+=3D -I${.CURDIR}/../../contrib/opensolaris/head
CFLAGS+=3D -I${.CURDIR}/../../lib/libumem
=20
-DPADD=3D ${LIBAVL} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBUUTIL} \
+DPADD=3D ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBUUTIL} \
${LIBZFS} ${LIBZPOOL}
-LDADD=3D -lavl -lgeom -lm -lnvpair -lumem -luutil -lzfs -lzpool
+LDADD=3D -lgeom -lm -lnvpair -lumem -luutil -lzfs -lzpool
=20
.include <bsd.prog.mk>
Index: cddl/usr.bin/ztest/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.bin/ztest/Makefile (revision 226869)
+++ cddl/usr.bin/ztest/Makefile (working copy)
@@ -18,8 +18,8 @@
CFLAGS+=3D -I${.CURDIR}/../../lib/libumem
=20
DPADD=3D ${LIBM} ${LIBNVPAIR} ${LIBUMEM} ${LIBZPOOL} \
- ${LIBPTHREAD} ${LIBZ} ${LIBAVL}
-LDADD=3D -lm -lnvpair -lumem -lzpool -lpthread -lz -lavl
+ ${LIBPTHREAD} ${LIBAVL}
+LDADD=3D -lm -lnvpair -lumem -lzpool -lpthread -lavl
=20
CSTD=3D c99
=20
Index: cddl/usr.sbin/zdb/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/usr.sbin/zdb/Makefile (revision 226869)
+++ cddl/usr.sbin/zdb/Makefile (working copy)
@@ -23,9 +23,9 @@
CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/head
CFLAGS+=3D -I${.CURDIR}/../../lib/libumem
=20
-DPADD=3D ${LIBAVL} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBPTHREAD} ${LIBUMEM=
} \
- ${LIBUUTIL} ${LIBZ} ${LIBZFS} ${LIBZPOOL}
-LDADD=3D -lavl -lgeom -lm -lnvpair -lpthread -lumem -luutil -lz -lzfs -lzp=
ool
+DPADD=3D ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBPTHREAD} ${LIBUMEM} \
+ ${LIBUUTIL} ${LIBZFS} ${LIBZPOOL}
+LDADD=3D -lgeom -lm -lnvpair -lpthread -lumem -luutil -lzfs -lzpool
=20
=20
.include <bsd.prog.mk>
Index: cddl/lib/libzfs/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/lib/libzfs/Makefile (revision 226869)
+++ cddl/lib/libzfs/Makefile (working copy)
@@ -6,8 +6,8 @@
.PATH: ${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzfs/common
=20
LIB=3D zfs
-DPADD=3D ${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL}
-LDADD=3D -lmd -lpthread -lumem -lutil
+DPADD=3D ${LIBMD} ${LIBPTHREAD} ${LIBUMEM} ${LIBUTIL} ${LIBM}
+LDADD=3D -lmd -lpthread -lumem -lutil -lm
=20
SRCS=3D deviceid.c \
fsshare.c \
Index: cddl/sbin/zfs/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/sbin/zfs/Makefile (revision 226869)
+++ cddl/sbin/zfs/Makefile (working copy)
@@ -21,8 +21,8 @@
CFLAGS+=3D -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/uts/common/s=
ys
CFLAGS+=3D -I${.CURDIR}/../../../sys/cddl/contrib/opensolaris/common/zfs
=20
-DPADD=3D ${LIBBSDXML} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBSBUF} ${LIBUMEM=
} \
+DPADD=3D ${LIBGEOM} ${LIBNVPAIR} ${LIBUMEM} \
${LIBUTIL} ${LIBUUTIL} ${LIBZFS}
-LDADD=3D -lbsdxml -lgeom -lm -lnvpair -lsbuf -lumem -lutil -luutil -lzfs
+LDADD=3D -lgeom -lnvpair -lumem -lutil -luutil -lzfs
=20
.include <bsd.prog.mk>
Index: cddl/sbin/zpool/Makefile
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- cddl/sbin/zpool/Makefile (revision 226869)
+++ cddl/sbin/zpool/Makefile (working copy)
@@ -26,8 +26,8 @@
CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/lib/libzpool/com=
mon
CFLAGS+=3D -I${.CURDIR}/../../../cddl/contrib/opensolaris/cmd/stat/common
=20
-DPADD=3D ${LIBAVL} ${LIBBSDXML} ${LIBGEOM} ${LIBM} ${LIBNVPAIR} ${LIBSBUF}=
\
+DPADD=3D ${LIBAVL} ${LIBGEOM} ${LIBNVPAIR} \
${LIBUMEM} ${LIBUTIL} ${LIBUUTIL} ${LIBZFS}
-LDADD=3D -lavl -lbsdxml -lgeom -lm -lnvpair -lsbuf -lumem -lutil -luutil -=
lzfs
+LDADD=3D -lavl -lgeom -lnvpair -lumem -lutil -luutil -lzfs
=20
.include <bsd.prog.mk>
--Kj7319i9nmIyA2yE--
--ADZbWkCsHQ7r3kzd
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/kFreeBSD)
iQIcBAEBCAAGBQJOqwu3AAoJELd1onhloKnOreAQAImOMVpFCbvH1BKT8HjsoBSI
5hdC4b3HcCvzEyo7RUGH5TWHSK36uRm6I/bBco7RQDXmJOqbFoCjsjfqPDASgg5d
FfYEH4adbdAVLuWsX5CnqeyzZcHpFWiFLVsuRXTMef4+J54hokLdJsxBxyK+Bw+W
MFh7OWhgy3QPR1WjKyalUXTRKjHZByrfyD+tp9H00z8VSBZn0S7nGZyXu9pURqDL
1UDQ2hN8T7wXozVLdOuzB/ufh0Govdn5T4+cNdWCYJ1h/ff7efAzD/+8BmzYeDFg
UDJD43sOgwYVIqXsFgzvksug43RyHsLXsT+oI5e0j722v5utXUGGL9NN7POAQGzH
i3wBZy1Z/6uKuwUDjQZrmJog+PU0Chh+HvlUkX4TQ/rbBbYBPMnwwSum9wFA5a86
o4yL+DDFHBlX/1p5EZXTDhGFfLW5H36gQty27ShRMHI4sacGcZkBlmipSNlVpi/P
vEhmjnyN3UlYdynYNqAWKDFz5ElADqhwPf0ISYeghSVSnHrkkurnVUwlBMXKNDFW
eeL0H+SIMEQDd+gJj4o6VYgwo9TR+4ZPzNKcYqHx0L/ChIBxEYdgvPOYHn4DDiDb
TLXcRFzMLmjmbeTudHGkWf8/wFfLkc/fhW5Q4uNUnUbRtHE6xB9JjCLc4cUPGEjn
YlzRE3ii1ky44E4BOhsu
=0vB7
-----END PGP SIGNATURE-----
--ADZbWkCsHQ7r3kzd--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20111028200824.GA2757>
