summaryrefslogtreecommitdiff
path: root/package/libtool
diff options
context:
space:
mode:
authorVicente Olivert Riera <Vincent.Riera@imgtec.com>2013-11-18 12:25:32 +0000
committerPeter Korsgaard <peter@korsgaard.com>2013-11-30 09:03:07 +0100
commit4268d3967e2d691c151d6b5629e4051deb077b9a (patch)
tree4b2b0f34e8506ae1412162db93ab7b3071f29112 /package/libtool
parent931b73e5eae4a3ba6b2e37db526fd7243a139e64 (diff)
libtool: Apply upstream patch to set correct linkage on MIPS64
This libtool change ensures that ld uses the right machine emulation file, which will allow to fix several MIPS64 n64 link failures, such as the one currently visible on the libiscsi package. Packages affected by this problem will have to use <pkg>_AUTORECONF = YES to benefit from this libtool fix, until they are fixed upstream. Acked-by: Markos Chandras <markos.chandras@imgtec.com> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Diffstat (limited to 'package/libtool')
-rw-r--r--package/libtool/libtool-0001-mips64-n64-linking.patch47
1 files changed, 47 insertions, 0 deletions
diff --git a/package/libtool/libtool-0001-mips64-n64-linking.patch b/package/libtool/libtool-0001-mips64-n64-linking.patch
new file mode 100644
index 000000000..ef9084ddb
--- /dev/null
+++ b/package/libtool/libtool-0001-mips64-n64-linking.patch
@@ -0,0 +1,47 @@
+sets correct linker ABI flags on MIPS64
+http://git.savannah.gnu.org/cgit/libtool.git/commit/?id=5f7f7d9615bf650cf99d581a33b3e18357f79951
+
+Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
+
+diff -ru libtool-2.4.2.orig/libltdl/m4/libtool.m4 libtool-2.4.2/libltdl/m4/libtool.m4
+--- libtool-2.4.2.orig/libltdl/m4/libtool.m4 2013-11-11 11:44:30.419396295 +0000
++++ libtool-2.4.2/libltdl/m4/libtool.m4 2013-11-11 11:44:07.055032308 +0000
+@@ -1312,6 +1312,38 @@
+ rm -rf conftest*
+ ;;
+
++mips64*-*linux*)
++ # Find out what ABI is being produced by ac_compile, and set linker
++ # options accordingly.
++ echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
++ if AC_TRY_EVAL(ac_compile); then
++ emul=elf
++ case `/usr/bin/file conftest.$ac_objext` in
++ *32-bit*)
++ emul="${emul}32"
++ ;;
++ *64-bit*)
++ emul="${emul}64"
++ ;;
++ esac
++ case `/usr/bin/file conftest.$ac_objext` in
++ *MSB*)
++ emul="${emul}btsmip"
++ ;;
++ *LSB*)
++ emul="${emul}ltsmip"
++ ;;
++ esac
++ case `/usr/bin/file conftest.$ac_objext` in
++ *N32*)
++ emul="${emul}n32"
++ ;;
++ esac
++ LD="${LD-ld} -m $emul"
++ fi
++ rm -rf conftest*
++ ;;
++
+ x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
+ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
+ # Find out which ABI we are using.