aboutsummaryrefslogtreecommitdiff
path: root/ld/testsuite/ld-csky/tls-gd-v1.s
diff options
context:
space:
mode:
Diffstat (limited to 'ld/testsuite/ld-csky/tls-gd-v1.s')
-rw-r--r--ld/testsuite/ld-csky/tls-gd-v1.s26
1 files changed, 26 insertions, 0 deletions
diff --git a/ld/testsuite/ld-csky/tls-gd-v1.s b/ld/testsuite/ld-csky/tls-gd-v1.s
new file mode 100644
index 0000000..617aac0
--- /dev/null
+++ b/ld/testsuite/ld-csky/tls-gd-v1.s
@@ -0,0 +1,26 @@
+ .global __tls_get_addr
+ .text
+ .align 2
+ .global foo
+ .type foo, @function
+foo:
+ subi sp, sp, 8
+ st.w gb, (sp)
+ st.w r15, (sp, 4)
+ bsr .L2
+.L2:
+ lrw gb, .L2@GOTPC
+ addu gb, gb, r15
+ lrw r7, __tls_get_addr@PLT
+ addu r7, r7, gb
+ ld.w r7, (r7)
+ bsr .LTLS0
+.LTLS0:
+ lrw r2, var@TLSGD32
+ addu r2, r15
+ jsr r7
+ ld.w r2, (r2)
+ ld.w r15, (sp, 4)
+ ld.w gb, (sp)
+ addi sp, sp, 8
+ jmp r15