summaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-x86-64/tlsgd8.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-x86-64/tlsgd8.s')
-rw-r--r--ld/testsuite/ld-x86-64/tlsgd8.s18
1 files changed, 18 insertions, 0 deletions
diff --git a/ld/testsuite/ld-x86-64/tlsgd8.s b/ld/testsuite/ld-x86-64/tlsgd8.s
new file mode 100644
index 0000000..c913b29
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/tlsgd8.s
@@ -0,0 +1,18 @@
+ .text
+ .globl _start
+_start:
+1: movabsq $_GLOBAL_OFFSET_TABLE_-1b, %r11
+ pushq %rbx
+ pushq %rbx
+ leaq 1b(%rip), %rbx
+ addq %r11, %rbx
+
+ /* GD, -mcmodel=large */
+ leaq foo@tlsgd(%rip), %rdi
+ movabsq $__tls_get_addr@pltoff, %rax
+ addq %rbx, %rax
+ call *%rax
+
+ popq %rbx
+ popq %rbx
+ ret