solaris 10 with x86 - cannot currently use GNU ld
Matthew Tepel
matt@tepel.org
Fri Apr 7 23:39:00 GMT 2006
It seems that currently the only way to build gcc on solaris 10 on x86 is
with version > 4 using the solaris linker as per:
====
i?86-*-solaris2.10
Use this for Solaris 10 or later on x86 and x86-64 systems. This configuration
is supported by GCC 4.0 and later versions only.
It is recommended that you configure GCC to use the GNU assembler in
/usr/sfw/bin/gas but the Sun linker, using the options --with-gnu-as
--with-as=/usr/sfw/bin/gas --without-gnu-ld --with-ld=/usr/ccs/bin/ld.
====
We would like to move from linux to solaris x86 (with solaris 10). However up
until now we have been linking our code using the -( archives -) option of the
GNU ld.
While it appeared that /usr/ccs/bin/ld has an equivalent option called -z
rescan, in practice it doesn't work properly. Binaries seems to link, but when
they run they sometimes core dump due to a static initialization problem. If I
take out the -z rescan for a particular binary and reorder the libraries the
binary works.
Not using this -( archive -) option is really not an option for us so this is
sort of a show stopper.
The real issue is I think that we would like to be able to still use the GNU ld
on solaris x86 with solaris 10. Is support for that actively being worked on?
Right now you get the following error when you try to build:
/usr/lib/amd64/crti.o: file not recognized: File format not recognized
I apologize if this is not the appropriate mailing list for this post - if so
please direct me to a more appropriate forum. Thanks in advance for your help.
-Matthew Tepel
More information about the Binutils
mailing list