[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add 64 bit directories to sys_lib_dlsearch_path_spec for Lin
From: |
Dan Nicholson |
Subject: |
Re: [PATCH] Add 64 bit directories to sys_lib_dlsearch_path_spec for Linux ELF |
Date: |
Thu, 29 Jan 2009 22:52:32 -0800 |
User-agent: |
Mutt/1.5.18 (2008-05-17) |
On Wed, Jan 28, 2009 at 01:50:51PM -0600, Bob Friesenhahn wrote:
> On Wed, 28 Jan 2009, Dan Nicholson wrote:
>
>> 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.
>
> Are these libraries consistently available for 64-bit Linux? If not,
> should they be explicitly tested for before depending on them?
>
> I got the impression that Linux systems which are completely 64-bit
> (i.e. don't support executing 32-bit binaries) don't use /lib64 and
> /usr/lib64.
Here's a respin of the patch that adds the directories only when they
exist. I think this a pretty safe default for 64 bit systems.
--
Dan
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@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