123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- .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
|