aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn W. O'Brien <john@saltant.com>2023-11-12 22:45:27 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2023-11-13 23:39:17 +0000
commit99132daf6f70cb0cc969c555d3612547fa3cf1db (patch)
tree02c405f8a06cfe6aabad8197ddce53130f0c391a
parentda8238d6cfeb819395b388ce31a94f22b3ea891f (diff)
downloadsrc-99132daf6f70cb0cc969c555d3612547fa3cf1db.tar.gz
src-99132daf6f70cb0cc969c555d3612547fa3cf1db.zip
rc.d/ldconfig: Prepend rtld stdlib paths to ldconfig(32)_paths
Ensure that ldconfig-managed elf and elf32 hints always include the standard library paths that are known independently to rtld. PR: 275031 Reviewed by: kib MFC after: 2 weeks Sponsored by: Saltant Solutions LLC Differential Revision: https://reviews.freebsd.org/D42557
-rwxr-xr-xlibexec/rc/rc.d/ldconfig5
1 files changed, 4 insertions, 1 deletions
diff --git a/libexec/rc/rc.d/ldconfig b/libexec/rc/rc.d/ldconfig
index 178a8a987be4..ecbbca210ea0 100755
--- a/libexec/rc/rc.d/ldconfig
+++ b/libexec/rc/rc.d/ldconfig
@@ -22,7 +22,7 @@ ldconfig_start()
ldconfig=${ldconfig_command}
checkyesno ldconfig_insecure && _ins="-i"
if [ -x "${ldconfig_command}" ]; then
- _LDC="/lib /usr/lib"
+ _LDC=$(/libexec/ld-elf.so.1 -v | sed -n -e '/^Default lib path /s///p' | tr : ' ')
for i in ${ldconfig_local_dirs}; do
if [ -d "${i}" ]; then
_files=`find ${i} -type f`
@@ -52,6 +52,9 @@ ldconfig_start()
fi
done
_LDC=""
+ if [ -x /libexec/ld-elf32.so.1 ]; then
+ _LDC=$(/libexec/ld-elf32.so.1 -v | sed -n -e '/^Default lib path /s///p' | tr : ' ')
+ fi
for i in ${ldconfig32_paths}; do
if [ -r "${i}" ]; then
_LDC="${_LDC} ${i}"