summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2013-10-09 14:44:15 -0700
committerGary V. Vaughan <gary@gnu.org>2014-10-26 20:29:24 +0000
commitaf600b571634227a38443e3a480c0f350f4b11e7 (patch)
tree856f0a6d66c63cd3a3c65c7ce75d6469ee615990
parent08a57694b4d8e2e72e617a561f5db567687a1d75 (diff)
downloadlibtool-af600b571634227a38443e3a480c0f350f4b11e7.tar.gz
libtool: Fix x86_64-pc-solaris2.* GNU ld breakage
Since commit [1] libtool tries to set a 64-bits target for GNU ld. However, it does so wrongly for x86_64-pc-solaris2.* targets, causing libtool to believe the linker is called ld_sol2. There is no such thing, and it obviously breaks things further down. Some people wrongly assume there is supposed to be an ld_sol2 on their systems, e.g. [2]. I think the original change is fragile, because it assumes it has all CHOSTs matched, then appends _sol2. In the wild, people have used amd64-pc-solaris2* too, so perhaps it would be safer if the code only appended _sol2 if there is actually an explicit target set. Anyhow, since the 64-bits sparc target is called sparc64-* or sparcv9-*, the sparc case is already correctly handled, so in the attached patch, I just added an x86_64-* case, although I could imagine relaxing the i?86 case to *86*-pc-solaris2* too. In any case, defaulting to a linker called ld_sol2 is wrong. [1] http://lists.gnu.org/archive/html/libtool-commit/2011-02/ msg00000.html [2] http://osdyson.org/issues/8 Copyright-paperwork-exempt: Yes
-rw-r--r--libltdl/m4/libtool.m42
1 files changed, 1 insertions, 1 deletions
diff --git a/libltdl/m4/libtool.m4 b/libltdl/m4/libtool.m4
index 43e39f87..b6ab2a77 100644
--- a/libltdl/m4/libtool.m4
+++ b/libltdl/m4/libtool.m4
@@ -1419,7 +1419,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
case $lt_cv_prog_gnu_ld in
yes*)
case $host in
- i?86-*-solaris*)
+ i?86-*-solaris*|x86_64-*-solaris*)
LD="${LD-ld} -m elf_x86_64"
;;
sparc*-*-solaris*)