Commit | Line | Data |
---|---|---|
90219bd0 AO |
1 | .section .tbss,"awT",@nobits |
2 | .align 4 | |
3 | .type l, @object | |
4 | .size l, 4 | |
5 | l: | |
6 | .zero 4 | |
7 | .align 4 | |
8 | .globl i | |
9 | .type i, @object | |
10 | .size i, 4 | |
11 | i: | |
12 | .zero 4 | |
13 | .text | |
14 | .globl _start | |
15 | _start: | |
16 | call #gettlsoff(l+1) | |
17 | call #gettlsoff(l+1+4096) | |
18 | call #gettlsoff(l+1+65536) | |
19 | ||
20 | sethi.p #gottlsdeschi(l+2), gr14 | |
21 | setlo #gottlsdesclo(l+2), gr14 | |
22 | ldd #tlsdesc(l+2)@(gr15, gr14), gr8 | |
23 | calll #gettlsoff(l+2)@(gr8, gr0) | |
24 | ||
25 | sethi.p #gottlsdeschi(l+2+4096), gr14 | |
26 | setlo #gottlsdesclo(l+2+4096), gr14 | |
27 | ldd #tlsdesc(l+2+4096)@(gr15, gr14), gr8 | |
28 | calll #gettlsoff(l+2+4096)@(gr8, gr0) | |
29 | ||
30 | sethi.p #gottlsdeschi(l+2+65536), gr14 | |
31 | setlo #gottlsdesclo(l+2+65536), gr14 | |
32 | ldd #tlsdesc(l+2+65536)@(gr15, gr14), gr8 | |
33 | calll #gettlsoff(l+2+65536)@(gr8, gr0) | |
34 | ||
35 | lddi.p @(gr15, #gottlsdesc12(l+3)), gr8 | |
36 | setlos #gottlsdesclo(l+3), gr14 | |
37 | calll #gettlsoff(l+3)@(gr8, gr0) | |
38 | ||
39 | lddi.p @(gr15, #gottlsdesc12(l+3+4096)), gr8 | |
40 | setlos #gottlsdesclo(l+3+4096), gr14 | |
41 | calll #gettlsoff(l+3+4096)@(gr8, gr0) | |
42 | ||
43 | lddi.p @(gr15, #gottlsdesc12(l+3+65536)), gr8 | |
44 | setlos #gottlsdesclo(l+3+65536), gr14 | |
45 | calll #gettlsoff(l+3+65536)@(gr8, gr0) | |
46 | ||
47 | sethi #tlsmoffhi(l+4), gr9 | |
48 | setlo #tlsmofflo(l+4), gr9 | |
49 | ||
50 | sethi #tlsmoffhi(l+4+4096), gr9 | |
51 | setlo #tlsmofflo(l+4+4096), gr9 | |
52 | ||
53 | sethi #tlsmoffhi(l+4+65536), gr9 | |
54 | setlo #tlsmofflo(l+4+65536), gr9 | |
55 | ||
56 | call #gettlsoff(i+1) | |
57 | call #gettlsoff(i+1+4096) | |
58 | call #gettlsoff(i+1+65536) | |
59 | ||
60 | sethi.p #gottlsdeschi(i+2), gr14 | |
61 | setlo #gottlsdesclo(i+2), gr14 | |
62 | ldd #tlsdesc(i+2)@(gr15, gr14), gr8 | |
63 | calll #gettlsoff(i+2)@(gr8, gr0) | |
64 | ||
65 | sethi.p #gottlsdeschi(i+2+4096), gr14 | |
66 | setlo #gottlsdesclo(i+2+4096), gr14 | |
67 | ldd #tlsdesc(i+2+4096)@(gr15, gr14), gr8 | |
68 | calll #gettlsoff(i+2+4096)@(gr8, gr0) | |
69 | ||
70 | sethi.p #gottlsdeschi(i+2+65536), gr14 | |
71 | setlo #gottlsdesclo(i+2+65536), gr14 | |
72 | ldd #tlsdesc(i+2+65536)@(gr15, gr14), gr8 | |
73 | calll #gettlsoff(i+2+65536)@(gr8, gr0) | |
74 | ||
75 | lddi.p @(gr15, #gottlsdesc12(i+3)), gr8 | |
76 | setlos #gottlsdesclo(i+3), gr14 | |
77 | calll #gettlsoff(i+3)@(gr8, gr0) | |
78 | ||
79 | lddi.p @(gr15, #gottlsdesc12(i+3+4096)), gr8 | |
80 | setlos #gottlsdesclo(i+3+4096), gr14 | |
81 | calll #gettlsoff(i+3+4096)@(gr8, gr0) | |
82 | ||
83 | lddi.p @(gr15, #gottlsdesc12(i+3+65536)), gr8 | |
84 | setlos #gottlsdesclo(i+3+65536), gr14 | |
85 | calll #gettlsoff(i+3+65536)@(gr8, gr0) | |
86 | ||
87 | sethi #tlsmoffhi(i+4), gr9 | |
88 | setlo #tlsmofflo(i+4), gr9 | |
89 | ||
90 | sethi #tlsmoffhi(i+4+4096), gr9 | |
91 | setlo #tlsmofflo(i+4+4096), gr9 | |
92 | ||
93 | sethi #tlsmoffhi(i+4+65536), gr9 | |
94 | setlo #tlsmofflo(i+4+65536), gr9 | |
95 | ||
96 | call #gettlsoff(0+1) | |
97 | call #gettlsoff(0+1+4096) | |
98 | call #gettlsoff(0+1+65536) | |
99 | ||
100 | sethi.p #gottlsdeschi(0+2), gr14 | |
101 | setlo #gottlsdesclo(0+2), gr14 | |
102 | ldd #tlsdesc(0+2)@(gr15, gr14), gr8 | |
103 | calll #gettlsoff(0+2)@(gr8, gr0) | |
104 | ||
105 | sethi.p #gottlsdeschi(0+2+4096), gr14 | |
106 | setlo #gottlsdesclo(0+2+4096), gr14 | |
107 | ldd #tlsdesc(0+2+4096)@(gr15, gr14), gr8 | |
108 | calll #gettlsoff(0+2+4096)@(gr8, gr0) | |
109 | ||
110 | sethi.p #gottlsdeschi(0+2+65536), gr14 | |
111 | setlo #gottlsdesclo(0+2+65536), gr14 | |
112 | ldd #tlsdesc(0+2+65536)@(gr15, gr14), gr8 | |
113 | calll #gettlsoff(0+2+65536)@(gr8, gr0) | |
114 | ||
115 | lddi.p @(gr15, #gottlsdesc12(0+3)), gr8 | |
116 | setlos #gottlsdesclo(0+3), gr14 | |
117 | calll #gettlsoff(0+3)@(gr8, gr0) | |
118 | ||
119 | lddi.p @(gr15, #gottlsdesc12(0+3+4096)), gr8 | |
120 | setlos #gottlsdesclo(0+3+4096), gr14 | |
121 | calll #gettlsoff(0+3+4096)@(gr8, gr0) | |
122 | ||
123 | lddi.p @(gr15, #gottlsdesc12(0+3+65536)), gr8 | |
124 | setlos #gottlsdesclo(0+3+65536), gr14 | |
125 | calll #gettlsoff(0+3+65536)@(gr8, gr0) | |
126 | ||
127 | sethi #tlsmoffhi(0+4), gr9 | |
128 | setlo #tlsmofflo(0+4), gr9 | |
129 | ||
130 | sethi #tlsmoffhi(0+4+4096), gr9 | |
131 | setlo #tlsmofflo(0+4+4096), gr9 | |
132 | ||
133 | sethi #tlsmoffhi(0+4+65536), gr9 | |
134 | setlo #tlsmofflo(0+4+65536), gr9 | |
135 | ||
136 | call #gettlsoff(x+1) | |
137 | call #gettlsoff(x+1+4096) | |
138 | call #gettlsoff(x+1+65536) | |
139 | ||
140 | sethi.p #gottlsdeschi(x+2), gr14 | |
141 | setlo #gottlsdesclo(x+2), gr14 | |
142 | ldd #tlsdesc(x+2)@(gr15, gr14), gr8 | |
143 | calll #gettlsoff(x+2)@(gr8, gr0) | |
144 | ||
145 | sethi.p #gottlsdeschi(x+2+4096), gr14 | |
146 | setlo #gottlsdesclo(x+2+4096), gr14 | |
147 | ldd #tlsdesc(x+2+4096)@(gr15, gr14), gr8 | |
148 | calll #gettlsoff(x+2+4096)@(gr8, gr0) | |
149 | ||
150 | sethi.p #gottlsdeschi(x+2+65536), gr14 | |
151 | setlo #gottlsdesclo(x+2+65536), gr14 | |
152 | ldd #tlsdesc(x+2+65536)@(gr15, gr14), gr8 | |
153 | calll #gettlsoff(x+2+65536)@(gr8, gr0) | |
154 | ||
155 | lddi.p @(gr15, #gottlsdesc12(x+3)), gr8 | |
156 | setlos #gottlsdesclo(x+3), gr14 | |
157 | calll #gettlsoff(x+3)@(gr8, gr0) | |
158 | ||
159 | lddi.p @(gr15, #gottlsdesc12(x+3+4096)), gr8 | |
160 | setlos #gottlsdesclo(x+3+4096), gr14 | |
161 | calll #gettlsoff(x+3+4096)@(gr8, gr0) | |
162 | ||
163 | lddi.p @(gr15, #gottlsdesc12(x+3+65536)), gr8 | |
164 | setlos #gottlsdesclo(x+3+65536), gr14 | |
165 | calll #gettlsoff(x+3+65536)@(gr8, gr0) | |
166 | ||
167 | .ifdef static_tls | |
168 | ldi @(gr15, #gottlsoff12(l+1)), gr9 | |
169 | ldi @(gr15, #gottlsoff12(l+1+65536)), gr9 | |
170 | ldi @(gr15, #gottlsoff12(i+1)), gr9 | |
171 | ldi @(gr15, #gottlsoff12(i+1+65536)), gr9 | |
172 | ldi @(gr15, #gottlsoff12(0+1)), gr9 | |
173 | ldi @(gr15, #gottlsoff12(0+1+65536)), gr9 | |
174 | ldi @(gr15, #gottlsoff12(x+1)), gr9 | |
175 | ldi @(gr15, #gottlsoff12(x+1+65536)), gr9 | |
176 | ||
177 | setlos #gottlsofflo(l+1+4096), gr8 | |
178 | ld #tlsoff(l+1+4096)@(gr15, gr8), gr9 | |
179 | ||
180 | sethi #gottlsoffhi(i+1+4096), gr8 | |
181 | setlo #gottlsofflo(i+1+4096), gr8 | |
182 | ld #tlsoff(i+1+4096)@(gr15, gr8), gr9 | |
183 | .endif |