[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