aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-aarch64/ifunc-12.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-aarch64/ifunc-12.s')
-rw-r--r--ld/testsuite/ld-aarch64/ifunc-12.s24
1 files changed, 24 insertions, 0 deletions
diff --git a/ld/testsuite/ld-aarch64/ifunc-12.s b/ld/testsuite/ld-aarch64/ifunc-12.s
new file mode 100644
index 0000000..aad30df
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/ifunc-12.s
@@ -0,0 +1,24 @@
+ .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