aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-ifunc/ifunc-26.d
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2018-05-28 08:15:06 -0700
committerH.J. Lu <hjl.tools@gmail.com>2018-05-28 08:15:21 -0700
commitac98f9e2275ffcca560eaa0bddd282a1ff94fc28 (patch)
tree93151266d6d6817f64ef156a6dc3c523a206d4d2 /ld/testsuite/ld-ifunc/ifunc-26.d
parent03fce1c78c01a9b0e30e91be60e7af717a10bb2c (diff)
downloadbinutils-ac98f9e2275ffcca560eaa0bddd282a1ff94fc28.zip
binutils-ac98f9e2275ffcca560eaa0bddd282a1ff94fc28.tar.gz
binutils-ac98f9e2275ffcca560eaa0bddd282a1ff94fc28.tar.bz2
ld: Unify STT_GNU_IFUNC handling
Take STT_GNU_IFUNC handling scattered across targets and gather it in the generic ELF linker. bfd/ PR ld/23238 * elf-s390-common.c (elf_s390_add_symbol_hook): Removed. * elf32-arc.c (elf_arc_add_symbol_hook): Likewise. (elf_backend_add_symbol_hook): Likewise. * elf32-m68k.c (elf_m68k_add_symbol_hook): Likewise. (elf_backend_add_symbol_hook): Likewise. * elf32-s390.c (elf_backend_add_symbol_hook): Likewise. * elf32-sparc.c (elf32_sparc_add_symbol_hook): Likewise. (elf_backend_add_symbol_hook): Likewise. * elf64-s390.c (elf_backend_add_symbol_hook): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_add_symbol_hook): Likewise. * elfxx-aarch64.h (_bfd_aarch64_elf_add_symbol_hook): Likewise. (elf_backend_add_symbol_hook): Likewise. * elf32-arm.c (elf32_arm_add_symbol_hook): Remove STT_GNU_IFUNC handling. * elf32-ppc.c (ppc_elf_add_symbol_hook): Likewise. * elf64-ppc.c (ppc64_elf_add_symbol_hook): Likewise. * elf64-sparc.c (elf64_sparc_add_symbol_hook): Likewise. * elflink.c (elf_link_add_object_symbols): Set elf_gnu_symbol_ifunc for STT_GNU_IFUNC symbols. ld/ PR ld/23238 * testsuite/ld-ifunc/ifunc-26.d: New file. * testsuite/ld-ifunc/ifunc-26.s: Likewise. * testsuite/ld-ifunc/ifunc.exp: Run *.d tests without a working compiler.
Diffstat (limited to 'ld/testsuite/ld-ifunc/ifunc-26.d')
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-26.d7
1 files changed, 7 insertions, 0 deletions
diff --git a/ld/testsuite/ld-ifunc/ifunc-26.d b/ld/testsuite/ld-ifunc/ifunc-26.d
new file mode 100644
index 0000000..3b1e9f1
--- /dev/null
+++ b/ld/testsuite/ld-ifunc/ifunc-26.d
@@ -0,0 +1,7 @@
+#ld: -shared
+#readelf: -h
+
+ELF Header:
+#...
+ OS/ABI: UNIX - GNU
+#pass