1 RUN: llvm-readobj -mips-plt-got %p/Inputs/relocs.obj.elf-mips | \
2 RUN: FileCheck %s -check-prefix GOT-OBJ
3 RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-exe.mips | \
4 RUN: FileCheck %s -check-prefix GOT-EXE
5 RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-so.mips | \
6 RUN: FileCheck %s -check-prefix GOT-SO
7 RUN: llvm-readobj -mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \
8 RUN: FileCheck %s -check-prefix GOT-TLS
9 RUN: llvm-readobj -mips-plt-got %p/Inputs/got-empty.exe.mipsel | \
10 RUN: FileCheck %s -check-prefix GOT-EMPTY
12 GOT-OBJ: Cannot find PLTGOT dynamic table tag.
14 GOT-EXE: Primary GOT {
15 GOT-EXE-NEXT: Canonical gp value: 0x418880
16 GOT-EXE-NEXT: Reserved entries [
18 GOT-EXE-NEXT: Address: 0x410890
19 GOT-EXE-NEXT: Access: -32752
20 GOT-EXE-NEXT: Initial: 0x0
21 GOT-EXE-NEXT: Purpose: Lazy resolver
24 GOT-EXE-NEXT: Address: 0x410894
25 GOT-EXE-NEXT: Access: -32748
26 GOT-EXE-NEXT: Initial: 0x80000000
27 GOT-EXE-NEXT: Purpose: Module pointer (GNU extension)
30 GOT-EXE-NEXT: Local entries [
32 GOT-EXE-NEXT: Address: 0x410898
33 GOT-EXE-NEXT: Access: -32744
34 GOT-EXE-NEXT: Initial: 0x400418
37 GOT-EXE-NEXT: Address: 0x41089C
38 GOT-EXE-NEXT: Access: -32740
39 GOT-EXE-NEXT: Initial: 0x410840
42 GOT-EXE-NEXT: Address: 0x4108A0
43 GOT-EXE-NEXT: Access: -32736
44 GOT-EXE-NEXT: Initial: 0x0
47 GOT-EXE-NEXT: Global entries [
49 GOT-EXE-NEXT: Address: 0x4108A4
50 GOT-EXE-NEXT: Access: -32732
51 GOT-EXE-NEXT: Initial: 0x0
52 GOT-EXE-NEXT: Value: 0x0
53 GOT-EXE-NEXT: Type: Function (0x2)
54 GOT-EXE-NEXT: Section: Undefined (0x0)
55 GOT-EXE-NEXT: Name: __gmon_start__@ (1)
58 GOT-EXE-NEXT: Number of TLS and multi-GOT entries: 0
62 GOT-SO-NEXT: Canonical gp value: 0x188D0
63 GOT-SO-NEXT: Reserved entries [
65 GOT-SO-NEXT: Address: 0x108E0
66 GOT-SO-NEXT: Access: -32752
67 GOT-SO-NEXT: Initial: 0x0
68 GOT-SO-NEXT: Purpose: Lazy resolver
71 GOT-SO-NEXT: Address: 0x108E4
72 GOT-SO-NEXT: Access: -32748
73 GOT-SO-NEXT: Initial: 0x80000000
74 GOT-SO-NEXT: Purpose: Module pointer (GNU extension)
77 GOT-SO-NEXT: Local entries [
79 GOT-SO-NEXT: Address: 0x108E8
80 GOT-SO-NEXT: Access: -32744
81 GOT-SO-NEXT: Initial: 0x108E0
84 GOT-SO-NEXT: Address: 0x108EC
85 GOT-SO-NEXT: Access: -32740
86 GOT-SO-NEXT: Initial: 0x10000
89 GOT-SO-NEXT: Address: 0x108F0
90 GOT-SO-NEXT: Access: -32736
91 GOT-SO-NEXT: Initial: 0x10920
94 GOT-SO-NEXT: Address: 0x108F4
95 GOT-SO-NEXT: Access: -32732
96 GOT-SO-NEXT: Initial: 0x108CC
99 GOT-SO-NEXT: Address: 0x108F8
100 GOT-SO-NEXT: Access: -32728
101 GOT-SO-NEXT: Initial: 0x0
104 GOT-SO-NEXT: Address: 0x108FC
105 GOT-SO-NEXT: Access: -32724
106 GOT-SO-NEXT: Initial: 0x0
109 GOT-SO-NEXT: Address: 0x10900
110 GOT-SO-NEXT: Access: -32720
111 GOT-SO-NEXT: Initial: 0x0
114 GOT-SO-NEXT: Address: 0x10904
115 GOT-SO-NEXT: Access: -32716
116 GOT-SO-NEXT: Initial: 0x0
119 GOT-SO-NEXT: Global entries [
121 GOT-SO-NEXT: Address: 0x10908
122 GOT-SO-NEXT: Access: -32712
123 GOT-SO-NEXT: Initial: 0x0
124 GOT-SO-NEXT: Value: 0x0
125 GOT-SO-NEXT: Type: None (0x0)
126 GOT-SO-NEXT: Section: Undefined (0x0)
127 GOT-SO-NEXT: Name: _ITM_registerTMCloneTable@ (87)
130 GOT-SO-NEXT: Address: 0x1090C
131 GOT-SO-NEXT: Access: -32708
132 GOT-SO-NEXT: Initial: 0x0
133 GOT-SO-NEXT: Value: 0x0
134 GOT-SO-NEXT: Type: None (0x0)
135 GOT-SO-NEXT: Section: Undefined (0x0)
136 GOT-SO-NEXT: Name: _Jv_RegisterClasses@ (128)
139 GOT-SO-NEXT: Address: 0x10910
140 GOT-SO-NEXT: Access: -32704
141 GOT-SO-NEXT: Initial: 0x0
142 GOT-SO-NEXT: Value: 0x0
143 GOT-SO-NEXT: Type: Function (0x2)
144 GOT-SO-NEXT: Section: Undefined (0x0)
145 GOT-SO-NEXT: Name: __gmon_start__@ (23)
148 GOT-SO-NEXT: Address: 0x10914
149 GOT-SO-NEXT: Access: -32700
150 GOT-SO-NEXT: Initial: 0x840
151 GOT-SO-NEXT: Value: 0x840
152 GOT-SO-NEXT: Type: Function (0x2)
153 GOT-SO-NEXT: Section: Undefined (0x0)
154 GOT-SO-NEXT: Name: puts@GLIBC_2.0 (162)
157 GOT-SO-NEXT: Address: 0x10918
158 GOT-SO-NEXT: Access: -32696
159 GOT-SO-NEXT: Initial: 0x0
160 GOT-SO-NEXT: Value: 0x0
161 GOT-SO-NEXT: Type: None (0x0)
162 GOT-SO-NEXT: Section: Undefined (0x0)
163 GOT-SO-NEXT: Name: _ITM_deregisterTMCloneTable@ (59)
166 GOT-SO-NEXT: Address: 0x1091C
167 GOT-SO-NEXT: Access: -32692
168 GOT-SO-NEXT: Initial: 0x0
169 GOT-SO-NEXT: Value: 0x0
170 GOT-SO-NEXT: Type: Function (0x2)
171 GOT-SO-NEXT: Section: Undefined (0x0)
172 GOT-SO-NEXT: Name: __cxa_finalize@GLIBC_2.2 (113)
175 GOT-SO-NEXT: Number of TLS and multi-GOT entries: 0
178 GOT-TLS: Primary GOT {
179 GOT-TLS-NEXT: Canonical gp value: 0x18BF0
180 GOT-TLS-NEXT: Reserved entries [
181 GOT-TLS-NEXT: Entry {
182 GOT-TLS-NEXT: Address: 0x10C00
183 GOT-TLS-NEXT: Access: -32752
184 GOT-TLS-NEXT: Initial: 0x0
185 GOT-TLS-NEXT: Purpose: Lazy resolver
187 GOT-TLS-NEXT: Entry {
188 GOT-TLS-NEXT: Address: 0x10C08
189 GOT-TLS-NEXT: Access: -32744
190 GOT-TLS-NEXT: Initial: 0x8000000000000000
191 GOT-TLS-NEXT: Purpose: Module pointer (GNU extension)
194 GOT-TLS-NEXT: Local entries [
195 GOT-TLS-NEXT: Entry {
196 GOT-TLS-NEXT: Address: 0x10C10
197 GOT-TLS-NEXT: Access: -32736
198 GOT-TLS-NEXT: Initial: 0x10000
200 GOT-TLS-NEXT: Entry {
201 GOT-TLS-NEXT: Address: 0x10C18
202 GOT-TLS-NEXT: Access: -32728
203 GOT-TLS-NEXT: Initial: 0x10C00
205 GOT-TLS-NEXT: Entry {
206 GOT-TLS-NEXT: Address: 0x10C20
207 GOT-TLS-NEXT: Access: -32720
208 GOT-TLS-NEXT: Initial: 0x10CB8
210 GOT-TLS-NEXT: Entry {
211 GOT-TLS-NEXT: Address: 0x10C28
212 GOT-TLS-NEXT: Access: -32712
213 GOT-TLS-NEXT: Initial: 0x10BF0
215 GOT-TLS-NEXT: Entry {
216 GOT-TLS-NEXT: Address: 0x10C30
217 GOT-TLS-NEXT: Access: -32704
218 GOT-TLS-NEXT: Initial: 0x0
220 GOT-TLS-NEXT: Entry {
221 GOT-TLS-NEXT: Address: 0x10C38
222 GOT-TLS-NEXT: Access: -32696
223 GOT-TLS-NEXT: Initial: 0x948
225 GOT-TLS-NEXT: Entry {
226 GOT-TLS-NEXT: Address: 0x10C40
227 GOT-TLS-NEXT: Access: -32688
228 GOT-TLS-NEXT: Initial: 0xA20
230 GOT-TLS-NEXT: Entry {
231 GOT-TLS-NEXT: Address: 0x10C48
232 GOT-TLS-NEXT: Access: -32680
233 GOT-TLS-NEXT: Initial: 0xAF0
235 GOT-TLS-NEXT: Entry {
236 GOT-TLS-NEXT: Address: 0x10C50
237 GOT-TLS-NEXT: Access: -32672
238 GOT-TLS-NEXT: Initial: 0x0
240 GOT-TLS-NEXT: Entry {
241 GOT-TLS-NEXT: Address: 0x10C58
242 GOT-TLS-NEXT: Access: -32664
243 GOT-TLS-NEXT: Initial: 0x0
245 GOT-TLS-NEXT: Entry {
246 GOT-TLS-NEXT: Address: 0x10C60
247 GOT-TLS-NEXT: Access: -32656
248 GOT-TLS-NEXT: Initial: 0x0
251 GOT-TLS-NEXT: Global entries [
252 GOT-TLS-NEXT: Entry {
253 GOT-TLS-NEXT: Address: 0x10C68
254 GOT-TLS-NEXT: Access: -32648
255 GOT-TLS-NEXT: Initial: 0x0
256 GOT-TLS-NEXT: Value: 0x0
257 GOT-TLS-NEXT: Type: None (0x0)
258 GOT-TLS-NEXT: Section: Undefined (0x0)
259 GOT-TLS-NEXT: Name: _ITM_registerTMCloneTable@ (78)
261 GOT-TLS-NEXT: Entry {
262 GOT-TLS-NEXT: Address: 0x10C70
263 GOT-TLS-NEXT: Access: -32640
264 GOT-TLS-NEXT: Initial: 0x0
265 GOT-TLS-NEXT: Value: 0x0
266 GOT-TLS-NEXT: Type: None (0x0)
267 GOT-TLS-NEXT: Section: Undefined (0x0)
268 GOT-TLS-NEXT: Name: _Jv_RegisterClasses@ (119)
270 GOT-TLS-NEXT: Entry {
271 GOT-TLS-NEXT: Address: 0x10C78
272 GOT-TLS-NEXT: Access: -32632
273 GOT-TLS-NEXT: Initial: 0x0
274 GOT-TLS-NEXT: Value: 0x0
275 GOT-TLS-NEXT: Type: Function (0x2)
276 GOT-TLS-NEXT: Section: Undefined (0x0)
277 GOT-TLS-NEXT: Name: __gmon_start__@ (23)
279 GOT-TLS-NEXT: Entry {
280 GOT-TLS-NEXT: Address: 0x10C80
281 GOT-TLS-NEXT: Access: -32624
282 GOT-TLS-NEXT: Initial: 0xB60
283 GOT-TLS-NEXT: Value: 0xB60
284 GOT-TLS-NEXT: Type: Function (0x2)
285 GOT-TLS-NEXT: Section: Undefined (0x0)
286 GOT-TLS-NEXT: Name: __tls_get_addr@GLIBC_2.3 (150)
288 GOT-TLS-NEXT: Entry {
289 GOT-TLS-NEXT: Address: 0x10C88
290 GOT-TLS-NEXT: Access: -32616
291 GOT-TLS-NEXT: Initial: 0x0
292 GOT-TLS-NEXT: Value: 0x0
293 GOT-TLS-NEXT: Type: None (0x0)
294 GOT-TLS-NEXT: Section: Undefined (0x0)
295 GOT-TLS-NEXT: Name: _ITM_deregisterTMCloneTable@ (50)
297 GOT-TLS-NEXT: Entry {
298 GOT-TLS-NEXT: Address: 0x10C90
299 GOT-TLS-NEXT: Access: -32608
300 GOT-TLS-NEXT: Initial: 0x0
301 GOT-TLS-NEXT: Value: 0x0
302 GOT-TLS-NEXT: Type: Function (0x2)
303 GOT-TLS-NEXT: Section: Undefined (0x0)
304 GOT-TLS-NEXT: Name: __cxa_finalize@GLIBC_2.2 (104)
307 GOT-TLS-NEXT: Number of TLS and multi-GOT entries: 4
310 GOT-EMPTY: Primary GOT {
311 GOT-EMPTY-NEXT: Canonical gp value: 0x409FF0
312 GOT-EMPTY-NEXT: Reserved entries [
313 GOT-EMPTY-NEXT: Entry {
314 GOT-EMPTY-NEXT: Address: 0x402000
315 GOT-EMPTY-NEXT: Access: -32752
316 GOT-EMPTY-NEXT: Initial: 0x0
317 GOT-EMPTY-NEXT: Purpose: Lazy resolver
319 GOT-EMPTY-NEXT: Entry {
320 GOT-EMPTY-NEXT: Address: 0x402004
321 GOT-EMPTY-NEXT: Access: -32748
322 GOT-EMPTY-NEXT: Initial: 0x80000000
323 GOT-EMPTY-NEXT: Purpose: Module pointer (GNU extension)
326 GOT-EMPTY-NEXT: Local entries [
328 GOT-EMPTY-NEXT: Global entries [
330 GOT-EMPTY-NEXT: Number of TLS and multi-GOT entries: 2