GNU bug report logs - #16037
Add 64 bit directories to sys_lib_dlsearch_path_spec for Linux ELF

Previous Next

Package: libtool;

Reported by: Philipp Thomas <pth <at> suse.de>

Date: Tue, 3 Dec 2013 13:09:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Philipp Thomas <pth <at> suse.de>
To: 16037 <at> debbugs.gnu.org
Subject: bug#16037: Add 64 bit directories to sys_lib_dlsearch_path_spec for Linux ELF
Date: Tue, 3 Dec 2013 14:07:38 +0100
Four years ago Dan Nicholson po0sted the patch below to the libtool list
(http://lists.gnu.org/archive/html/libtool/2009-01/msg00043.html). The
patch wasn't rejected and is still missing from libtool. Why wasn't this or
something like it added to libtool up to now?

Philipp

Subject: [PATCH] Add 64 bit directories to sys_lib_dlsearch_path_spec for
Linux 
ELF

When the ABI is 64-bit on Linux ELF, add /lib64 and /usr/lib64 to the
system library path so that an RPATH is not added when using libraries
from these directories.


Signed-off-by: Dan Nicholson <address <at> hidden>
---
 libltdl/m4/libtool.m4 |   17 ++++++++++++++++-
 1 files changed, 16 insertions(+), 1 deletions(-)

diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index b75a55a..a760865 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -2410,10 +2410,25 @@ linux* | k*bsd*-gnu | kopensolaris*-gnu)
   # before this can be enabled.
   hardcode_into_libs=yes
 
+  # Add ABI-specific directories to the system library path.
+  sys_lib_dlsearch_path_spec="/lib /usr/lib"
+  echo 'int i;' > conftest.$ac_ext
+  if AC_TRY_EVAL(ac_compile); then
+    case `/usr/bin/file conftest.o` in
+      *64-bit*)
+       for ac_dir in /lib64 /usr/lib64; do
+         test -d "$ac_dir" && \
+           sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $ac_dir"
+       done
+       ;;
+    esac
+  fi
+  rm -rf conftest*
+
   # Append ld.so.conf contents to the search path
   if test -f /etc/ld.so.conf; then
     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;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
+    sys_lib_dlsearch_path_spec="$sys_lib_dlsearch_path_spec $lt_ld_extra"
   fi
 
   # We used to test for /lib/ld.so.1 and disable shared libraries on
-- 
1.5.6.6




This bug report was last modified 11 years and 197 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.