git: b3b462229f97 - main - installworld: handle ldd including preloaded objects

From: Ed Maste <emaste_at_FreeBSD.org>
Date: Fri, 01 Apr 2022 16:27:06 UTC
The branch main has been updated by emaste:

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

commit b3b462229f972e2ed24d450d7d2f8855cdd58a87
Author:     Ed Maste <emaste@FreeBSD.org>
AuthorDate: 2022-04-01 13:58:47 +0000
Commit:     Ed Maste <emaste@FreeBSD.org>
CommitDate: 2022-04-01 16:26:49 +0000

    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
---
 Makefile.inc1 | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/Makefile.inc1 b/Makefile.inc1
index 04c44d8e297b..f4d5b4cc8050 100644
--- a/Makefile.inc1
+++ b/Makefile.inc1
@@ -1368,6 +1368,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; \