diff options
Diffstat (limited to 'etc')
-rw-r--r-- | etc/defaults/rc.conf | 5 | ||||
-rw-r--r-- | etc/mtree/BSD.local.dist | 4 | ||||
-rw-r--r-- | etc/mtree/BSD.x11.dist | 4 | ||||
-rwxr-xr-x | etc/rc.d/ldconfig | 17 |
4 files changed, 30 insertions, 0 deletions
diff --git a/etc/defaults/rc.conf b/etc/defaults/rc.conf index df0143d15111..a6e5eba156eb 100644 --- a/etc/defaults/rc.conf +++ b/etc/defaults/rc.conf @@ -498,6 +498,11 @@ ldconfig_paths="/usr/lib/compat /usr/X11R6/lib /usr/local/lib /usr/local/lib/com # shared library search paths ldconfig_paths_aout="/usr/lib/compat/aout /usr/X11R6/lib/aout /usr/local/lib/aout" # a.out shared library search paths +ldconfig_local_dirs="/usr/local/libdata/ldconfig /usr/X11R6/libdata/ldconfig" + # Local directories with ldconfig configuration files. +ldconfig_local32_dirs="/usr/local/libdata/ldconfig32 /usr/X11R6/libdata/ldconfig32" + # Local directories with 32-bit compatibility ldconfig + # configuration files. kern_securelevel_enable="NO" # kernel security level (see init(8)), kern_securelevel="-1" # range: -1..3 ; `-1' is the most insecure # Note that setting securelevel to 0 will result diff --git a/etc/mtree/BSD.local.dist b/etc/mtree/BSD.local.dist index 966fc028e07a..491e0f5a66b4 100644 --- a/etc/mtree/BSD.local.dist +++ b/etc/mtree/BSD.local.dist @@ -20,6 +20,10 @@ lib .. libdata + ldconfig + .. + ldconfig32 + .. pkgconfig .. .. diff --git a/etc/mtree/BSD.x11.dist b/etc/mtree/BSD.x11.dist index ef3378153cba..122cdd5d60ee 100644 --- a/etc/mtree/BSD.x11.dist +++ b/etc/mtree/BSD.x11.dist @@ -192,6 +192,10 @@ .. .. libdata + ldconfig + .. + ldconfig32 + .. .. libexec .. diff --git a/etc/rc.d/ldconfig b/etc/rc.d/ldconfig index 96de36348919..60a61e1f18ea 100755 --- a/etc/rc.d/ldconfig +++ b/etc/rc.d/ldconfig @@ -22,6 +22,11 @@ ldconfig_start() checkyesno ldconfig_insecure && _ins="-i" if [ -x "${ldconfig_command}" ]; then _LDC="/lib /usr/lib" + for i in ${ldconfig_local_dirs}; do + if [ -d "${i}" ]; then + ldconfig_paths="${ldconfig_paths} `find ${i} -type f`" + fi + done for i in ${ldconfig_paths} /etc/ld-elf.so.conf; do if [ -r "${i}" ]; then _LDC="${_LDC} ${i}" @@ -30,6 +35,18 @@ ldconfig_start() echo 'ELF ldconfig path:' ${_LDC} ${ldconfig} -elf ${_ins} ${_LDC} + case `sysctl -n hw.machine_arch` in + amd64) + for i in ${ldconfig_local32_dirs}; do + if [ -d "${i}" ]; then + ldconfig32_paths="${ldconfig32_paths} `find ${i} -type f`" + fi + done + echo '32-bit compatibility ldconfig path:' ${ldconfig32_paths} + ${ldconfig} -32 -m ${_ins} ${ldconfig32_paths} + ;; + esac + # Legacy aout support for i386 only case `sysctl -n hw.machine_arch` in i386) |