Scott L. Burson wrote:
> I work on a large C++ program that runs on Linux, Windows, and Solaris, and
> on one of my development machines I have been using Nevada build 86 (not OS
> 2008.05 which came out at about the same time).
>
> An ongoing annoyance has been the poor performance of Solaris ld on C++ code.
> This program takes about 30 seconds to link with GNU ld on LInux, but a good
> 5 minutes with Solaris ld.
>
> So I'm wondering, (a) has this issue been addressed with Solaris ld or (b)
> has anyone gotten GNU ld to work on Solaris?
>
> And if neither of these has been done and supposing I wanted to attempt one
> of them myself, which would you recommend I try to do first?
>
> -- Scott
Let me start by asking some obvious questions, just to
eliminate them:
- You're sure it's ld, and not some other part
of the tool chain?
- The machine running Solaris and the one running
Linux are comparable? (i.e. Not a quad core intel
racing a 12 year old Sparc Ultra 2 or something like
that?)
There has been some performance work done since snv_86,
though it's anyone's guess if it fits your issue. If you're
willing to try a more recent Nevada or OpenSolaris
build, that would be a good experiment.
If you're willing to put together a reproduce case
for me, I'd be willing to give it a try on my
system and see where the time is going. I work
on the Solaris ld, and would certainly like to know
what's up with this.
Ideally, that would take the form of a tarball of objects,
and an ld command line to run against them. I have limited
time to figure out makefiles, compilers, and so forth, but
if you can get it into this form, I'd be happy to have a look.
You can contact me directly as Ali dot Bahrami at
Sun dot COM.
- Ali