From e10026a406b21b3f1581ee15a88def2b640dffe7 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Fri, 1 Apr 2022 09:58:47 -0400 Subject: [PATCH] installworld: handle ldd including preloaded objects The installworld target makes a temporary copy of binaries to be used during the install. Libraries that they depend on are also included, found by using `ldd`. After commit 0913953c9ed0 ldd started listing preloaded objects, including [vdso], under a [preloaded] header. Skip ldd output that is enclosed in square brackets. Reviewed by: cy, kib [earlier version] MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D34734 (cherry picked from commit b3b462229f972e2ed24d450d7d2f8855cdd58a87) --- Makefile.inc1 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Makefile.inc1 b/Makefile.inc1 index 327680cad5f..b8431b5abe0 100644 --- a/Makefile.inc1 +++ b/Makefile.inc1 @@ -1383,6 +1383,10 @@ distributeworld installworld stageworld: _installcheck_world .PHONY if [ -z "${CROSSBUILD_HOST}" ] ; then \ libs=$$(ldd -f "%o %p\n" -f "%o %p\n" $$progs 2>/dev/null | sort -u | \ while read line; do \ + case $$line in \ + "["*"]") \ + continue;; \ + esac; \ set -- $$line; \ if [ "$$2 $$3" != "not found" ]; then \ echo $$2; \ -- 2.45.0