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