[Patch, AArch64] Fix relocation bug related to ifunc handling
Marcus Shawcroft
marcus.shawcroft@arm.com
Fri Jun 14 10:01:00 GMT 2013
On 14/06/13 09:00, Yufeng Zhang wrote:
> Hi,
>
> The patch fixes an issue when relocating instructions where
> STT_GNU_IFUNC symbols are involved. The back-end specific resolving
> function shall be called instead of the generic version, as some
> instructions like ADRP have multiple bit-fields to relocate.
>
> OK to commit?
>
> Thanks,
> Yufeng
>
>
> bfd/
>
> * elf64-aarch64.c (elf64_aarch64_final_link_relocate): Call
> aarch64_resolve_relocation and bfd_elf_aarch64_put_addend to
> handle the relocations of R_AARCH64_JUMP26, R_AARCH64_CALL26,
> R_AARCH64_LD64_GOT_LO12_NC, R_AARCH64_ADR_GOT_PAGE and
> R_AARCH64_GOT_LD_PREL19.
>
> ld/testsuite/
>
> * ld-aarch64/aarch64-elf.exp: Add 'ifunc-7c'.
> * ld-aarch64/ifunc-7c.d: New test.
>
This looks sensible, but doesn't appear to resolve any of the g++
testsuite regressions for aarch64-linux-gnu I reported seeing yesterday.
/Marcus
More information about the Binutils
mailing list