RFE: relocation type for clustered *_RELATIVE relocations

John Reiser jreiser@bitwagon.com
Thu Jul 12 13:38:00 GMT 2012


I've just seen a shared library with more than 30,000 R_ARM_RELATIVE
relocations, and where the .r_offset span only 0x42a00 bytes.
This is an average of 8.9 bytes from one .r_offset to the next.

It would be handy if there were an R_ARM_VEC_RELATIVE relocation type
where ELF32_R_SYM(.r_info) gave a count of consecutive addresses,
or an R_ARM_MAP_RELATIVE where ELF32_R_SYM(.r_info) was a bitmap
for for applying RELATIVE relocation to the 24 addresses which
follow .r_offset (thus up to 25 relocations per Elf32_Rel.)
Of course, another choice would be to extend the meaning
of the existing R_ARM_RELATIVE with one of these two cases.

Comments?

-- 



More information about the Binutils mailing list