[PATCH, ARM] Fix handling of GOT and PLT access to IFUNC symbols
Will Newton
will.newton@linaro.org
Mon Apr 22 08:37:00 GMT 2013
On 15 April 2013 16:18, Richard Earnshaw <rearnsha@arm.com> wrote:
> On 12/04/13 17:42, Will Newton wrote:
>>
>>
>> Hi all,
>>
>> The current ARM IFUNC code appears to have a bug when an access is made
>> via
>> the PLT and GOT in the same object. This results in two relocs being
>> swapped
>> out into the same slot so one R_ARM_IRELATIVE reloc goes missing.
>>
>> This patch changes the behaviour to use an incremented reloc count rather
>> than the calculated PLT index to match the behaviour of
>> elf32_arm_add_dynreloc
>> and as a result requires the order of relocs in the ifunc tests to be
>> adjusted.
>>
>> bfd/ChangeLog:
>>
>> 2013-04-12 Will Newton <will.newton@linaro.org>
>>
>> * elf32-arm.c (elf32_arm_populate_plt_entry): Increment
>> reloc_count
>> when emitting R_ARM_IRELATIVE relocs.
>>
>
> Hmm, it looks somewhat suspicious to me to be changing the reloc count this
> late on.
>
> Richard, do you know if this is safe? If not, can you recommend a better
> approach?
Ping?
More information about the Binutils
mailing list