diff options
Diffstat (limited to 'ld/testsuite/ld-powerpc/tlsmark.s')
-rw-r--r-- | ld/testsuite/ld-powerpc/tlsmark.s | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/ld/testsuite/ld-powerpc/tlsmark.s b/ld/testsuite/ld-powerpc/tlsmark.s new file mode 100644 index 0000000..dc42327 --- /dev/null +++ b/ld/testsuite/ld-powerpc/tlsmark.s @@ -0,0 +1,55 @@ + .section ".tdata","awT",@progbits +x: .int 1 +y: .int 2 + + .section ".toc","aw",@progbits + .p2align 3 +.LC0: + .quad y@dtpmod + .quad y@dtprel +.LC1: + .quad y@dtpmod + .quad 0 + + .text + .global _start +_start: + b .L2 + +.L1: + bl __tls_get_addr(x@tlsgd) + nop + ld 4,0(3) + addi 3,2,x@got@tlsld + b .L3 +.L2: + addi 3,2,x@got@tlsgd + b .L1 +.L3: + bl __tls_get_addr(x@tlsld) + nop + ld 4,x@dtprel(3) + + addi 3,2,.LC0@toc + b .L5 +.L4: + addi 3,2,.LC1@toc + b .L6 +.L5: + bl .__tls_get_addr(.LC0@tlsgd) + nop + ld 5,0(3) + b .L4 +.L6: + bl .__tls_get_addr(.LC1@tlsld) + nop + ld 5,y@dtprel(3) + + + .section ".text.no","ax",@progbits + .p2align 2 + addi 3,2,gd@got@tlsgd + lis 29,__tls_get_addr@ha + addi 29,29,__tls_get_addr@l + bl __tls_get_addr + nop |