Ever get that error trying to link a 64-bit program on Solaris? OpenSSL maybe? I know how to fix it: use GNU ld.
Specifically, compile up a new binutils and then use it to build gcc. I know the instructions say to use GNU as and Sun’s ld, but trust me. This’ll fix you right up.