summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-ifunc/ifunc-10-x86-64.s')
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-10-x86-64.s25
1 files changed, 25 insertions, 0 deletions
diff --git a/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s b/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s
new file mode 100644
index 0000000..11e29b5
--- /dev/null
+++ b/ld/testsuite/ld-ifunc/ifunc-10-x86-64.s
@@ -0,0 +1,25 @@
+ .section .text.foo,"ax",@progbits
+ .type foo, @function
+foo:
+ .global foo
+ movl ifunc@GOTPCREL(%rip), %eax
+ movl ifunc(%rip), %eax
+ call ifunc@PLT
+ call ifunc
+ movl xxx(%rip), %eax
+ 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