It seems that currently the only way to building gcc 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.

Not sure if others have noticed this problem. I have confirmed this is an issue with the very latest solaris ld.

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?

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

Reply via email to