mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-01 13:26:47 +08:00
Following on from PR 22929, I have found the same problem exists with other ifunc supporting targets too. Plus see this link for the bug being reported against the s390x binutils for Fedora rawhide: https://bugzilla.redhat.com/show_bug.cgi?id=1553705 So I am going to check in the patch below which applies the same change that H.J. made for the x86_64 target to the other affected targets. (Specifically: S390, AArch64 and Sparc). Plus it adds a new test to the linker testsuite to make sure that this problem stays fixed. bfd * elf64-s390.c (elf_s390_relocate_section): Move check for relocations against non-allocated sections to before the code that handles ifunc relocations. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elfnn-aarch64.c (elfNN_aarch64_final_link_relocate): Treat relocs against IFUNC symbols in non-allocated sections as relocs against FUNC symbols. * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Likewise. ld * testsuite/ld-ifunc/ifuncmod5.s: New test. Checks that targets that support IFUNC symbols can handle relocations against those symbols in NOTE sections. * testsuite/ld-ifunc/ifuncmod5.d: New file: Driver for the new test. * testsuite/ld-ifunc/ifunc.exp: Run the new test. |
||
---|---|---|
.. | ||
binutils.exp | ||
dummy.c | ||
ifunc-1-local-x86.d | ||
ifunc-1-local-x86.map | ||
ifunc-1-local-x86.s | ||
ifunc-1-x86.d | ||
ifunc-1-x86.map | ||
ifunc-1-x86.s | ||
ifunc-2-i386-now.d | ||
ifunc-2-i386.d | ||
ifunc-2-i386.s | ||
ifunc-2-local-i386-now.d | ||
ifunc-2-local-i386.d | ||
ifunc-2-local-i386.s | ||
ifunc-2-local-x86-64-now.d | ||
ifunc-2-local-x86-64.d | ||
ifunc-2-local-x86-64.s | ||
ifunc-2-x86-64-now.d | ||
ifunc-2-x86-64.d | ||
ifunc-2-x86-64.s | ||
ifunc-3-x86.s | ||
ifunc-3a-x86.d | ||
ifunc-3b-x86.d | ||
ifunc-4-local-x86.d | ||
ifunc-4-local-x86.s | ||
ifunc-4-x86.d | ||
ifunc-4-x86.s | ||
ifunc-4a-x86.d | ||
ifunc-5-i386.s | ||
ifunc-5-local-i386.s | ||
ifunc-5-local-x86-64.s | ||
ifunc-5-x86-64.s | ||
ifunc-5a-i386.d | ||
ifunc-5a-local-i386.d | ||
ifunc-5a-local-x86-64.d | ||
ifunc-5a-x86-64.d | ||
ifunc-5b-i386.d | ||
ifunc-5b-local-i386.d | ||
ifunc-5b-local-x86-64.d | ||
ifunc-5b-x86-64.d | ||
ifunc-5r-local-i386.d | ||
ifunc-5r-local-x86-64.d | ||
ifunc-6-i386.s | ||
ifunc-6-x86-64.s | ||
ifunc-6a-i386.d | ||
ifunc-6a-x86-64.d | ||
ifunc-6b-i386.d | ||
ifunc-6b-x86-64.d | ||
ifunc-7-i386.s | ||
ifunc-7-x86-64.s | ||
ifunc-7a-i386.d | ||
ifunc-7a-x86-64.d | ||
ifunc-7b-i386.d | ||
ifunc-7b-x86-64.d | ||
ifunc-8-i386.d | ||
ifunc-8-x86-64.d | ||
ifunc-8a-i386.s | ||
ifunc-8a-x86-64.s | ||
ifunc-8b-i386.s | ||
ifunc-8b-x86-64.s | ||
ifunc-9-x86.d | ||
ifunc-9-x86.s | ||
ifunc-10-i386.d | ||
ifunc-10-i386.s | ||
ifunc-10-x86-64.d | ||
ifunc-10-x86-64.s | ||
ifunc-11-i386.d | ||
ifunc-11-i386.s | ||
ifunc-11-x86-64.d | ||
ifunc-11-x86-64.s | ||
ifunc-12-i386.d | ||
ifunc-12-i386.s | ||
ifunc-12-x86-64.d | ||
ifunc-12-x86-64.s | ||
ifunc-13-i386.d | ||
ifunc-13-x86-64.d | ||
ifunc-13a-i386.s | ||
ifunc-13a-x86-64.s | ||
ifunc-13b-i386.s | ||
ifunc-13b-x86-64.s | ||
ifunc-14a-i386.d | ||
ifunc-14a-x86-64.d | ||
ifunc-14a.s | ||
ifunc-14b-i386.d | ||
ifunc-14b-x86-64.d | ||
ifunc-14b.s | ||
ifunc-14c-i386.d | ||
ifunc-14c-x86-64.d | ||
ifunc-14c.s | ||
ifunc-14d-i386.d | ||
ifunc-14d-x86-64.d | ||
ifunc-14e-i386.d | ||
ifunc-14e-x86-64.d | ||
ifunc-14f-i386.d | ||
ifunc-14f-x86-64.d | ||
ifunc-15-i386.d | ||
ifunc-15-i386.s | ||
ifunc-15-x86-64.d | ||
ifunc-15-x86-64.s | ||
ifunc-16-i386-now.d | ||
ifunc-16-i386.d | ||
ifunc-16-x86-64-now.d | ||
ifunc-16-x86-64.d | ||
ifunc-16-x86.s | ||
ifunc-17a-i386.d | ||
ifunc-17a-x86-64.d | ||
ifunc-17a.s | ||
ifunc-17b-i386.d | ||
ifunc-17b-x86-64.d | ||
ifunc-17b.s | ||
ifunc-18a-i386.d | ||
ifunc-18a-x86-64.d | ||
ifunc-18a.s | ||
ifunc-18b-i386.d | ||
ifunc-18b-x86-64.d | ||
ifunc-18b.s | ||
ifunc-19a-i386.d | ||
ifunc-19a-x86-64.d | ||
ifunc-19a.s | ||
ifunc-19b-i386.d | ||
ifunc-19b-x86-64.d | ||
ifunc-19b.s | ||
ifunc-20-i386.d | ||
ifunc-20-x86-64.d | ||
ifunc-20.s | ||
ifunc-21-i386.d | ||
ifunc-21-i386.s | ||
ifunc-21-x86-64.d | ||
ifunc-21-x86-64.s | ||
ifunc-22-i386.d | ||
ifunc-22-i386.s | ||
ifunc-22-x86-64.d | ||
ifunc-22-x86-64.s | ||
ifunc-23-x86.s | ||
ifunc-23a-x86.d | ||
ifunc-23b-x86.d | ||
ifunc-23c-x86.d | ||
ifunc-24-x86.s | ||
ifunc-24a-x86.d | ||
ifunc-24b-x86.d | ||
ifunc-24c-x86.d | ||
ifunc-25-x86.s | ||
ifunc-25a-x86.d | ||
ifunc-25b-x86.d | ||
ifunc-25c-x86.d | ||
ifunc-common-1.out | ||
ifunc-common-1a.c | ||
ifunc-common-1b.c | ||
ifunc-lib.c | ||
ifunc-main.c | ||
ifunc-main.out | ||
ifunc.exp | ||
ifuncmod5.d | ||
ifuncmod5.s | ||
lib.c | ||
pass.out | ||
pr16467.out | ||
pr16467a.c | ||
pr16467a.map | ||
pr16467b.c | ||
pr16467b.map | ||
pr16467c.c | ||
pr17154-i386-now.d | ||
pr17154-i386.d | ||
pr17154-x86-64-now.d | ||
pr17154-x86-64.d | ||
pr17154-x86.s | ||
pr18808.out | ||
pr18808a.c | ||
pr18808b.c | ||
pr18841.out | ||
pr18841a.c | ||
pr18841b.c | ||
pr18841c.c | ||
prog.c | ||
test-1.c | ||
test-2.c |