1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
|
#source: tlssunpic64.s
#source: tlspic.s
#as: --64 -Av9 -K PIC
#ld: -shared -melf64_sparc
#objdump: -drj.text
#target: sparc*-*-*
.*: +file format elf64-sparc.*
Disassembly of section .text:
0+1000 <fn1-0x8>:
+1000: 81 c3 e0 08 retl *
+1004: ae 03 c0 17 add %o7, %l7, %l7
0+1008 <fn1>:
+1008: 9d e3 bf 60 save %sp, -160, %sp
+100c: 2f 00 04 04 sethi %hi\(0x101000\), %l7
+1010: 7f ff ff fc call 1000 <.*>
+1014: ae 05 e1 80 add %l7, 0x180, %l7 ! 101180 <.*>
+1018: 01 00 00 00 nop *
+101c: 01 00 00 00 nop *
+1020: 01 00 00 00 nop *
+1024: 01 00 00 00 nop *
+1028: 23 00 00 00 sethi %hi\(0\), %l1
+102c: 01 00 00 00 nop *
+1030: a4 04 60 58 add %l1, 0x58, %l2
+1034: 01 00 00 00 nop *
+1038: 90 05 c0 12 add %l7, %l2, %o0
+103c: 01 00 00 00 nop *
+1040: 40 04 04 d0 call [0-9a-f]+ <__tls_get_addr@plt>
+1044: 01 00 00 00 nop *
+1048: 01 00 00 00 nop *
+104c: 01 00 00 00 nop *
+1050: 01 00 00 00 nop *
+1054: 01 00 00 00 nop *
+1058: 11 00 00 00 sethi %hi\(0\), %o0
+105c: 92 02 20 78 add %o0, 0x78, %o1 ! 78 <.*>
+1060: d0 5d c0 09 ldx \[ %l7 \+ %o1 \], %o0
+1064: 01 00 00 00 nop *
+1068: 90 01 c0 08 add %g7, %o0, %o0
+106c: 01 00 00 00 nop *
+1070: 01 00 00 00 nop *
+1074: 01 00 00 00 nop *
+1078: 01 00 00 00 nop *
+107c: 19 00 00 00 sethi %hi\(0\), %o4
+1080: 98 03 20 08 add %o4, 8, %o4 ! 8 <.*>
+1084: 90 05 c0 0c add %l7, %o4, %o0
+1088: 40 04 04 be call [0-9a-f]+ <__tls_get_addr@plt>
+108c: 01 00 00 00 nop *
+1090: 01 00 00 00 nop *
+1094: 01 00 00 00 nop *
+1098: 01 00 00 00 nop *
+109c: 01 00 00 00 nop *
+10a0: 11 00 00 00 sethi %hi\(0\), %o0
+10a4: 90 02 20 18 add %o0, 0x18, %o0 ! 18 <.*>
+10a8: d0 5d c0 08 ldx \[ %l7 \+ %o0 \], %o0
+10ac: 01 00 00 00 nop *
+10b0: 90 01 c0 08 add %g7, %o0, %o0
+10b4: 01 00 00 00 nop *
+10b8: 01 00 00 00 nop *
+10bc: 01 00 00 00 nop *
+10c0: 01 00 00 00 nop *
+10c4: 19 00 00 00 sethi %hi\(0\), %o4
+10c8: 98 03 20 80 add %o4, 0x80, %o4 ! 80 <.*>
+10cc: 90 05 c0 0c add %l7, %o4, %o0
+10d0: 40 04 04 ac call [0-9a-f]+ <__tls_get_addr@plt>
+10d4: 01 00 00 00 nop *
+10d8: 01 00 00 00 nop *
+10dc: 01 00 00 00 nop *
+10e0: 01 00 00 00 nop *
+10e4: 01 00 00 00 nop *
+10e8: 11 00 00 00 sethi %hi\(0\), %o0
+10ec: 90 02 20 90 add %o0, 0x90, %o0 ! 90 <.*>
+10f0: d0 5d c0 08 ldx \[ %l7 \+ %o0 \], %o0
+10f4: 01 00 00 00 nop *
+10f8: 90 01 c0 08 add %g7, %o0, %o0
+10fc: 01 00 00 00 nop *
+1100: 01 00 00 00 nop *
+1104: 01 00 00 00 nop *
+1108: 01 00 00 00 nop *
+110c: 19 00 00 00 sethi %hi\(0\), %o4
+1110: 98 03 20 38 add %o4, 0x38, %o4 ! 38 <.*>
+1114: 90 05 c0 0c add %l7, %o4, %o0
+1118: 40 04 04 9a call [0-9a-f]+ <__tls_get_addr@plt>
+111c: 01 00 00 00 nop *
+1120: 01 00 00 00 nop *
+1124: 01 00 00 00 nop *
+1128: 01 00 00 00 nop *
+112c: 01 00 00 00 nop *
+1130: 11 00 00 00 sethi %hi\(0\), %o0
+1134: 90 02 20 48 add %o0, 0x48, %o0 ! 48 <.*>
+1138: d0 5d c0 08 ldx \[ %l7 \+ %o0 \], %o0
+113c: 01 00 00 00 nop *
+1140: 90 01 c0 08 add %g7, %o0, %o0
+1144: 01 00 00 00 nop *
+1148: 01 00 00 00 nop *
+114c: 01 00 00 00 nop *
+1150: 01 00 00 00 nop *
+1154: 23 00 00 00 sethi %hi\(0\), %l1
+1158: 01 00 00 00 nop *
+115c: a4 04 60 28 add %l1, 0x28, %l2
+1160: 01 00 00 00 nop *
+1164: 90 05 c0 12 add %l7, %l2, %o0
+1168: 01 00 00 00 nop *
+116c: 40 04 04 85 call [0-9a-f]+ <__tls_get_addr@plt>
+1170: 01 00 00 00 nop *
+1174: 27 00 00 00 sethi %hi\(0\), %l3
+1178: 01 00 00 00 nop *
+117c: a8 1c e0 20 xor %l3, 0x20, %l4
+1180: 01 00 00 00 nop *
+1184: aa 02 00 14 add %o0, %l4, %l5
+1188: 01 00 00 00 nop *
+118c: 25 00 00 00 sethi %hi\(0\), %l2
+1190: 01 00 00 00 nop *
+1194: a6 1c a0 26 xor %l2, 0x26, %l3
+1198: 01 00 00 00 nop *
+119c: ec 12 00 13 lduh \[ %o0 \+ %l3 \], %l6
+11a0: 01 00 00 00 nop *
+11a4: 01 00 00 00 nop *
+11a8: 01 00 00 00 nop *
+11ac: 01 00 00 00 nop *
+11b0: 13 00 00 00 sethi %hi\(0\), %o1
+11b4: 27 00 00 00 sethi %hi\(0\), %l3
+11b8: 94 02 60 28 add %o1, 0x28, %o2
+11bc: 25 00 00 00 sethi %hi\(0\), %l2
+11c0: 90 05 c0 0a add %l7, %o2, %o0
+11c4: a8 1c e0 40 xor %l3, 0x40, %l4
+11c8: 40 04 04 6e call [0-9a-f]+ <__tls_get_addr@plt>
+11cc: a6 1c a0 45 xor %l2, 0x45, %l3
+11d0: ea 5a 00 14 ldx \[ %o0 \+ %l4 \], %l5
+11d4: ac 02 00 13 add %o0, %l3, %l6
+11d8: 01 00 00 00 nop *
+11dc: 01 00 00 00 nop *
+11e0: 01 00 00 00 nop *
+11e4: 01 00 00 00 nop *
+11e8: 13 00 00 00 sethi %hi\(0\), %o1
+11ec: 27 00 00 00 sethi %hi\(0\), %l3
+11f0: 94 02 60 28 add %o1, 0x28, %o2
+11f4: 25 00 00 00 sethi %hi\(0\), %l2
+11f8: 90 05 c0 0a add %l7, %o2, %o0
+11fc: a8 1c e0 63 xor %l3, 0x63, %l4
+1200: 40 04 04 60 call [0-9a-f]+ <__tls_get_addr@plt>
+1204: a6 1c a0 64 xor %l2, 0x64, %l3
+1208: aa 02 00 14 add %o0, %l4, %l5
+120c: ec 02 00 13 ld \[ %o0 \+ %l3 \], %l6
+1210: 01 00 00 00 nop *
+1214: 01 00 00 00 nop *
+1218: 01 00 00 00 nop *
+121c: 01 00 00 00 nop *
+1220: 23 00 00 00 sethi %hi\(0\), %l1
+1224: 01 00 00 00 nop *
+1228: a4 04 60 78 add %l1, 0x78, %l2
+122c: 01 00 00 00 nop *
+1230: e4 5d c0 12 ldx \[ %l7 \+ %l2 \], %l2
+1234: 01 00 00 00 nop *
+1238: a4 01 c0 12 add %g7, %l2, %l2
+123c: 01 00 00 00 nop *
+1240: 01 00 00 00 nop *
+1244: 01 00 00 00 nop *
+1248: 01 00 00 00 nop *
+124c: 17 00 00 00 sethi %hi\(0\), %o3
+1250: 96 02 e0 18 add %o3, 0x18, %o3 ! 18 <.*>
+1254: d4 5d c0 0b ldx \[ %l7 \+ %o3 \], %o2
+1258: 98 01 c0 0a add %g7, %o2, %o4
+125c: 01 00 00 00 nop *
+1260: 01 00 00 00 nop *
+1264: 01 00 00 00 nop *
+1268: 01 00 00 00 nop *
+126c: 23 00 00 00 sethi %hi\(0\), %l1
+1270: a4 04 60 90 add %l1, 0x90, %l2 ! 90 <.*>
+1274: e4 5d c0 12 ldx \[ %l7 \+ %l2 \], %l2
+1278: a4 01 c0 12 add %g7, %l2, %l2
+127c: 01 00 00 00 nop *
+1280: 01 00 00 00 nop *
+1284: 01 00 00 00 nop *
+1288: 01 00 00 00 nop *
+128c: 23 00 00 00 sethi %hi\(0\), %l1
+1290: a4 04 60 48 add %l1, 0x48, %l2 ! 48 <.*>
+1294: e4 5d c0 12 ldx \[ %l7 \+ %l2 \], %l2
+1298: a4 01 c0 12 add %g7, %l2, %l2
+129c: 01 00 00 00 nop *
+12a0: 01 00 00 00 nop *
+12a4: 01 00 00 00 nop *
+12a8: 01 00 00 00 nop *
+12ac: 23 00 00 00 sethi %hi\(0\), %l1
+12b0: a4 04 60 50 add %l1, 0x50, %l2 ! 50 <.*>
+12b4: e4 5d c0 12 ldx \[ %l7 \+ %l2 \], %l2
+12b8: e4 59 c0 12 ldx \[ %g7 \+ %l2 \], %l2
+12bc: 01 00 00 00 nop *
+12c0: 01 00 00 00 nop *
+12c4: 01 00 00 00 nop *
+12c8: 01 00 00 00 nop *
+12cc: 17 00 00 00 sethi %hi\(0\), %o3
+12d0: 98 02 e0 20 add %o3, 0x20, %o4 ! 20 <.*>
+12d4: da 5d c0 0c ldx \[ %l7 \+ %o4 \], %o5
+12d8: e4 29 c0 0d stb %l2, \[ %g7 \+ %o5 \]
+12dc: 01 00 00 00 nop *
+12e0: 01 00 00 00 nop *
+12e4: 01 00 00 00 nop *
+12e8: 01 00 00 00 nop *
+12ec: 17 00 00 00 sethi %hi\(0\), %o3
+12f0: 98 02 e0 68 add %o3, 0x68, %o4 ! 68 <.*>
+12f4: da 5d c0 0c ldx \[ %l7 \+ %o4 \], %o5
+12f8: e4 71 c0 0d stx %l2, \[ %g7 \+ %o5 \]
+12fc: 01 00 00 00 nop *
+1300: 01 00 00 00 nop *
+1304: 01 00 00 00 nop *
+1308: 01 00 00 00 nop *
+130c: 17 00 00 00 sethi %hi\(0\), %o3
+1310: 98 02 e0 70 add %o3, 0x70, %o4 ! 70 <.*>
+1314: da 5d c0 0c ldx \[ %l7 \+ %o4 \], %o5
+1318: e4 21 c0 0d st %l2, \[ %g7 \+ %o5 \]
+131c: 01 00 00 00 nop *
+1320: 01 00 00 00 nop *
+1324: 01 00 00 00 nop *
+1328: 01 00 00 00 nop *
+132c: 81 cf e0 08 return %i7 \+ 8
+1330: 01 00 00 00 nop *
#pass
|