binutils-gdb/ld/testsuite/ld-loongarch-elf/tlsdesc-dso.s

75 lines
1.3 KiB
ArmAsm

.data
.section .tdata,"awT",@progbits
.global gl1, gl2, gl3, gl4
.global hd1, hd2
.hidden hd1, hd2
gl1: .dword 1
gl2: .dword 2
gl3: .dword 3
gl4: .dword 4
lo1: .dword 10
lo2: .dword 20
lo3: .dword 30
lo4: .dword 40
hd1: .dword 100
hd2: .dword 200
.text
# Access global symbol
fun_gl1:
# GD + IE
# GD: pcaddi + addi.d => pcaddi
la.tls.gd $a0, gl1
la.tls.ie $a0, gl1
# GD + DESC
# GD: pcaddi + addi.d => pcaddi
la.tls.gd $a0, gl2
# DESC: pcaddi + addi.d => pcaddi
la.tls.desc $a0, gl2
# DESC + IE
# DESC -> IE
la.tls.desc $a0, gl3
la.tls.ie $a0, gl3
# GD + DESC + IE
# GD: pcaddi + addi.d => pcaddi
la.tls.gd $a0, gl4
# DESC: pcaddi + addi.d => pcaddi
la.tls.desc $a0, gl4
la.tls.ie $a0, gl4
# Access local symbol
fun_lo:
# IE + GD
la.tls.ie $a0, lo1
# GD: pcaddi + addi.d => pcaddi
la.tls.gd $a0, lo1
# DESC + GD
# DESC: pcaddi + addi.d => pcaddi
la.tls.desc $a0, lo2
# GD: pcaddi + addi.d => pcaddi
la.tls.gd $a0, lo2
# DESC + IE
# DESC: DESC -> IE
la.tls.desc $a0, lo3
la.tls.ie $a0, lo3
# DESC + GD + IE
# DESC: pcaddi + addi.d => pcaddi
la.tls.desc $a0, lo4
# GD: pcaddi + addi.d => pcaddi
la.tls.gd $a0, lo4
la.tls.ie $a0, lo4
# Access external undef symbol
fun_external:
la.tls.desc $a0, sH1
# Access hidden symbol
fun_hidden:
la.tls.desc $a0, hd1
la.tls.desc $a0, hd2