diff options
author | Will Newton <willnewton@sourceware.org> | 2013-06-19 10:30:59 +0000 |
---|---|---|
committer | Will Newton <willnewton@sourceware.org> | 2013-06-19 10:30:59 +0000 |
commit | 8847944f8c434b7f254514251e29b6c6917acb1b (patch) | |
tree | 032ad1e094efe58de0a45f72954d1de39e73962f /ld | |
parent | 3190f0c611ee86ceed79743d228cfb0edc084ed0 (diff) | |
download | gdb-8847944f8c434b7f254514251e29b6c6917acb1b.zip gdb-8847944f8c434b7f254514251e29b6c6917acb1b.tar.gz gdb-8847944f8c434b7f254514251e29b6c6917acb1b.tar.bz2 |
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')
74 files changed, 79 insertions, 847 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index c1435fe..03a8d6d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,7 @@ +2013-06-19 Will Newton <will.newton@linaro.org> + + * emulparams/aarch64elf.sh: Remove IREL_IN_PLT. + 2013-06-14 Yufeng Zhang <yufeng.zhang@arm.com> * emulparams/aarch64elf.sh: Add IREL_IN_PLT. diff --git a/ld/emulparams/aarch64elf.sh b/ld/emulparams/aarch64elf.sh index 99f4844..53ccd6a 100644 --- a/ld/emulparams/aarch64elf.sh +++ b/ld/emulparams/aarch64elf.sh @@ -18,8 +18,6 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)" ENTRY=_start EMBEDDED=yes SEPARATE_GOTPLT=24 -IREL_IN_PLT= - TEXT_START_ADDR=0x00400000 DATA_START_SYMBOLS='__data_start = . ;'; diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index fcec545..f205bf5 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 5c150dd..d687cc2 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 a3054bd..0000000 --- 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 7b9d117..0000000 --- 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 a3054bd..0000000 --- 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 6f86c8a..0000000 --- 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 782b078..0000000 --- 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 10468c1..0000000 --- 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 782b078..0000000 --- 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 e1820de..0000000 --- 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 8fa8ce0..0000000 --- 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 aad30df..0000000 --- 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 e1b5c10..0000000 --- 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 873e06e..0000000 --- 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 3560394..0000000 --- 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 ff580d0..0000000 --- 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 7d6183c..0000000 --- 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 52ed2b4..0000000 --- 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 bac22eb..0000000 --- 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 a83126f..0000000 --- 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 7853280..0000000 --- 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 4ae88d2..0000000 --- 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 62de35e..0000000 --- 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 ab8bdbf..0000000 --- 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 51d9242..0000000 --- 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 f94b4a6..0000000 --- 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 31ec162..0000000 --- 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 ded401a..0000000 --- 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 a87de7c..0000000 --- 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 e0bde49..0000000 --- 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 9286a9f..0000000 --- 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 66abe04..0000000 --- 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 3db91d3..0000000 --- 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 c29c121..0000000 --- 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 b27f526..0000000 --- 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 2e46c1e..0000000 --- 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 dd82b24..0000000 --- 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 3a3d0cd..0000000 --- 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 1e0819c..0000000 --- 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 2e46c1e..0000000 --- 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 0bdeb270..0000000 --- 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 632c31f..0000000 --- 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 0bdeb270..0000000 --- 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 da350df..0000000 --- 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 3380479..0000000 --- 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 17393cb..0000000 --- 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 c68b1b7..0000000 --- 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 e8cc8d3..0000000 --- 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 7e177a6..0000000 --- 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 5e69b05..0000000 --- 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 c2b66f5..0000000 --- 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 801e6cd..0000000 --- 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 8d23bab..0000000 --- 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 b1bbf1a..0000000 --- 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 9693585..0000000 --- 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 f0ee59f..0000000 --- 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 e8e620c..0000000 --- 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 0175982..0000000 --- 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 463cd25..0000000 --- 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 56486d6d..0000000 --- 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 a50ad3a..0000000 --- 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 c415bc3..0000000 --- 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 51485af..0000000 --- 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 c246c99..0000000 --- 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 efdd379..0000000 --- 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 1967742..0000000 --- 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 8aadc51..0000000 --- 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 94c073a..0000000 --- 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 1f108f8..0000000 --- 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 3b4e995..0000000 --- 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 2e2f577..0000000 --- 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 1d64efc..df913d8 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*"] |