Chris Quenelle wrote: > I think I have a linker bug discovered by someone at Rational. > > There are two .o files on an ld command line. > Each .o file has a section named ".debug_str". > One .o file has flags SHF_MERGE|SHF_STRING attached to ".debug_str" > One .o file has no flags attached to ".debug_str" > > My reading of libld.h comments makes me think the > linker should still combine those two elf section into > one large section by appending the contents together.
Chris, This sounds like: 6382945 AMD64-GCC: dbx: internal error: dwarf reference attribute out of bounds which I fixed back in March (and which was delivered in snv_38). I bet the comments you're reading in libld.h via OpenSolaris are the ones I put there then to explain the fix (lines 66-94). It first appeared with gcc 3.4.3, which seems to have been the first version that sets SHF_MERGE|SHF_STRING. The ld(1) fix has been backported for S10U4, which isn't done yet. It's been in Open Solaris since April... - Ali