aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-ifunc/ifunc-12-i386.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-ifunc/ifunc-12-i386.s')
-rw-r--r--ld/testsuite/ld-ifunc/ifunc-12-i386.s25
1 files changed, 25 insertions, 0 deletions
diff --git a/ld/testsuite/ld-ifunc/ifunc-12-i386.s b/ld/testsuite/ld-ifunc/ifunc-12-i386.s
new file mode 100644
index 0000000..840302f
--- /dev/null
+++ b/ld/testsuite/ld-ifunc/ifunc-12-i386.s
@@ -0,0 +1,25 @@
+ .section .text.foo,"ax",@progbits
+ .type foo, @function
+foo:
+ movl ifunc@GOT(%ecx), %eax
+ movl ifunc@GOTOFF(%ecx), %eax
+ call ifunc@PLT
+ call ifunc
+ movl xxx@GOT(%ecx), %eax
+ movl xxx, %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:
+ .long ifunc