From: Gary V. Vaughan Date: Thu, 4 Dec 2014 17:44:41 +0000 (+0000) Subject: libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path. X-Git-Tag: v2.4.5~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8727e07a166f6822751a4d719fff9a1094ce1619;p=thirdparty%2Flibtool.git libtool: for 64bit GNU arches, add /lib64 and /usr/lib64 to sys_lib_dlsearch_path. * m4/libtool.m4 (_LT_SYS_DYNAMIC_LINKER) : If $host_cpu contains "64", add /lib64 and /usr/lib64 to sys_lib_dlsearch_path_spec. Reported by Orion Poplawski, Christian Rössel, Olly Betts et. al. Signed-off-by: Gary V. Vaughan --- diff --git a/NEWS b/NEWS index be3c7f477..6d48d28de 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,9 @@ NEWS - list of user-visible changes between releases of GNU Libtool ia64-hp-hpux*, because the default system runtime loader path does not contain them. + - For various GNU/Linux (and other GNU OSes) on 64bit glibc/ELF hosts, + explicit /lib64 and /usr/lib64 rpaths are no longer necessary. + * Noteworthy changes in release 2.4.4 (2014-11-29) [stable] diff --git a/m4/libtool.m4 b/m4/libtool.m4 index 2bbf01b1d..fd4dfb40f 100644 --- a/m4/libtool.m4 +++ b/m4/libtool.m4 @@ -2796,6 +2796,14 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*) lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '` sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" fi + # Ideally we could use /sbin/ldconfig to report what directories are + # searched, but (aside from not being certain /sbin/ldconfig is + # available) Fedora on 64bit does not report /usr/lib64, even though + # it is searched at run-time. + case $host_cpu in + # match at least x86_64, ia64, powerpc64* + *64*) sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 $sys_lib_dlsearch_path_spec" ;; + esac # We used to test for /lib/ld.so.1 and disable shared libraries on # powerpc, because MkLinux only supported shared libraries with the