Memory corruption handling x86 relocs

Nick Clifton nickc@redhat.com
Sun Feb 11 14:30:00 GMT 2001


Hi Fred,

: I have a test case that triggers internal memory corruption in BFD
: when processing x86 relocs during linking.  Basically either BFD is
: incorrectly computing the amount of space needed, or is incorrectly
: trying to store more relocs than it should, overwriting some other
: pointers.

Any luck figuring out exactly what is going wrong ?

: + 	      BFD_ASSERT (sreloc->reloc_count < (sreloc->_raw_size / sizeof (Elf32_External_Rel)));

Why is the test for 'less than' rather than 'less than or equal to' ?

reloc_count is the number of relocs in the section, which if they are
REL type relocs ought to be equal to _raw_size/12, so the above assert
would fail.

Cheers
	Nick



More information about the Binutils mailing list