[PATCH][GOLD] Treat R_ARM_PREL31 as a function call in Target_arm::Scan::get_reference_flags

Richard Sandiford rdsandiford@googlemail.com
Thu Dec 9 21:13:00 GMT 2010


"Doug Kwan (關振德)" <dougkwan@google.com> writes:
> An R_ARM_PREL31 relocation can point to a personality routine that is
> called during unwinding.  If the personality routine is not in the
> output, we need to generate a PLT.

Sure, I understand that, but that wasn't really my question.  Is it true
that _all_ R_ARM_PREL31 references (not _just_ those in the unwind
sections) can be treated as function calls?  That is, is it really true
that the correct way of handling references to undefined symbols in
shared libraries is to generate a PLT rather than attempt to generate a
dynamic relocation (and in this case, I assume, fail to do so with an
error)?  Do R_ARM_PREL31 relocations never need the canonical function
address?

It's a genuine question.  The answer may well be "yes, R_ARM_PREL31 is
effectively a call reloc".  I just wasn't sure from reading the EABI ELF
spec.

Richard



More information about the Binutils mailing list