James Carlson wrote: > Scott L. Burson writes: >> On second thought, you're right, I should send you a tarball of objects and >> an ld command. There's no reason I should put myself in the middle of your >> edit/compile/test loop. Let me get that put together. It's going to be >> large, probably way too large for email; is there a public FTP server I can >> upload it to? > > If you don't an FTP site of your own, you might be able to use > supportuploads.sun.com, as long as you're trying to contact only Sun > employees (others can't download from there). > > Another possible avenue would be putting it up as a file on > www.opensolaris.org; all you need is 'leader' access on some project > or community. > > Still another would be filing a bug via defect.opensolaris.org, and > then adding an attachment to the the bug. >
Scott sent me a couple of largish tarballs, and we're in business. I can confirm that the link is very slow (about 18 min with profiling turned on). Profiling shows that almost all the runtime is going into the code that implements GNU linkonce section processing, implemented by the fixes for: 6354160 Solaris linker includes more than one copy of code in binary when linking gnu object code 6423746 add an option to relax the resolution of COMDAT relocs 6735939 ld(1) discarded symbol relocations errors (Studio and GNU) GNU linkonce sections are emitted by older gcc compilers. The Sun compilers don't emit these sections, and instead use section groups, an approach that is also used by the newer gcc compilers (version 4). So, we will certainly need to refine the algorithms used for this support. Our current support assumed that GNU linkonce sections are going away, so we used very simple linear algorithms to implement it. Clearly, they don't hold up to a link of this size. I'll be filing a CR once I have more information. That said, GNU linkonce sections *are* going away, though not as fast as I would like. You might explore using either the Sun compilers, or the new gcc 4.3 series in order to avoid them and get around this. - Ali