diff options
Diffstat (limited to 'ld/testsuite/ld-x86-64/ifunc-textrel-2.s')
-rw-r--r-- | ld/testsuite/ld-x86-64/ifunc-textrel-2.s | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/ifunc-textrel-2.s b/ld/testsuite/ld-x86-64/ifunc-textrel-2.s new file mode 100644 index 0000000..5c8f271 --- /dev/null +++ b/ld/testsuite/ld-x86-64/ifunc-textrel-2.s @@ -0,0 +1,28 @@ + .text + .type selector, %function +foo: + movl $0, %eax + ret +selector: +.ifdef __x86_64__ + leaq foo(%rip), %rax +.else + leal foo@GOTOFF(%eax), %eax +.endif + ret + .type selector, %gnu_indirect_function + .globl _start +_start: +.ifdef __x86_64__ + movabs ptr, %rax + call *%rax +.else + mov ptr, %eax + call *%eax +.endif + ret + .data + .type ptr, @object +ptr: + .dc.a foo + .section .note.GNU-stack,"",@progbits |