summaryrefslogtreecommitdiff
path: root/ld/testsuite
diff options
context:
space:
mode:
authorwillnewton <willnewton>2013-06-19 10:30:56 +0000
committerwillnewton <willnewton>2013-06-19 10:30:56 +0000
commit3dab628194062d63396e6cd295edef5308ddcb32 (patch)
treee996ac10f48937d1792d50ac21f67e4449391ae2 /ld/testsuite
parenta972744fa9cec12b7e27e709d97de338b059ad47 (diff)
downloadbinutils-redhat-3dab628194062d63396e6cd295edef5308ddcb32.tar.gz
aarch64: Revert AArch64 ifunc changes.
The AArch64 ifunc patch introduced a regression caused by incorrect PLT layout. Revert it until a fix is verified. bfd/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * configure: Regenerated. * configure.in: Remove aarch64 dependency on elf-ifunc.c. * elf64-aarch64.c: Remove objalloc.h include. (elf64_aarch64_howto_dynrelocs): Remove R_AARCH64_IRELATIVE howto. (struct elf64_aarch64_link_hash_table): Remove ifunc related members. (elf_aarch64_local_htab_hash): Remove function. (elf_aarch64_local_htab_eq): Remove function. (elf_aarch64_get_local_sym_hash): Remove function. (elf64_aarch64_link_hash_table_create): Remove local hash table initialization. (elf64_aarch64_final_link_relocate): Remove sym argument and handling of ifunc symbols. (elf64_aarch64_relocate_section): Don't pass sym argument to elf64_aarch64_final_link_relocate. (elf64_aarch64_gc_sweep_hook): Remove handling of ifunc symbols. (elf64_aarch64_adjust_dynamic_symbol): Likewise. (elf64_aarch64_check_relocs): Likewise. (elf64_aarch64_post_process_headers): Remove call to _bfd_elf_set_osabi. (elf64_aarch64_is_function_type): New function. (elf64_aarch64_allocate_dynrelocs): Remove handling of ifunc symbols. (elf_aarch64_allocate_local_dynrelocs): Remove function. (elf64_aarch64_size_dynamic_sections): Remove call to elf_aarch64_allocate_local_dynrelocs. (elf64_aarch64_create_small_pltn_entry): Remove info argument. Remove creation of R_AARCH64_IRELATIVE dynamic relocs. (elf64_aarch64_finish_dynamic_symbol): Remove handling of ifunc symbols. (elf_aarch64_finish_local_dynamic_symbol): Remove function. (elf64_aarch64_finish_dynamic_sections): Remove call to elf_aarch64_finish_local_dynamic_symbol. (elf64_aarch64_add_symbol_hook): Remove function. include/elf/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * aarch64.h: Remove R_AARCH64_IRELATIVE. ld/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * emulparams/aarch64elf.sh: Remove IREL_IN_PLT. ld/testsuite/ChangeLog: 2013-06-19 Will Newton <will.newton@linaro.org> * ld-aarch64/aarch64-elf.exp: Remove ifunc tests. * ld-ifunc/ifunc.exp: Disable ifunc tests on AArch64. * ld-aarch64/ifunc-1-local.d: Remove. * ld-aarch64/ifunc-1-local.s: Likewise. * ld-aarch64/ifunc-1.d: Likewise. * ld-aarch64/ifunc-1.s: Likewise. * ld-aarch64/ifunc-10.d: Likewise. * ld-aarch64/ifunc-10.s: Likewise. * ld-aarch64/ifunc-11.d: Likewise. * ld-aarch64/ifunc-11.s: Likewise. * ld-aarch64/ifunc-12.d: Likewise. * ld-aarch64/ifunc-12.s: Likewise. * ld-aarch64/ifunc-13.d: Likewise. * ld-aarch64/ifunc-13a.s: Likewise. * ld-aarch64/ifunc-13b.s: Likewise. * ld-aarch64/ifunc-14a.d: Likewise. * ld-aarch64/ifunc-14a.s: Likewise. * ld-aarch64/ifunc-14b.d: Likewise. * ld-aarch64/ifunc-14b.s: Likewise. * ld-aarch64/ifunc-14c.d: Likewise. * ld-aarch64/ifunc-14c.s: Likewise. * ld-aarch64/ifunc-14d.d: Likewise. * ld-aarch64/ifunc-14e.d: Likewise. * ld-aarch64/ifunc-14f.d: Likewise. * ld-aarch64/ifunc-15.d: Likewise. * ld-aarch64/ifunc-15.s: Likewise. * ld-aarch64/ifunc-16.d: Likewise. * ld-aarch64/ifunc-16.s: Likewise. * ld-aarch64/ifunc-17a.d: Likewise. * ld-aarch64/ifunc-17a.s: Likewise. * ld-aarch64/ifunc-17b.d: Likewise. * ld-aarch64/ifunc-17b.s: Likewise. * ld-aarch64/ifunc-18a.d: Likewise. * ld-aarch64/ifunc-18a.s: Likewise. * ld-aarch64/ifunc-18b.d: Likewise. * ld-aarch64/ifunc-18b.s: Likewise. * ld-aarch64/ifunc-19a.d: Likewise. * ld-aarch64/ifunc-19a.s: Likewise. * ld-aarch64/ifunc-19b.d: Likewise. * ld-aarch64/ifunc-19b.s: Likewise. * ld-aarch64/ifunc-2-local.d: Likewise. * ld-aarch64/ifunc-2-local.s: Likewise. * ld-aarch64/ifunc-2.d: Likewise. * ld-aarch64/ifunc-2.s: Likewise. * ld-aarch64/ifunc-20.d: Likewise. * ld-aarch64/ifunc-20.s: Likewise. * ld-aarch64/ifunc-3.s: Likewise. * ld-aarch64/ifunc-3a.d: Likewise. * ld-aarch64/ifunc-3b.d: Likewise. * ld-aarch64/ifunc-4.d: Likewise. * ld-aarch64/ifunc-4.s: Likewise. * ld-aarch64/ifunc-4a.d: Likewise. * ld-aarch64/ifunc-5-local.s: Likewise. * ld-aarch64/ifunc-5.s: Likewise. * ld-aarch64/ifunc-5a-local.d: Likewise. * ld-aarch64/ifunc-5a.d: Likewise. * ld-aarch64/ifunc-5b-local.d: Likewise. * ld-aarch64/ifunc-5b.d: Likewise. * ld-aarch64/ifunc-5r-local.d: Likewise. * ld-aarch64/ifunc-6.s: Likewise. * ld-aarch64/ifunc-6a.d: Likewise. * ld-aarch64/ifunc-6b.d: Likewise. * ld-aarch64/ifunc-7.s: Likewise. * ld-aarch64/ifunc-7a.d: Likewise. * ld-aarch64/ifunc-7b.d: Likewise. * ld-aarch64/ifunc-7c.d: Likewise. * ld-aarch64/ifunc-8.d: Likewise. * ld-aarch64/ifunc-8a.s: Likewise. * ld-aarch64/ifunc-8b.s: Likewise. * ld-aarch64/ifunc-9.d: Likewise. * ld-aarch64/ifunc-9.s: Likewise.
Diffstat (limited to 'ld/testsuite')
-rw-r--r--ld/testsuite/ChangeLog74
-rw-r--r--ld/testsuite/ld-aarch64/aarch64-elf.exp41
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-1-local.d7
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-1-local.s13
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-1.d7
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-1.s16
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-10.d5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-10.s25
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-11.d5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-11.s26
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-12.d5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-12.s24
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-13.d13
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-13a.s11
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-13b.s5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14a.d10
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14a.s7
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14b.d10
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14b.s5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14c.d10
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14c.s7
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14d.d10
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14e.d11
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-14f.d11
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-15.d12
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-15.s11
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-16.d9
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-16.s17
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-17a.d9
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-17a.s11
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-17b.d9
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-17b.s6
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-18a.d14
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-18a.s5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-18b.d14
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-18b.s15
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-19a.d13
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-19a.s5
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-19b.d13
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-19b.s15
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2-local.d9
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2-local.s15
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2.d9
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-2.s18
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-20.d12
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-20.s16
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-3.s16
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-3a.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-3b.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-4.d7
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-4.s18
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-4a.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5-local.s19
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5.s20
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5a-local.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5a.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5b-local.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5b.d12
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-5r-local.d10
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-6.s21
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-6a.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-6b.d12
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-7.s21
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-7a.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-7b.d8
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-7c.d19
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-8.d9
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-8a.s13
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-8b.s7
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-9.d3
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-9.s23
-rw-r--r--ld/testsuite/ld-ifunc/ifunc.exp3
72 files changed, 75 insertions, 845 deletions
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index fcec545241..f205bf539b 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,77 @@
+2013-06-19 Will Newton <will.newton@linaro.org>
+
+ * ld-aarch64/aarch64-elf.exp: Remove ifunc tests.
+ * ld-ifunc/ifunc.exp: Disable ifunc tests on AArch64.
+ * ld-aarch64/ifunc-1-local.d: Remove.
+ * ld-aarch64/ifunc-1-local.s: Likewise.
+ * ld-aarch64/ifunc-1.d: Likewise.
+ * ld-aarch64/ifunc-1.s: Likewise.
+ * ld-aarch64/ifunc-10.d: Likewise.
+ * ld-aarch64/ifunc-10.s: Likewise.
+ * ld-aarch64/ifunc-11.d: Likewise.
+ * ld-aarch64/ifunc-11.s: Likewise.
+ * ld-aarch64/ifunc-12.d: Likewise.
+ * ld-aarch64/ifunc-12.s: Likewise.
+ * ld-aarch64/ifunc-13.d: Likewise.
+ * ld-aarch64/ifunc-13a.s: Likewise.
+ * ld-aarch64/ifunc-13b.s: Likewise.
+ * ld-aarch64/ifunc-14a.d: Likewise.
+ * ld-aarch64/ifunc-14a.s: Likewise.
+ * ld-aarch64/ifunc-14b.d: Likewise.
+ * ld-aarch64/ifunc-14b.s: Likewise.
+ * ld-aarch64/ifunc-14c.d: Likewise.
+ * ld-aarch64/ifunc-14c.s: Likewise.
+ * ld-aarch64/ifunc-14d.d: Likewise.
+ * ld-aarch64/ifunc-14e.d: Likewise.
+ * ld-aarch64/ifunc-14f.d: Likewise.
+ * ld-aarch64/ifunc-15.d: Likewise.
+ * ld-aarch64/ifunc-15.s: Likewise.
+ * ld-aarch64/ifunc-16.d: Likewise.
+ * ld-aarch64/ifunc-16.s: Likewise.
+ * ld-aarch64/ifunc-17a.d: Likewise.
+ * ld-aarch64/ifunc-17a.s: Likewise.
+ * ld-aarch64/ifunc-17b.d: Likewise.
+ * ld-aarch64/ifunc-17b.s: Likewise.
+ * ld-aarch64/ifunc-18a.d: Likewise.
+ * ld-aarch64/ifunc-18a.s: Likewise.
+ * ld-aarch64/ifunc-18b.d: Likewise.
+ * ld-aarch64/ifunc-18b.s: Likewise.
+ * ld-aarch64/ifunc-19a.d: Likewise.
+ * ld-aarch64/ifunc-19a.s: Likewise.
+ * ld-aarch64/ifunc-19b.d: Likewise.
+ * ld-aarch64/ifunc-19b.s: Likewise.
+ * ld-aarch64/ifunc-2-local.d: Likewise.
+ * ld-aarch64/ifunc-2-local.s: Likewise.
+ * ld-aarch64/ifunc-2.d: Likewise.
+ * ld-aarch64/ifunc-2.s: Likewise.
+ * ld-aarch64/ifunc-20.d: Likewise.
+ * ld-aarch64/ifunc-20.s: Likewise.
+ * ld-aarch64/ifunc-3.s: Likewise.
+ * ld-aarch64/ifunc-3a.d: Likewise.
+ * ld-aarch64/ifunc-3b.d: Likewise.
+ * ld-aarch64/ifunc-4.d: Likewise.
+ * ld-aarch64/ifunc-4.s: Likewise.
+ * ld-aarch64/ifunc-4a.d: Likewise.
+ * ld-aarch64/ifunc-5-local.s: Likewise.
+ * ld-aarch64/ifunc-5.s: Likewise.
+ * ld-aarch64/ifunc-5a-local.d: Likewise.
+ * ld-aarch64/ifunc-5a.d: Likewise.
+ * ld-aarch64/ifunc-5b-local.d: Likewise.
+ * ld-aarch64/ifunc-5b.d: Likewise.
+ * ld-aarch64/ifunc-5r-local.d: Likewise.
+ * ld-aarch64/ifunc-6.s: Likewise.
+ * ld-aarch64/ifunc-6a.d: Likewise.
+ * ld-aarch64/ifunc-6b.d: Likewise.
+ * ld-aarch64/ifunc-7.s: Likewise.
+ * ld-aarch64/ifunc-7a.d: Likewise.
+ * ld-aarch64/ifunc-7b.d: Likewise.
+ * ld-aarch64/ifunc-7c.d: Likewise.
+ * ld-aarch64/ifunc-8.d: Likewise.
+ * ld-aarch64/ifunc-8a.s: Likewise.
+ * ld-aarch64/ifunc-8b.s: Likewise.
+ * ld-aarch64/ifunc-9.d: Likewise.
+ * ld-aarch64/ifunc-9.s: Likewise.
+
2013-06-17 Will Newton <will.newton@linaro.org>
* ld-aarch64/ifunc-1-local.d: Enable test on aarch64_be.
diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
index 5c150dde92..d687cc23db 100644
--- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
+++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
@@ -114,44 +114,3 @@ run_dump_test "gc-tls-relocs"
run_dump_test "gc-plt-relocs"
run_dump_test "gc-relocs-257-dyn"
run_dump_test "gc-relocs-257"
-
-# ifunc tests
-run_dump_test "ifunc-1"
-run_dump_test "ifunc-1-local"
-run_dump_test "ifunc-2"
-run_dump_test "ifunc-2-local"
-run_dump_test "ifunc-3a"
-run_dump_test "ifunc-3b"
-run_dump_test "ifunc-4"
-run_dump_test "ifunc-4a"
-run_dump_test "ifunc-5a"
-run_dump_test "ifunc-5b"
-run_dump_test "ifunc-5a-local"
-run_dump_test "ifunc-5b-local"
-run_dump_test "ifunc-5r-local"
-run_dump_test "ifunc-6a"
-run_dump_test "ifunc-6b"
-run_dump_test "ifunc-7a"
-run_dump_test "ifunc-7b"
-run_dump_test "ifunc-7c"
-run_dump_test "ifunc-8"
-run_dump_test "ifunc-9"
-run_dump_test "ifunc-10"
-run_dump_test "ifunc-11"
-run_dump_test "ifunc-12"
-run_dump_test "ifunc-13"
-run_dump_test "ifunc-14a"
-run_dump_test "ifunc-14b"
-run_dump_test "ifunc-14c"
-run_dump_test "ifunc-14d"
-run_dump_test "ifunc-14e"
-run_dump_test "ifunc-14f"
-run_dump_test "ifunc-15"
-run_dump_test "ifunc-16"
-run_dump_test "ifunc-17a"
-run_dump_test "ifunc-17b"
-run_dump_test "ifunc-18a"
-run_dump_test "ifunc-18b"
-run_dump_test "ifunc-19a"
-run_dump_test "ifunc-19b"
-run_dump_test "ifunc-20"
diff --git a/ld/testsuite/ld-aarch64/ifunc-1-local.d b/ld/testsuite/ld-aarch64/ifunc-1-local.d
deleted file mode 100644
index a3054bd30d..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-1-local.d
+++ /dev/null
@@ -1,7 +0,0 @@
-#ld: -shared
-#objdump: -dw
-#target: aarch64*-*-*
-
-#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-1-local.s b/ld/testsuite/ld-aarch64/ifunc-1-local.s
deleted file mode 100644
index 7b9d1176dd..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-1-local.s
+++ /dev/null
@@ -1,13 +0,0 @@
- .type foo, %gnu_indirect_function
- .set __GI_foo, foo
- .text
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
-.globl bar
- .type bar, @function
-bar:
- bl __GI_foo
- ret
- .size bar, .-bar
diff --git a/ld/testsuite/ld-aarch64/ifunc-1.d b/ld/testsuite/ld-aarch64/ifunc-1.d
deleted file mode 100644
index a3054bd30d..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-1.d
+++ /dev/null
@@ -1,7 +0,0 @@
-#ld: -shared
-#objdump: -dw
-#target: aarch64*-*-*
-
-#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-1.s b/ld/testsuite/ld-aarch64/ifunc-1.s
deleted file mode 100644
index 6f86c8a3d3..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-1.s
+++ /dev/null
@@ -1,16 +0,0 @@
- .type foo, %gnu_indirect_function
- .global __GI_foo
- .hidden __GI_foo
- .set __GI_foo, foo
- .text
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
-.globl bar
- .type bar, @function
-bar:
- bl __GI_foo
- ret
- .size bar, .-bar
diff --git a/ld/testsuite/ld-aarch64/ifunc-10.d b/ld/testsuite/ld-aarch64/ifunc-10.d
deleted file mode 100644
index 782b078028..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-10.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#ld: -e bar --gc-sections
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-There are no relocations in this file.
diff --git a/ld/testsuite/ld-aarch64/ifunc-10.s b/ld/testsuite/ld-aarch64/ifunc-10.s
deleted file mode 100644
index 10468c1301..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-10.s
+++ /dev/null
@@ -1,25 +0,0 @@
- .section .text.foo,"ax",@progbits
- .type foo, @function
-foo:
- .global foo
- adrp x0, :got:ifunc
- ldr x0, [x0, #:got_lo12:ifunc]
- bl ifunc
- adrp x0, xxx
- add x0, x0, :lo12:xxx
- ret
-
- .section .text.bar,"ax",@progbits
- .type bar, @function
-bar:
- .global bar
- ret
-
- .section .text.ifunc,"ax",@progbits
- .type ifunc, @gnu_indirect_function
-ifunc:
- ret
-
- .section .data.foo,"aw",@progbits
-xxx:
- .quad ifunc
diff --git a/ld/testsuite/ld-aarch64/ifunc-11.d b/ld/testsuite/ld-aarch64/ifunc-11.d
deleted file mode 100644
index 782b078028..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-11.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#ld: -e bar --gc-sections
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-There are no relocations in this file.
diff --git a/ld/testsuite/ld-aarch64/ifunc-11.s b/ld/testsuite/ld-aarch64/ifunc-11.s
deleted file mode 100644
index e1820de66c..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-11.s
+++ /dev/null
@@ -1,26 +0,0 @@
- .section .text.foo,"ax",@progbits
- .type foo, @function
-foo:
- .global foo
- adrp x0, :got:ifunc
- ldr x0, [x0, #:got_lo12:ifunc]
- bl ifunc
- adrp x0, xxx
- add x0, x0, :lo12:xxx
- ret
-
- .section .text.bar,"ax",@progbits
- .type bar, @function
-bar:
- .global bar
- ret
-
- .section .text.ifunc,"ax",@progbits
- .type ifunc, @gnu_indirect_function
- .global ifunc
-ifunc:
- ret
-
- .section .data.foo,"aw",@progbits
-xxx:
- .quad ifunc
diff --git a/ld/testsuite/ld-aarch64/ifunc-12.d b/ld/testsuite/ld-aarch64/ifunc-12.d
deleted file mode 100644
index 8fa8ce0f35..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-12.d
+++ /dev/null
@@ -1,5 +0,0 @@
-#ld: -shared -e bar --gc-sections
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-There are no relocations in this file.
diff --git a/ld/testsuite/ld-aarch64/ifunc-12.s b/ld/testsuite/ld-aarch64/ifunc-12.s
deleted file mode 100644
index aad30df089..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-12.s
+++ /dev/null
@@ -1,24 +0,0 @@
- .section .text.foo,"ax",@progbits
- .type foo, @function
-foo:
- adrp x0, :got:ifunc
- ldr x0, [x0, #:got_lo12:ifunc]
- bl ifunc
- adrp x0, xxx
- add x0, x0, :lo12:xxx
- ret
-
- .section .text.bar,"ax",@progbits
- .type bar, @function
-bar:
- .global bar
- ret
-
- .section .text.ifunc,"ax",@progbits
- .type ifunc, @gnu_indirect_function
-ifunc:
- ret
-
- .section .data.foo,"aw",@progbits
-xxx:
- .quad ifunc
diff --git a/ld/testsuite/ld-aarch64/ifunc-13.d b/ld/testsuite/ld-aarch64/ifunc-13.d
deleted file mode 100644
index e1b5c1068e..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-13.d
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: ifunc-13a.s
-#source: ifunc-13b.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_ABS64[ ]+ifunc\(\)[ ]+ifunc \+ 0
-
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-13a.s b/ld/testsuite/ld-aarch64/ifunc-13a.s
deleted file mode 100644
index 873e06ed09..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-13a.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .type foo, @function
- .global foo
-foo:
- adrp x0, xxx
- add x0, x0, :lo12:xxx
- ret
-
- .data
-xxx:
- .quad ifunc
diff --git a/ld/testsuite/ld-aarch64/ifunc-13b.s b/ld/testsuite/ld-aarch64/ifunc-13b.s
deleted file mode 100644
index 3560394298..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-13b.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .text
- .type ifunc, @gnu_indirect_function
- .globl ifunc
-ifunc:
- ret
diff --git a/ld/testsuite/ld-aarch64/ifunc-14a.d b/ld/testsuite/ld-aarch64/ifunc-14a.d
deleted file mode 100644
index ff580d0a3c..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14a.d
+++ /dev/null
@@ -1,10 +0,0 @@
-#source: ifunc-14a.s
-#source: ifunc-14b.s
-#ld: -shared -z nocombreloc
-#readelf: -d
-#target: aarch64*-*-*
-
-#failif
-#...
-.*\(TEXTREL\).*
-#...
diff --git a/ld/testsuite/ld-aarch64/ifunc-14a.s b/ld/testsuite/ld-aarch64/ifunc-14a.s
deleted file mode 100644
index 7d6183c957..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14a.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .text
- .globl bar
- .type bar, @function
-bar:
- bl foo
- .size bar, .-bar
- .hidden foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-14b.d b/ld/testsuite/ld-aarch64/ifunc-14b.d
deleted file mode 100644
index 52ed2b4e1e..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14b.d
+++ /dev/null
@@ -1,10 +0,0 @@
-#source: ifunc-14b.s
-#source: ifunc-14a.s
-#ld: -shared -z nocombreloc
-#readelf: -d
-#target: aarch64*-*-*
-
-#failif
-#...
-.*\(TEXTREL\).*
-#...
diff --git a/ld/testsuite/ld-aarch64/ifunc-14b.s b/ld/testsuite/ld-aarch64/ifunc-14b.s
deleted file mode 100644
index bac22eb435..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14b.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .type foo, %gnu_indirect_function
- .globl foo
-foo:
- ret
- .size foo, .-foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-14c.d b/ld/testsuite/ld-aarch64/ifunc-14c.d
deleted file mode 100644
index a83126f807..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14c.d
+++ /dev/null
@@ -1,10 +0,0 @@
-#source: ifunc-14a.s
-#source: ifunc-14b.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-#failif
-#...
-.* +R_AARCH64_NONE +.*
-#...
diff --git a/ld/testsuite/ld-aarch64/ifunc-14c.s b/ld/testsuite/ld-aarch64/ifunc-14c.s
deleted file mode 100644
index 785328054a..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14c.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .text
- .globl xxx
- .type xxx, @function
-xxx:
- bl foo
- .size xxx, .-xxx
- .hidden foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-14d.d b/ld/testsuite/ld-aarch64/ifunc-14d.d
deleted file mode 100644
index 4ae88d22ea..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14d.d
+++ /dev/null
@@ -1,10 +0,0 @@
-#source: ifunc-14b.s
-#source: ifunc-14a.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-#failif
-#...
-.* +R_AARCH64_NONE +.*
-#...
diff --git a/ld/testsuite/ld-aarch64/ifunc-14e.d b/ld/testsuite/ld-aarch64/ifunc-14e.d
deleted file mode 100644
index 62de35ece4..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14e.d
+++ /dev/null
@@ -1,11 +0,0 @@
-#source: ifunc-14a.s
-#source: ifunc-14c.s
-#source: ifunc-14b.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-#failif
-#...
-.* +R_AARCH64_NONE +.*
-#...
diff --git a/ld/testsuite/ld-aarch64/ifunc-14f.d b/ld/testsuite/ld-aarch64/ifunc-14f.d
deleted file mode 100644
index ab8bdbfed7..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-14f.d
+++ /dev/null
@@ -1,11 +0,0 @@
-#source: ifunc-14a.s
-#source: ifunc-14b.s
-#source: ifunc-14c.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-#failif
-#...
-.* +R_AARCH64_NONE +.*
-#...
diff --git a/ld/testsuite/ld-aarch64/ifunc-15.d b/ld/testsuite/ld-aarch64/ifunc-15.d
deleted file mode 100644
index 51d924220e..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-15.d
+++ /dev/null
@@ -1,12 +0,0 @@
-#source: ifunc-15.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.got' at offset 0x[0-9a-f]+ contains 1 entries:
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_GLOB_DAT[ ]+ifunc\(\)[ ]+ifunc \+ 0
-
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-15.s b/ld/testsuite/ld-aarch64/ifunc-15.s
deleted file mode 100644
index f94b4a667c..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-15.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .text
- .type foo, @function
- .global foo
-foo:
- adrp x0, :got:ifunc
- ldr x0, [x0, #:got_lo12:ifunc]
- ret
- .type ifunc, @gnu_indirect_function
- .globl ifunc
-ifunc:
- ret
diff --git a/ld/testsuite/ld-aarch64/ifunc-16.d b/ld/testsuite/ld-aarch64/ifunc-16.d
deleted file mode 100644
index 31ec162c7c..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-16.d
+++ /dev/null
@@ -1,9 +0,0 @@
-#source: ifunc-16.s
-#ld: -shared
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+0+[ ]+ifunc \+ 0
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-16.s b/ld/testsuite/ld-aarch64/ifunc-16.s
deleted file mode 100644
index ded401adc7..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-16.s
+++ /dev/null
@@ -1,17 +0,0 @@
- .text
- .globl fct
- .type fct, @gnu_indirect_function
- .set fct,resolve
- .hidden int_fct
- .globl int_fct
- .set int_fct,fct
- .p2align 4,,15
- .type resolve, @function
-resolve:
- bl ifunc
- .size resolve, .-resolve
- .globl g
- .type g, @function
-g:
- bl int_fct
- .size g, .-g
diff --git a/ld/testsuite/ld-aarch64/ifunc-17a.d b/ld/testsuite/ld-aarch64/ifunc-17a.d
deleted file mode 100644
index a87de7c014..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-17a.d
+++ /dev/null
@@ -1,9 +0,0 @@
-#source: ifunc-17a.s
-#source: ifunc-17b.s
-#ld: -static
-#readelf: -s --wide
-#target: aarch64*-*-*
-
-#...
- +[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-17a.s b/ld/testsuite/ld-aarch64/ifunc-17a.s
deleted file mode 100644
index e0bde49c89..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-17a.s
+++ /dev/null
@@ -1,11 +0,0 @@
- .globl main
- .globl start
- .globl _start
- .globl __start
- .text
-main:
-start:
-_start:
-__start:
- .byte 0
- .common foo,4,4
diff --git a/ld/testsuite/ld-aarch64/ifunc-17b.d b/ld/testsuite/ld-aarch64/ifunc-17b.d
deleted file mode 100644
index 9286a9f88e..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-17b.d
+++ /dev/null
@@ -1,9 +0,0 @@
-#source: ifunc-17b.s
-#source: ifunc-17a.s
-#ld: -static
-#readelf: -s --wide
-#target: aarch64*-*-*
-
-#...
- +[0-9]+: +[0-9a-f]+ +4 +OBJECT +GLOBAL +DEFAULT +[1-9] foo
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-17b.s b/ld/testsuite/ld-aarch64/ifunc-17b.s
deleted file mode 100644
index 66abe04559..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-17b.s
+++ /dev/null
@@ -1,6 +0,0 @@
- .weak foo
- .type foo, %gnu_indirect_function
- .size foo,1
- .text
-foo:
- .byte 1
diff --git a/ld/testsuite/ld-aarch64/ifunc-18a.d b/ld/testsuite/ld-aarch64/ifunc-18a.d
deleted file mode 100644
index 3db91d3486..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-18a.d
+++ /dev/null
@@ -1,14 +0,0 @@
-#source: ifunc-18a.s
-#source: ifunc-18b.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.ifunc' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-18a.s b/ld/testsuite/ld-aarch64/ifunc-18a.s
deleted file mode 100644
index c29c121c23..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-18a.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .section .data.rel,"aw",@progbits
- .globl foo_ptrt
- .type foo_ptr, @object
-foo_ptr:
- .dc.a foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-18b.d b/ld/testsuite/ld-aarch64/ifunc-18b.d
deleted file mode 100644
index b27f526365..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-18b.d
+++ /dev/null
@@ -1,14 +0,0 @@
-#source: ifunc-18b.s
-#source: ifunc-18a.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.ifunc' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-18b.s b/ld/testsuite/ld-aarch64/ifunc-18b.s
deleted file mode 100644
index 2e46c1ee05..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-18b.s
+++ /dev/null
@@ -1,15 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
- .hidden foo
- .globl foo
-foo:
- ret
- .size foo, .-foo
- .globl bar
-bar:
- bl foo1
- ret
- .size bar, .-bar
- .hidden foo1
- .globl foo1
- foo1 = foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-19a.d b/ld/testsuite/ld-aarch64/ifunc-19a.d
deleted file mode 100644
index dd82b24787..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-19a.d
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: ifunc-19a.s
-#source: ifunc-19b.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.ifunc' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-19a.s b/ld/testsuite/ld-aarch64/ifunc-19a.s
deleted file mode 100644
index 3a3d0cd668..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-19a.s
+++ /dev/null
@@ -1,5 +0,0 @@
- .section .data.rel,"aw",@progbits
- .globl foo_ptrt
- .type foo_ptr, @object
-foo_ptr:
- .dc.a foo1
diff --git a/ld/testsuite/ld-aarch64/ifunc-19b.d b/ld/testsuite/ld-aarch64/ifunc-19b.d
deleted file mode 100644
index 1e0819c0e8..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-19b.d
+++ /dev/null
@@ -1,13 +0,0 @@
-#source: ifunc-19b.s
-#source: ifunc-19a.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.ifunc' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-19b.s b/ld/testsuite/ld-aarch64/ifunc-19b.s
deleted file mode 100644
index 2e46c1ee05..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-19b.s
+++ /dev/null
@@ -1,15 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
- .hidden foo
- .globl foo
-foo:
- ret
- .size foo, .-foo
- .globl bar
-bar:
- bl foo1
- ret
- .size bar, .-bar
- .hidden foo1
- .globl foo1
- foo1 = foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-2-local.d b/ld/testsuite/ld-aarch64/ifunc-2-local.d
deleted file mode 100644
index 0bdeb270ac..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-2-local.d
+++ /dev/null
@@ -1,9 +0,0 @@
-#ld: -shared
-#objdump: -dw
-#target: aarch64*-*-*
-
-#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <_GLOBAL_OFFSET_TABLE_>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x[0-9a-f]+
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-2-local.s b/ld/testsuite/ld-aarch64/ifunc-2-local.s
deleted file mode 100644
index 632c31f456..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-2-local.s
+++ /dev/null
@@ -1,15 +0,0 @@
- .type foo, %gnu_indirect_function
- .set __GI_foo, foo
- .text
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
-.globl bar
- .type bar, @function
-bar:
- bl __GI_foo
- adrp x0, __GI_foo
- add x0, x0, :lo12:__GI_foo
- ret
- .size bar, .-bar
diff --git a/ld/testsuite/ld-aarch64/ifunc-2.d b/ld/testsuite/ld-aarch64/ifunc-2.d
deleted file mode 100644
index 0bdeb270ac..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-2.d
+++ /dev/null
@@ -1,9 +0,0 @@
-#ld: -shared
-#objdump: -dw
-#target: aarch64*-*-*
-
-#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
-[ \t0-9a-f]+:[ \t0-9a-f]+adrp[ \t]+x0, 0 <_GLOBAL_OFFSET_TABLE_>
-[ \t0-9a-f]+:[ \t0-9a-f]+add[ \t]+x0, x0, #0x[0-9a-f]+
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-2.s b/ld/testsuite/ld-aarch64/ifunc-2.s
deleted file mode 100644
index da350df631..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-2.s
+++ /dev/null
@@ -1,18 +0,0 @@
- .type foo, %gnu_indirect_function
- .global __GI_foo
- .hidden __GI_foo
- .set __GI_foo, foo
- .text
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
-.globl bar
- .type bar, @function
-bar:
- bl __GI_foo
- adrp x0, __GI_foo
- add x0, x0, :lo12:__GI_foo
- ret
- .size bar, .-bar
diff --git a/ld/testsuite/ld-aarch64/ifunc-20.d b/ld/testsuite/ld-aarch64/ifunc-20.d
deleted file mode 100644
index 3380479870..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-20.d
+++ /dev/null
@@ -1,12 +0,0 @@
-#source: ifunc-20.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.ifunc' at offset 0x[0-9a-f]+ contains 1 entries:
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_ABS64[ ]+ifunc\(\)[ ]+ifunc \+ 0
-
-Relocation section '.rela.plt' at offset 0x[0-9a-f]+ contains 1 entries:
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+ifunc\(\)[ ]+ifunc \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-20.s b/ld/testsuite/ld-aarch64/ifunc-20.s
deleted file mode 100644
index 17393cbf9a..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-20.s
+++ /dev/null
@@ -1,16 +0,0 @@
- .section .data.rel,"aw",@progbits
- .globl ifunc_ptrt
- .type ifunc_ptr, @object
-ifunc_ptr:
- .dc.a ifunc
- .text
- .type ifunc, @gnu_indirect_function
- .globl ifunc
-ifunc:
- ret
- .size ifunc, .-ifunc
- .type bar, @function
- .globl bar
-bar:
- bl ifunc
- .size bar, .-bar
diff --git a/ld/testsuite/ld-aarch64/ifunc-3.s b/ld/testsuite/ld-aarch64/ifunc-3.s
deleted file mode 100644
index c68b1b73d2..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-3.s
+++ /dev/null
@@ -1,16 +0,0 @@
- .type foo, %gnu_indirect_function
- .global __GI_foo
- .protected __GI_foo
- .set __GI_foo, foo
- .text
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
-.globl bar
- .type bar, @function
-bar:
- bl __GI_foo
- ret
- .size bar, .-bar
diff --git a/ld/testsuite/ld-aarch64/ifunc-3a.d b/ld/testsuite/ld-aarch64/ifunc-3a.d
deleted file mode 100644
index e8cc8d384b..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-3a.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-3.s
-#ld: -shared
-#objdump: -dw
-#target: aarch64*-*-*
-
-#...
-[ \t0-9a-f]+:[ \t0-9a-f]+bl[ \t0-9a-f]+<\*ABS\*\+0x[0-9a-f]+@plt>
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-3b.d b/ld/testsuite/ld-aarch64/ifunc-3b.d
deleted file mode 100644
index 7e177a61e5..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-3b.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-3.s
-#ld: -shared
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-#...
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_[_0-9A-Z]+_IRELATIVE[ ]*[0-9a-f]*
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-4.d b/ld/testsuite/ld-aarch64/ifunc-4.d
deleted file mode 100644
index 5e69b056e5..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-4.d
+++ /dev/null
@@ -1,7 +0,0 @@
-#ld:
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-#...
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_[_0-9A-Z]+_IRELATIVE[ ]*[0-9a-f]*
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-4.s b/ld/testsuite/ld-aarch64/ifunc-4.s
deleted file mode 100644
index c2b66f5bb6..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-4.s
+++ /dev/null
@@ -1,18 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- bl foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-4a.d b/ld/testsuite/ld-aarch64/ifunc-4a.d
deleted file mode 100644
index 801e6cdef4..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-4a.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#ld: -s
-#readelf: -r --wide
-#target: aarch64*-*-*
-#source: ifunc-4.s
-
-#...
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_[_0-9A-Z]+_IRELATIVE[ ]*[0-9a-f]*
-#pass
diff --git a/ld/testsuite/ld-aarch64/ifunc-5-local.s b/ld/testsuite/ld-aarch64/ifunc-5-local.s
deleted file mode 100644
index 8d23bab646..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5-local.s
+++ /dev/null
@@ -1,19 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- bl foo
- adrp x0, :got:foo
- ldr x0, [x0, #:got_lo12:foo]
diff --git a/ld/testsuite/ld-aarch64/ifunc-5.s b/ld/testsuite/ld-aarch64/ifunc-5.s
deleted file mode 100644
index b1bbf1a48f..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5.s
+++ /dev/null
@@ -1,20 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- bl foo
- adrp x0, :got:foo
- ldr x0, [x0, #:got_lo12:foo]
diff --git a/ld/testsuite/ld-aarch64/ifunc-5a-local.d b/ld/testsuite/ld-aarch64/ifunc-5a-local.d
deleted file mode 100644
index 96935851d5..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5a-local.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-5-local.s
-#ld:
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-5a.d b/ld/testsuite/ld-aarch64/ifunc-5a.d
deleted file mode 100644
index f0ee59f3c4..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5a.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-5.s
-#ld:
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-5b-local.d b/ld/testsuite/ld-aarch64/ifunc-5b-local.d
deleted file mode 100644
index e8e620c03b..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5b-local.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-5-local.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-5b.d b/ld/testsuite/ld-aarch64/ifunc-5b.d
deleted file mode 100644
index 0175982f50..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5b.d
+++ /dev/null
@@ -1,12 +0,0 @@
-#source: ifunc-5.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.got' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_GLOB_DAT[ ]+foo\(\)[ ]+foo \+ 0
-#...
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_JUMP_SLOT[ ]+foo\(\)[ ]+foo \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-5r-local.d b/ld/testsuite/ld-aarch64/ifunc-5r-local.d
deleted file mode 100644
index 463cd25a9e..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-5r-local.d
+++ /dev/null
@@ -1,10 +0,0 @@
-#source: ifunc-5-local.s
-#ld: -r
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.text' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_CALL26[ ]+foo\(\)[ ]+foo \+ 0
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_ADR_GOT_PAGE[ ]+foo\(\)[ ]+foo \+ 0
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_LD64_GOT_LO1[ ]+foo\(\)[ ]+foo \+ 0
diff --git a/ld/testsuite/ld-aarch64/ifunc-6.s b/ld/testsuite/ld-aarch64/ifunc-6.s
deleted file mode 100644
index 56486d6dc5..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-6.s
+++ /dev/null
@@ -1,21 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
- .protected foo
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- bl foo
- adrp x0, :got:foo
- ldr x0, [x0, #:got_lo12:foo]
diff --git a/ld/testsuite/ld-aarch64/ifunc-6a.d b/ld/testsuite/ld-aarch64/ifunc-6a.d
deleted file mode 100644
index a50ad3afc4..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-6a.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-6.s
-#ld:
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-6b.d b/ld/testsuite/ld-aarch64/ifunc-6b.d
deleted file mode 100644
index c415bc3ccc..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-6b.d
+++ /dev/null
@@ -1,12 +0,0 @@
-#source: ifunc-6.s
-#ld: -shared -z nocombreloc
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.got' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_GLOB_DAT[ ]+foo\(\)[ ]+foo \+ 0
-#...
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-7.s b/ld/testsuite/ld-aarch64/ifunc-7.s
deleted file mode 100644
index 51485af915..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-7.s
+++ /dev/null
@@ -1,21 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
- .hidden foo
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- bl foo
- adrp x0, :got:foo
- ldr x0, [x0, #:got_lo12:foo]
diff --git a/ld/testsuite/ld-aarch64/ifunc-7a.d b/ld/testsuite/ld-aarch64/ifunc-7a.d
deleted file mode 100644
index c246c99f79..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-7a.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-7.s
-#ld:
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-7b.d b/ld/testsuite/ld-aarch64/ifunc-7b.d
deleted file mode 100644
index efdd3798be..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-7b.d
+++ /dev/null
@@ -1,8 +0,0 @@
-#source: ifunc-7.s
-#ld: -shared
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-7c.d b/ld/testsuite/ld-aarch64/ifunc-7c.d
deleted file mode 100644
index 1967742bf9..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-7c.d
+++ /dev/null
@@ -1,19 +0,0 @@
-#source: ifunc-7.s
-#ld: -shared
-#objdump: -dr -j .text
-#target: aarch64*-*-*
-
-# Check if adrp and ldr have been relocated correctly.
-
-.*: file format elf.+aarch64.*
-
-
-Disassembly of section \.text:
-
-[0-9a-f]+ <foo>:
- [0-9a-f]+: d65f03c0 ret
-
-[0-9a-f]+ <__start>:
- [0-9a-f]+: [0-9a-f]+ bl [0-9a-f]+ <\*ABS\*\+0x[0-9a-f]+@plt>
- [0-9a-f]+: [0-9a-f]+ adrp x0, [0-9]+ <__start\+0x[0-9a-f]+>
- [0-9a-f]+: [0-9a-f]+ ldr x0, \[x0,.+\]
diff --git a/ld/testsuite/ld-aarch64/ifunc-8.d b/ld/testsuite/ld-aarch64/ifunc-8.d
deleted file mode 100644
index 8aadc51b49..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-8.d
+++ /dev/null
@@ -1,9 +0,0 @@
-#source: ifunc-8a.s
-#source: ifunc-8b.s
-#ld:
-#readelf: -r --wide
-#target: aarch64*-*-*
-
-Relocation section '.rela.plt' at .*
-[ ]+Offset[ ]+Info[ ]+Type[ ]+.*
-[0-9a-f]+[ ]+[0-9a-f]+[ ]+R_AARCH64_IRELATIVE[ ]+[0-9a-f]*
diff --git a/ld/testsuite/ld-aarch64/ifunc-8a.s b/ld/testsuite/ld-aarch64/ifunc-8a.s
deleted file mode 100644
index 94c073acd4..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-8a.s
+++ /dev/null
@@ -1,13 +0,0 @@
- .text
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- adrp x0, :got:foo
- ldr x0, [x0, #:got_lo12:foo]
diff --git a/ld/testsuite/ld-aarch64/ifunc-8b.s b/ld/testsuite/ld-aarch64/ifunc-8b.s
deleted file mode 100644
index 1f108f8e80..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-8b.s
+++ /dev/null
@@ -1,7 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
diff --git a/ld/testsuite/ld-aarch64/ifunc-9.d b/ld/testsuite/ld-aarch64/ifunc-9.d
deleted file mode 100644
index 3b4e995254..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-9.d
+++ /dev/null
@@ -1,3 +0,0 @@
-#ld: --export-dynamic
-#error: .*dynamic STT_GNU_IFUNC symbol `foo' with pointer equality in `.*.o' can not be used when making an executable; recompile with -fPIE and relink with -pie
-#target: aarch64*-*-*
diff --git a/ld/testsuite/ld-aarch64/ifunc-9.s b/ld/testsuite/ld-aarch64/ifunc-9.s
deleted file mode 100644
index 2e2f577b7e..0000000000
--- a/ld/testsuite/ld-aarch64/ifunc-9.s
+++ /dev/null
@@ -1,23 +0,0 @@
- .text
- .type foo, %gnu_indirect_function
-.globl foo
- .type foo, @function
-foo:
- ret
- .size foo, .-foo
- .type start,"function"
- .global start
-start:
- .type _start,"function"
- .global _start
-_start:
- .type __start,"function"
- .global __start
-__start:
- .type __start,"function"
- adrp x0, .LANCHOR0
- add x0, x0, :lo12:.LANCHOR0
- .data
- .align 3
-.LANCHOR0 = . + 0
- .xword foo
diff --git a/ld/testsuite/ld-ifunc/ifunc.exp b/ld/testsuite/ld-ifunc/ifunc.exp
index 1d64efcd67..df913d89bd 100644
--- a/ld/testsuite/ld-ifunc/ifunc.exp
+++ b/ld/testsuite/ld-ifunc/ifunc.exp
@@ -24,11 +24,10 @@
# IFUNC support has only been implemented for the ix86, x86_64, powerpc,
-# aarch64 and sparc so far.
+# and sparc so far.
if {!(([istarget "i?86-*-*"]
|| [istarget "x86_64-*-*"]
|| [istarget "powerpc*-*-*"]
- || [istarget "aarch64*-*-*"]
|| [istarget "sparc*-*-*"])
&& ([istarget "*-*-elf*"]
|| [istarget "*-*-nacl*"]