diff options
author | John W. O'Brien <john@saltant.com> | 2023-11-12 22:45:27 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2023-11-13 23:39:17 +0000 |
commit | 99132daf6f70cb0cc969c555d3612547fa3cf1db (patch) | |
tree | 02c405f8a06cfe6aabad8197ddce53130f0c391a /libexec | |
parent | da8238d6cfeb819395b388ce31a94f22b3ea891f (diff) | |
download | src-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
Diffstat (limited to 'libexec')
-rwxr-xr-x | libexec/rc/rc.d/ldconfig | 5 |
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}" |