aboutsummaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
Diffstat (limited to 'etc')
-rw-r--r--etc/defaults/rc.conf5
-rw-r--r--etc/mtree/BSD.local.dist4
-rw-r--r--etc/mtree/BSD.x11.dist4
-rwxr-xr-xetc/rc.d/ldconfig17
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)