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.