[PATCH] ARM: Fix R_ARM_IRELATIVE RELA relocations

Will Newton will.newton@linaro.org
Wed Apr 30 15:50:00 GMT 2014


On 30 April 2014 16:25, Julian Brown <julian@codesourcery.com> wrote:
> Hi,
>
> This patch fixes what I believe to be a bug in the handling of
> R_ARM_IRELATIVE RELA relocations. At present, these are handled the
> same as REL relocations: i.e. the addend is loaded from the relocation
> address. Most of the time this isn't a problem because RELA relocations
> aren't used on ARM (GNU/Linux at least) anyway, but it causes problems
> with prelink, which uses RELA on all targets for its conflict table.
> (Support for ifunc prelinking requires a prelink patch, not yet posted.)
>
> Anyway, this patch works, though I'm not 100% sure if it is correct: I
> notice that this code path received attention last year:
>
> https://sourceware.org/ml/libc-ports/2013-07/msg00000.html
>
> I'm not sure under what circumstances that patch would have had an
> effect, nor if my patch conflicts with that case.

I can't really explain what's happened there, I must have found that
issue by reading the code rather than running it. Very odd. Your patch
looks correct however.

-- 
Will Newton
Toolchain Working Group, Linaro



More information about the Libc-alpha mailing list