RFH/RFC: ld generating incorrect Elf DT_RELSZ...

Daniel Jacobowitz drow@false.org
Fri May 20 22:35:00 GMT 2005


The single R_MIPS_NONE is OK.  I'd forgotten about that.  I think it's
for IRIX compat.

On Fri, May 20, 2005 at 01:56:43PM -0700, David Daney wrote:
> >But not on the order of 29,000, right?  Just the hundred or so that you
> >pasted?
> 
> Correct.
> 
> It should be noted that my libgcj.so.5 (from gcc-3.4.3) does not suffer 
> from this problem, but it is quite a bit smaller ( RELSZ= 609600 instead 
> of 2661784).  Also libgcj.so.? from gcc-4.1 is similarly broken.

You get to debug the offsets, then.  Someone must have messed up
reloc_count, or else another section is getting merged into the output
.rel.dyn section.

Try with conditional watchpoints on an x86 host.  reloc_count goes up
as we allocate the section, down to 0, then up as we output
relocations.  I see no way we could be outputting relocations without
incrementing it though.

-- 
Daniel Jacobowitz
CodeSourcery, LLC



More information about the Binutils mailing list