diff options
author | Fabian Groffen <grobian@gentoo.org> | 2013-10-09 14:44:15 -0700 |
---|---|---|
committer | Gary V. Vaughan <gary@gnu.org> | 2014-10-26 20:29:24 +0000 |
commit | af600b571634227a38443e3a480c0f350f4b11e7 (patch) | |
tree | 856f0a6d66c63cd3a3c65c7ce75d6469ee615990 | |
parent | 08a57694b4d8e2e72e617a561f5db567687a1d75 (diff) | |
download | libtool-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.m4 | 2 |
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*) |