diff options
Diffstat (limited to 'ld/testsuite/ld-arm/ifunc-7.s')
-rw-r--r-- | ld/testsuite/ld-arm/ifunc-7.s | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/ifunc-7.s b/ld/testsuite/ld-arm/ifunc-7.s new file mode 100644 index 0000000..85ffb68 --- /dev/null +++ b/ld/testsuite/ld-arm/ifunc-7.s @@ -0,0 +1,42 @@ + .macro define,name + .text + .type \name,%gnu_indirect_function +\name: + mov pc,lr + .size \name,.-\name + .endm + + .macro test_relocs,name + bl \name(PLT) + ldr r4,1f + ldr r4,2f +1: + .word \name(GOT) +2: + .word \name(GOT_PREL) + + .data + .word \name + .word \name - . + .text + .endm + + .globl f3 + .hidden f3 + + define f1 + define f3 + + .data +foo: + .word 0x11223344 + + .text + .globl arm +arm: + test_relocs foo + test_relocs f1 + test_relocs f2 + test_relocs f3 + test_relocs f4 + .size arm,.-arm |