aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-08-26 14:09:08 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-08-26 14:09:08 +0000
commitf87f9c614c974f57911d987b40c3ff19b0e3ee17 (patch)
tree10ae0075816cd1408fe04e08559e0bcb350da512 /libtool.m4
parent*** empty log message *** (diff)
downloadbinutils-gdb-f87f9c614c974f57911d987b40c3ff19b0e3ee17.tar.gz
binutils-gdb-f87f9c614c974f57911d987b40c3ff19b0e3ee17.tar.bz2
binutils-gdb-f87f9c614c974f57911d987b40c3ff19b0e3ee17.zip
Sync libtool.m4 with GCC tree
2012-05-15 H.J. Lu <hongjiu.lu@intel.com> Merge upstream change * libtool.m4 (_LT_ENABLE_LOCK): Support x32. 2011-11-21 Andreas Tobler <andreast@fgznet.ch> * libtool.m4: Additional FreeBSD 10 fixes.
Diffstat (limited to 'libtool.m4')
-rw-r--r--libtool.m417
1 files changed, 12 insertions, 5 deletions
diff --git a/libtool.m4 b/libtool.m4
index 71bcee83c87..a7f99ac7dbc 100644
--- a/libtool.m4
+++ b/libtool.m4
@@ -1232,7 +1232,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
LD="${LD-ld} -m elf_i386_fbsd"
;;
x86_64-*linux*)
- LD="${LD-ld} -m elf_i386"
+ case `/usr/bin/file conftest.o` in
+ *x86-64*)
+ LD="${LD-ld} -m elf32_x86_64"
+ ;;
+ *)
+ LD="${LD-ld} -m elf_i386"
+ ;;
+ esac
;;
ppc64-*linux*|powerpc64-*linux*)
LD="${LD-ld} -m elf32ppclinux"
@@ -2273,7 +2280,7 @@ freebsd* | dragonfly*)
objformat=`/usr/bin/objformat`
else
case $host_os in
- freebsd[[123]]*) objformat=aout ;;
+ freebsd[[23]].*) objformat=aout ;;
*) objformat=elf ;;
esac
fi
@@ -2291,7 +2298,7 @@ freebsd* | dragonfly*)
esac
shlibpath_var=LD_LIBRARY_PATH
case $host_os in
- freebsd2*)
+ freebsd2.*)
shlibpath_overrides_runpath=yes
;;
freebsd3.[[01]]* | freebsdelf3.[[01]]*)
@@ -4804,7 +4811,7 @@ _LT_EOF
;;
# Unfortunately, older versions of FreeBSD 2 do not have this feature.
- freebsd2*)
+ freebsd2.*)
_LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
_LT_TAGVAR(hardcode_direct, $1)=yes
_LT_TAGVAR(hardcode_minus_L, $1)=yes
@@ -5751,7 +5758,7 @@ if test "$_lt_caught_CXX_error" != yes; then
esac
;;
- freebsd[[12]]*)
+ freebsd2.*)
# C++ shared libraries reported to be fairly broken before
# switch to ELF
_LT_TAGVAR(ld_shlibs, $1)=no