blob: 76db3c845eb48705c84e8b24259133aa410cdea8 (
plain)
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
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
|
RUN: llvm-readobj -mips-plt-got %p/Inputs/relocs.obj.elf-mips | \
RUN: FileCheck %s -check-prefix GOT-OBJ
RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-exe.mips | \
RUN: FileCheck %s -check-prefix GOT-EXE
RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-so.mips | \
RUN: FileCheck %s -check-prefix GOT-SO
RUN: llvm-readobj -mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \
RUN: FileCheck %s -check-prefix GOT-TLS
GOT-OBJ: Cannot find PLTGOT dynamic table tag.
GOT-EXE: Primary GOT {
GOT-EXE-NEXT: Canonical gp value: 0x418880
GOT-EXE-NEXT: Reserved entries [
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x410890
GOT-EXE-NEXT: Access: -32752
GOT-EXE-NEXT: Initial: 0x0
GOT-EXE-NEXT: Purpose: Lazy resolver
GOT-EXE-NEXT: }
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x410894
GOT-EXE-NEXT: Access: -32748
GOT-EXE-NEXT: Initial: 0x80000000
GOT-EXE-NEXT: Purpose: Module pointer (GNU extension)
GOT-EXE-NEXT: }
GOT-EXE-NEXT: ]
GOT-EXE-NEXT: Local entries [
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x410898
GOT-EXE-NEXT: Access: -32744
GOT-EXE-NEXT: Initial: 0x400418
GOT-EXE-NEXT: }
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x41089C
GOT-EXE-NEXT: Access: -32740
GOT-EXE-NEXT: Initial: 0x410840
GOT-EXE-NEXT: }
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x4108A0
GOT-EXE-NEXT: Access: -32736
GOT-EXE-NEXT: Initial: 0x0
GOT-EXE-NEXT: }
GOT-EXE-NEXT: ]
GOT-EXE-NEXT: Global entries [
GOT-EXE-NEXT: Entry {
GOT-EXE-NEXT: Address: 0x4108A4
GOT-EXE-NEXT: Access: -32732
GOT-EXE-NEXT: Initial: 0x0
GOT-EXE-NEXT: Value: 0x0
GOT-EXE-NEXT: Type: Function (0x2)
GOT-EXE-NEXT: Section: Undefined (0x0)
GOT-EXE-NEXT: Name: __gmon_start__@ (1)
GOT-EXE-NEXT: }
GOT-EXE-NEXT: ]
GOT-EXE-NEXT: Number of TLS and multi-GOT entries: 0
GOT-EXE-NEXT: }
GOT-SO: Primary GOT {
GOT-SO-NEXT: Canonical gp value: 0x188D0
GOT-SO-NEXT: Reserved entries [
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108E0
GOT-SO-NEXT: Access: -32752
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Purpose: Lazy resolver
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108E4
GOT-SO-NEXT: Access: -32748
GOT-SO-NEXT: Initial: 0x80000000
GOT-SO-NEXT: Purpose: Module pointer (GNU extension)
GOT-SO-NEXT: }
GOT-SO-NEXT: ]
GOT-SO-NEXT: Local entries [
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108E8
GOT-SO-NEXT: Access: -32744
GOT-SO-NEXT: Initial: 0x108E0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108EC
GOT-SO-NEXT: Access: -32740
GOT-SO-NEXT: Initial: 0x10000
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108F0
GOT-SO-NEXT: Access: -32736
GOT-SO-NEXT: Initial: 0x10920
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108F4
GOT-SO-NEXT: Access: -32732
GOT-SO-NEXT: Initial: 0x108CC
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108F8
GOT-SO-NEXT: Access: -32728
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x108FC
GOT-SO-NEXT: Access: -32724
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10900
GOT-SO-NEXT: Access: -32720
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10904
GOT-SO-NEXT: Access: -32716
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: }
GOT-SO-NEXT: ]
GOT-SO-NEXT: Global entries [
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10908
GOT-SO-NEXT: Access: -32712
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: None (0x0)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: _ITM_registerTMCloneTable@ (87)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x1090C
GOT-SO-NEXT: Access: -32708
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: None (0x0)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: _Jv_RegisterClasses@ (128)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10910
GOT-SO-NEXT: Access: -32704
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: Function (0x2)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: __gmon_start__@ (23)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10914
GOT-SO-NEXT: Access: -32700
GOT-SO-NEXT: Initial: 0x840
GOT-SO-NEXT: Value: 0x840
GOT-SO-NEXT: Type: Function (0x2)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: puts@GLIBC_2.0 (162)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x10918
GOT-SO-NEXT: Access: -32696
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: None (0x0)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: _ITM_deregisterTMCloneTable@ (59)
GOT-SO-NEXT: }
GOT-SO-NEXT: Entry {
GOT-SO-NEXT: Address: 0x1091C
GOT-SO-NEXT: Access: -32692
GOT-SO-NEXT: Initial: 0x0
GOT-SO-NEXT: Value: 0x0
GOT-SO-NEXT: Type: Function (0x2)
GOT-SO-NEXT: Section: Undefined (0x0)
GOT-SO-NEXT: Name: __cxa_finalize@GLIBC_2.2 (113)
GOT-SO-NEXT: }
GOT-SO-NEXT: ]
GOT-SO-NEXT: Number of TLS and multi-GOT entries: 0
GOT-SO-NEXT: }
GOT-TLS: Primary GOT {
GOT-TLS-NEXT: Canonical gp value: 0x18BF0
GOT-TLS-NEXT: Reserved entries [
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C00
GOT-TLS-NEXT: Access: -32752
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Purpose: Lazy resolver
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C08
GOT-TLS-NEXT: Access: -32744
GOT-TLS-NEXT: Initial: 0x8000000000000000
GOT-TLS-NEXT: Purpose: Module pointer (GNU extension)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: ]
GOT-TLS-NEXT: Local entries [
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C10
GOT-TLS-NEXT: Access: -32736
GOT-TLS-NEXT: Initial: 0x10000
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C18
GOT-TLS-NEXT: Access: -32728
GOT-TLS-NEXT: Initial: 0x10C00
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C20
GOT-TLS-NEXT: Access: -32720
GOT-TLS-NEXT: Initial: 0x10CB8
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C28
GOT-TLS-NEXT: Access: -32712
GOT-TLS-NEXT: Initial: 0x10BF0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C30
GOT-TLS-NEXT: Access: -32704
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C38
GOT-TLS-NEXT: Access: -32696
GOT-TLS-NEXT: Initial: 0x948
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C40
GOT-TLS-NEXT: Access: -32688
GOT-TLS-NEXT: Initial: 0xA20
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C48
GOT-TLS-NEXT: Access: -32680
GOT-TLS-NEXT: Initial: 0xAF0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C50
GOT-TLS-NEXT: Access: -32672
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C58
GOT-TLS-NEXT: Access: -32664
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C60
GOT-TLS-NEXT: Access: -32656
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: }
GOT-TLS-NEXT: ]
GOT-TLS-NEXT: Global entries [
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C68
GOT-TLS-NEXT: Access: -32648
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: None (0x0)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: _ITM_registerTMCloneTable@ (78)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C70
GOT-TLS-NEXT: Access: -32640
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: None (0x0)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: _Jv_RegisterClasses@ (119)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C78
GOT-TLS-NEXT: Access: -32632
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: Function (0x2)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: __gmon_start__@ (23)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C80
GOT-TLS-NEXT: Access: -32624
GOT-TLS-NEXT: Initial: 0xB60
GOT-TLS-NEXT: Value: 0xB60
GOT-TLS-NEXT: Type: Function (0x2)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: __tls_get_addr@GLIBC_2.3 (150)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C88
GOT-TLS-NEXT: Access: -32616
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: None (0x0)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: _ITM_deregisterTMCloneTable@ (50)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: Entry {
GOT-TLS-NEXT: Address: 0x10C90
GOT-TLS-NEXT: Access: -32608
GOT-TLS-NEXT: Initial: 0x0
GOT-TLS-NEXT: Value: 0x0
GOT-TLS-NEXT: Type: Function (0x2)
GOT-TLS-NEXT: Section: Undefined (0x0)
GOT-TLS-NEXT: Name: __cxa_finalize@GLIBC_2.2 (104)
GOT-TLS-NEXT: }
GOT-TLS-NEXT: ]
GOT-TLS-NEXT: Number of TLS and multi-GOT entries: 4
GOT-TLS-NEXT: }
|