aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-arm/ifunc-5.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-arm/ifunc-5.s')
-rw-r--r--ld/testsuite/ld-arm/ifunc-5.s39
1 files changed, 39 insertions, 0 deletions
diff --git a/ld/testsuite/ld-arm/ifunc-5.s b/ld/testsuite/ld-arm/ifunc-5.s
new file mode 100644
index 0000000..9074c92
--- /dev/null
+++ b/ld/testsuite/ld-arm/ifunc-5.s
@@ -0,0 +1,39 @@
+ .macro define,name
+ .type \name,%gnu_indirect_function
+\name:
+ mov pc,lr
+ .size \name,.-\name
+ .endm
+
+ .macro test_relocs,name
+ bl \name
+ ldr r4,1f
+ ldr r4,2f
+1:
+ .word \name(GOT)
+2:
+ .word \name(GOT_PREL)
+ .endm
+
+ .global f2
+
+ .global f3
+ .hidden f3
+
+ define f1
+ define f2
+ define f3
+
+ .globl _start
+_start:
+ test_relocs foo
+ test_relocs f1
+ test_relocs f2
+ test_relocs f3
+ .size _start,.-_start
+
+ .data
+foo:
+ .word 0x11223344
+ .word __irel_start
+ .word __irel_end