binutils-gdb/ld/testsuite/ld-frv/tls-2.s

184 lines
4.8 KiB
ArmAsm

.section .tbss,"awT",@nobits
.align 4
.type l, @object
.size l, 4
l:
.zero 4
.align 4
.globl i
.type i, @object
.size i, 4
i:
.zero 4
.text
.globl _start
_start:
call #gettlsoff(l+1)
call #gettlsoff(l+1+4096)
call #gettlsoff(l+1+65536)
sethi.p #gottlsdeschi(l+2), gr14
setlo #gottlsdesclo(l+2), gr14
ldd #tlsdesc(l+2)@(gr15, gr14), gr8
calll #gettlsoff(l+2)@(gr8, gr0)
sethi.p #gottlsdeschi(l+2+4096), gr14
setlo #gottlsdesclo(l+2+4096), gr14
ldd #tlsdesc(l+2+4096)@(gr15, gr14), gr8
calll #gettlsoff(l+2+4096)@(gr8, gr0)
sethi.p #gottlsdeschi(l+2+65536), gr14
setlo #gottlsdesclo(l+2+65536), gr14
ldd #tlsdesc(l+2+65536)@(gr15, gr14), gr8
calll #gettlsoff(l+2+65536)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(l+3)), gr8
setlos #gottlsdesclo(l+3), gr14
calll #gettlsoff(l+3)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(l+3+4096)), gr8
setlos #gottlsdesclo(l+3+4096), gr14
calll #gettlsoff(l+3+4096)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(l+3+65536)), gr8
setlos #gottlsdesclo(l+3+65536), gr14
calll #gettlsoff(l+3+65536)@(gr8, gr0)
sethi #tlsmoffhi(l+4), gr9
setlo #tlsmofflo(l+4), gr9
sethi #tlsmoffhi(l+4+4096), gr9
setlo #tlsmofflo(l+4+4096), gr9
sethi #tlsmoffhi(l+4+65536), gr9
setlo #tlsmofflo(l+4+65536), gr9
call #gettlsoff(i+1)
call #gettlsoff(i+1+4096)
call #gettlsoff(i+1+65536)
sethi.p #gottlsdeschi(i+2), gr14
setlo #gottlsdesclo(i+2), gr14
ldd #tlsdesc(i+2)@(gr15, gr14), gr8
calll #gettlsoff(i+2)@(gr8, gr0)
sethi.p #gottlsdeschi(i+2+4096), gr14
setlo #gottlsdesclo(i+2+4096), gr14
ldd #tlsdesc(i+2+4096)@(gr15, gr14), gr8
calll #gettlsoff(i+2+4096)@(gr8, gr0)
sethi.p #gottlsdeschi(i+2+65536), gr14
setlo #gottlsdesclo(i+2+65536), gr14
ldd #tlsdesc(i+2+65536)@(gr15, gr14), gr8
calll #gettlsoff(i+2+65536)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(i+3)), gr8
setlos #gottlsdesclo(i+3), gr14
calll #gettlsoff(i+3)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(i+3+4096)), gr8
setlos #gottlsdesclo(i+3+4096), gr14
calll #gettlsoff(i+3+4096)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(i+3+65536)), gr8
setlos #gottlsdesclo(i+3+65536), gr14
calll #gettlsoff(i+3+65536)@(gr8, gr0)
sethi #tlsmoffhi(i+4), gr9
setlo #tlsmofflo(i+4), gr9
sethi #tlsmoffhi(i+4+4096), gr9
setlo #tlsmofflo(i+4+4096), gr9
sethi #tlsmoffhi(i+4+65536), gr9
setlo #tlsmofflo(i+4+65536), gr9
call #gettlsoff(0+1)
call #gettlsoff(0+1+4096)
call #gettlsoff(0+1+65536)
sethi.p #gottlsdeschi(0+2), gr14
setlo #gottlsdesclo(0+2), gr14
ldd #tlsdesc(0+2)@(gr15, gr14), gr8
calll #gettlsoff(0+2)@(gr8, gr0)
sethi.p #gottlsdeschi(0+2+4096), gr14
setlo #gottlsdesclo(0+2+4096), gr14
ldd #tlsdesc(0+2+4096)@(gr15, gr14), gr8
calll #gettlsoff(0+2+4096)@(gr8, gr0)
sethi.p #gottlsdeschi(0+2+65536), gr14
setlo #gottlsdesclo(0+2+65536), gr14
ldd #tlsdesc(0+2+65536)@(gr15, gr14), gr8
calll #gettlsoff(0+2+65536)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(0+3)), gr8
setlos #gottlsdesclo(0+3), gr14
calll #gettlsoff(0+3)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(0+3+4096)), gr8
setlos #gottlsdesclo(0+3+4096), gr14
calll #gettlsoff(0+3+4096)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(0+3+65536)), gr8
setlos #gottlsdesclo(0+3+65536), gr14
calll #gettlsoff(0+3+65536)@(gr8, gr0)
sethi #tlsmoffhi(0+4), gr9
setlo #tlsmofflo(0+4), gr9
sethi #tlsmoffhi(0+4+4096), gr9
setlo #tlsmofflo(0+4+4096), gr9
sethi #tlsmoffhi(0+4+65536), gr9
setlo #tlsmofflo(0+4+65536), gr9
call #gettlsoff(x+1)
call #gettlsoff(x+1+4096)
call #gettlsoff(x+1+65536)
sethi.p #gottlsdeschi(x+2), gr14
setlo #gottlsdesclo(x+2), gr14
ldd #tlsdesc(x+2)@(gr15, gr14), gr8
calll #gettlsoff(x+2)@(gr8, gr0)
sethi.p #gottlsdeschi(x+2+4096), gr14
setlo #gottlsdesclo(x+2+4096), gr14
ldd #tlsdesc(x+2+4096)@(gr15, gr14), gr8
calll #gettlsoff(x+2+4096)@(gr8, gr0)
sethi.p #gottlsdeschi(x+2+65536), gr14
setlo #gottlsdesclo(x+2+65536), gr14
ldd #tlsdesc(x+2+65536)@(gr15, gr14), gr8
calll #gettlsoff(x+2+65536)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(x+3)), gr8
setlos #gottlsdesclo(x+3), gr14
calll #gettlsoff(x+3)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(x+3+4096)), gr8
setlos #gottlsdesclo(x+3+4096), gr14
calll #gettlsoff(x+3+4096)@(gr8, gr0)
lddi.p @(gr15, #gottlsdesc12(x+3+65536)), gr8
setlos #gottlsdesclo(x+3+65536), gr14
calll #gettlsoff(x+3+65536)@(gr8, gr0)
.ifdef static_tls
ldi @(gr15, #gottlsoff12(l+1)), gr9
ldi @(gr15, #gottlsoff12(l+1+65536)), gr9
ldi @(gr15, #gottlsoff12(i+1)), gr9
ldi @(gr15, #gottlsoff12(i+1+65536)), gr9
ldi @(gr15, #gottlsoff12(0+1)), gr9
ldi @(gr15, #gottlsoff12(0+1+65536)), gr9
ldi @(gr15, #gottlsoff12(x+1)), gr9
ldi @(gr15, #gottlsoff12(x+1+65536)), gr9
setlos #gottlsofflo(l+1+4096), gr8
ld #tlsoff(l+1+4096)@(gr15, gr8), gr9
sethi #gottlsoffhi(i+1+4096), gr8
setlo #gottlsofflo(i+1+4096), gr8
ld #tlsoff(i+1+4096)@(gr15, gr8), gr9
.endif