blob: 76db3c845eb48705c84e8b24259133aa410cdea8 [file] [log] [blame]
Simon Atanasyan80433902014-06-18 08:47:09 +00001RUN: llvm-readobj -mips-plt-got %p/Inputs/relocs.obj.elf-mips | \
2RUN: FileCheck %s -check-prefix GOT-OBJ
3RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-exe.mips | \
4RUN: FileCheck %s -check-prefix GOT-EXE
5RUN: llvm-readobj -mips-plt-got %p/Inputs/dynamic-table-so.mips | \
6RUN: FileCheck %s -check-prefix GOT-SO
7RUN: llvm-readobj -mips-plt-got %p/Inputs/got-tls.so.elf-mips64el | \
8RUN: FileCheck %s -check-prefix GOT-TLS
9
10GOT-OBJ: Cannot find PLTGOT dynamic table tag.
11
12GOT-EXE: Primary GOT {
13GOT-EXE-NEXT: Canonical gp value: 0x418880
14GOT-EXE-NEXT: Reserved entries [
15GOT-EXE-NEXT: Entry {
16GOT-EXE-NEXT: Address: 0x410890
17GOT-EXE-NEXT: Access: -32752
18GOT-EXE-NEXT: Initial: 0x0
19GOT-EXE-NEXT: Purpose: Lazy resolver
20GOT-EXE-NEXT: }
21GOT-EXE-NEXT: Entry {
22GOT-EXE-NEXT: Address: 0x410894
23GOT-EXE-NEXT: Access: -32748
24GOT-EXE-NEXT: Initial: 0x80000000
25GOT-EXE-NEXT: Purpose: Module pointer (GNU extension)
26GOT-EXE-NEXT: }
27GOT-EXE-NEXT: ]
28GOT-EXE-NEXT: Local entries [
29GOT-EXE-NEXT: Entry {
30GOT-EXE-NEXT: Address: 0x410898
31GOT-EXE-NEXT: Access: -32744
32GOT-EXE-NEXT: Initial: 0x400418
33GOT-EXE-NEXT: }
34GOT-EXE-NEXT: Entry {
35GOT-EXE-NEXT: Address: 0x41089C
36GOT-EXE-NEXT: Access: -32740
37GOT-EXE-NEXT: Initial: 0x410840
38GOT-EXE-NEXT: }
39GOT-EXE-NEXT: Entry {
40GOT-EXE-NEXT: Address: 0x4108A0
41GOT-EXE-NEXT: Access: -32736
42GOT-EXE-NEXT: Initial: 0x0
43GOT-EXE-NEXT: }
44GOT-EXE-NEXT: ]
45GOT-EXE-NEXT: Global entries [
46GOT-EXE-NEXT: Entry {
47GOT-EXE-NEXT: Address: 0x4108A4
48GOT-EXE-NEXT: Access: -32732
49GOT-EXE-NEXT: Initial: 0x0
50GOT-EXE-NEXT: Value: 0x0
51GOT-EXE-NEXT: Type: Function (0x2)
52GOT-EXE-NEXT: Section: Undefined (0x0)
53GOT-EXE-NEXT: Name: __gmon_start__@ (1)
54GOT-EXE-NEXT: }
55GOT-EXE-NEXT: ]
56GOT-EXE-NEXT: Number of TLS and multi-GOT entries: 0
57GOT-EXE-NEXT: }
58
59GOT-SO: Primary GOT {
60GOT-SO-NEXT: Canonical gp value: 0x188D0
61GOT-SO-NEXT: Reserved entries [
62GOT-SO-NEXT: Entry {
63GOT-SO-NEXT: Address: 0x108E0
64GOT-SO-NEXT: Access: -32752
65GOT-SO-NEXT: Initial: 0x0
66GOT-SO-NEXT: Purpose: Lazy resolver
67GOT-SO-NEXT: }
68GOT-SO-NEXT: Entry {
69GOT-SO-NEXT: Address: 0x108E4
70GOT-SO-NEXT: Access: -32748
71GOT-SO-NEXT: Initial: 0x80000000
72GOT-SO-NEXT: Purpose: Module pointer (GNU extension)
73GOT-SO-NEXT: }
74GOT-SO-NEXT: ]
75GOT-SO-NEXT: Local entries [
76GOT-SO-NEXT: Entry {
77GOT-SO-NEXT: Address: 0x108E8
78GOT-SO-NEXT: Access: -32744
79GOT-SO-NEXT: Initial: 0x108E0
80GOT-SO-NEXT: }
81GOT-SO-NEXT: Entry {
82GOT-SO-NEXT: Address: 0x108EC
83GOT-SO-NEXT: Access: -32740
84GOT-SO-NEXT: Initial: 0x10000
85GOT-SO-NEXT: }
86GOT-SO-NEXT: Entry {
87GOT-SO-NEXT: Address: 0x108F0
88GOT-SO-NEXT: Access: -32736
89GOT-SO-NEXT: Initial: 0x10920
90GOT-SO-NEXT: }
91GOT-SO-NEXT: Entry {
92GOT-SO-NEXT: Address: 0x108F4
93GOT-SO-NEXT: Access: -32732
94GOT-SO-NEXT: Initial: 0x108CC
95GOT-SO-NEXT: }
96GOT-SO-NEXT: Entry {
97GOT-SO-NEXT: Address: 0x108F8
98GOT-SO-NEXT: Access: -32728
99GOT-SO-NEXT: Initial: 0x0
100GOT-SO-NEXT: }
101GOT-SO-NEXT: Entry {
102GOT-SO-NEXT: Address: 0x108FC
103GOT-SO-NEXT: Access: -32724
104GOT-SO-NEXT: Initial: 0x0
105GOT-SO-NEXT: }
106GOT-SO-NEXT: Entry {
107GOT-SO-NEXT: Address: 0x10900
108GOT-SO-NEXT: Access: -32720
109GOT-SO-NEXT: Initial: 0x0
110GOT-SO-NEXT: }
111GOT-SO-NEXT: Entry {
112GOT-SO-NEXT: Address: 0x10904
113GOT-SO-NEXT: Access: -32716
114GOT-SO-NEXT: Initial: 0x0
115GOT-SO-NEXT: }
116GOT-SO-NEXT: ]
117GOT-SO-NEXT: Global entries [
118GOT-SO-NEXT: Entry {
119GOT-SO-NEXT: Address: 0x10908
120GOT-SO-NEXT: Access: -32712
121GOT-SO-NEXT: Initial: 0x0
122GOT-SO-NEXT: Value: 0x0
123GOT-SO-NEXT: Type: None (0x0)
124GOT-SO-NEXT: Section: Undefined (0x0)
125GOT-SO-NEXT: Name: _ITM_registerTMCloneTable@ (87)
126GOT-SO-NEXT: }
127GOT-SO-NEXT: Entry {
128GOT-SO-NEXT: Address: 0x1090C
129GOT-SO-NEXT: Access: -32708
130GOT-SO-NEXT: Initial: 0x0
131GOT-SO-NEXT: Value: 0x0
132GOT-SO-NEXT: Type: None (0x0)
133GOT-SO-NEXT: Section: Undefined (0x0)
134GOT-SO-NEXT: Name: _Jv_RegisterClasses@ (128)
135GOT-SO-NEXT: }
136GOT-SO-NEXT: Entry {
137GOT-SO-NEXT: Address: 0x10910
138GOT-SO-NEXT: Access: -32704
139GOT-SO-NEXT: Initial: 0x0
140GOT-SO-NEXT: Value: 0x0
141GOT-SO-NEXT: Type: Function (0x2)
142GOT-SO-NEXT: Section: Undefined (0x0)
143GOT-SO-NEXT: Name: __gmon_start__@ (23)
144GOT-SO-NEXT: }
145GOT-SO-NEXT: Entry {
146GOT-SO-NEXT: Address: 0x10914
147GOT-SO-NEXT: Access: -32700
148GOT-SO-NEXT: Initial: 0x840
149GOT-SO-NEXT: Value: 0x840
150GOT-SO-NEXT: Type: Function (0x2)
151GOT-SO-NEXT: Section: Undefined (0x0)
152GOT-SO-NEXT: Name: puts@GLIBC_2.0 (162)
153GOT-SO-NEXT: }
154GOT-SO-NEXT: Entry {
155GOT-SO-NEXT: Address: 0x10918
156GOT-SO-NEXT: Access: -32696
157GOT-SO-NEXT: Initial: 0x0
158GOT-SO-NEXT: Value: 0x0
159GOT-SO-NEXT: Type: None (0x0)
160GOT-SO-NEXT: Section: Undefined (0x0)
161GOT-SO-NEXT: Name: _ITM_deregisterTMCloneTable@ (59)
162GOT-SO-NEXT: }
163GOT-SO-NEXT: Entry {
164GOT-SO-NEXT: Address: 0x1091C
165GOT-SO-NEXT: Access: -32692
166GOT-SO-NEXT: Initial: 0x0
167GOT-SO-NEXT: Value: 0x0
168GOT-SO-NEXT: Type: Function (0x2)
169GOT-SO-NEXT: Section: Undefined (0x0)
170GOT-SO-NEXT: Name: __cxa_finalize@GLIBC_2.2 (113)
171GOT-SO-NEXT: }
172GOT-SO-NEXT: ]
173GOT-SO-NEXT: Number of TLS and multi-GOT entries: 0
174GOT-SO-NEXT: }
175
176GOT-TLS: Primary GOT {
177GOT-TLS-NEXT: Canonical gp value: 0x18BF0
178GOT-TLS-NEXT: Reserved entries [
179GOT-TLS-NEXT: Entry {
180GOT-TLS-NEXT: Address: 0x10C00
181GOT-TLS-NEXT: Access: -32752
182GOT-TLS-NEXT: Initial: 0x0
183GOT-TLS-NEXT: Purpose: Lazy resolver
184GOT-TLS-NEXT: }
185GOT-TLS-NEXT: Entry {
186GOT-TLS-NEXT: Address: 0x10C08
187GOT-TLS-NEXT: Access: -32744
188GOT-TLS-NEXT: Initial: 0x8000000000000000
189GOT-TLS-NEXT: Purpose: Module pointer (GNU extension)
190GOT-TLS-NEXT: }
191GOT-TLS-NEXT: ]
192GOT-TLS-NEXT: Local entries [
193GOT-TLS-NEXT: Entry {
194GOT-TLS-NEXT: Address: 0x10C10
195GOT-TLS-NEXT: Access: -32736
196GOT-TLS-NEXT: Initial: 0x10000
197GOT-TLS-NEXT: }
198GOT-TLS-NEXT: Entry {
199GOT-TLS-NEXT: Address: 0x10C18
200GOT-TLS-NEXT: Access: -32728
201GOT-TLS-NEXT: Initial: 0x10C00
202GOT-TLS-NEXT: }
203GOT-TLS-NEXT: Entry {
204GOT-TLS-NEXT: Address: 0x10C20
205GOT-TLS-NEXT: Access: -32720
206GOT-TLS-NEXT: Initial: 0x10CB8
207GOT-TLS-NEXT: }
208GOT-TLS-NEXT: Entry {
209GOT-TLS-NEXT: Address: 0x10C28
210GOT-TLS-NEXT: Access: -32712
211GOT-TLS-NEXT: Initial: 0x10BF0
212GOT-TLS-NEXT: }
213GOT-TLS-NEXT: Entry {
214GOT-TLS-NEXT: Address: 0x10C30
215GOT-TLS-NEXT: Access: -32704
216GOT-TLS-NEXT: Initial: 0x0
217GOT-TLS-NEXT: }
218GOT-TLS-NEXT: Entry {
219GOT-TLS-NEXT: Address: 0x10C38
220GOT-TLS-NEXT: Access: -32696
221GOT-TLS-NEXT: Initial: 0x948
222GOT-TLS-NEXT: }
223GOT-TLS-NEXT: Entry {
224GOT-TLS-NEXT: Address: 0x10C40
225GOT-TLS-NEXT: Access: -32688
226GOT-TLS-NEXT: Initial: 0xA20
227GOT-TLS-NEXT: }
228GOT-TLS-NEXT: Entry {
229GOT-TLS-NEXT: Address: 0x10C48
230GOT-TLS-NEXT: Access: -32680
231GOT-TLS-NEXT: Initial: 0xAF0
232GOT-TLS-NEXT: }
233GOT-TLS-NEXT: Entry {
234GOT-TLS-NEXT: Address: 0x10C50
235GOT-TLS-NEXT: Access: -32672
236GOT-TLS-NEXT: Initial: 0x0
237GOT-TLS-NEXT: }
238GOT-TLS-NEXT: Entry {
239GOT-TLS-NEXT: Address: 0x10C58
240GOT-TLS-NEXT: Access: -32664
241GOT-TLS-NEXT: Initial: 0x0
242GOT-TLS-NEXT: }
243GOT-TLS-NEXT: Entry {
244GOT-TLS-NEXT: Address: 0x10C60
245GOT-TLS-NEXT: Access: -32656
246GOT-TLS-NEXT: Initial: 0x0
247GOT-TLS-NEXT: }
248GOT-TLS-NEXT: ]
249GOT-TLS-NEXT: Global entries [
250GOT-TLS-NEXT: Entry {
251GOT-TLS-NEXT: Address: 0x10C68
252GOT-TLS-NEXT: Access: -32648
253GOT-TLS-NEXT: Initial: 0x0
254GOT-TLS-NEXT: Value: 0x0
255GOT-TLS-NEXT: Type: None (0x0)
256GOT-TLS-NEXT: Section: Undefined (0x0)
257GOT-TLS-NEXT: Name: _ITM_registerTMCloneTable@ (78)
258GOT-TLS-NEXT: }
259GOT-TLS-NEXT: Entry {
260GOT-TLS-NEXT: Address: 0x10C70
261GOT-TLS-NEXT: Access: -32640
262GOT-TLS-NEXT: Initial: 0x0
263GOT-TLS-NEXT: Value: 0x0
264GOT-TLS-NEXT: Type: None (0x0)
265GOT-TLS-NEXT: Section: Undefined (0x0)
266GOT-TLS-NEXT: Name: _Jv_RegisterClasses@ (119)
267GOT-TLS-NEXT: }
268GOT-TLS-NEXT: Entry {
269GOT-TLS-NEXT: Address: 0x10C78
270GOT-TLS-NEXT: Access: -32632
271GOT-TLS-NEXT: Initial: 0x0
272GOT-TLS-NEXT: Value: 0x0
273GOT-TLS-NEXT: Type: Function (0x2)
274GOT-TLS-NEXT: Section: Undefined (0x0)
275GOT-TLS-NEXT: Name: __gmon_start__@ (23)
276GOT-TLS-NEXT: }
277GOT-TLS-NEXT: Entry {
278GOT-TLS-NEXT: Address: 0x10C80
279GOT-TLS-NEXT: Access: -32624
280GOT-TLS-NEXT: Initial: 0xB60
281GOT-TLS-NEXT: Value: 0xB60
282GOT-TLS-NEXT: Type: Function (0x2)
283GOT-TLS-NEXT: Section: Undefined (0x0)
284GOT-TLS-NEXT: Name: __tls_get_addr@GLIBC_2.3 (150)
285GOT-TLS-NEXT: }
286GOT-TLS-NEXT: Entry {
287GOT-TLS-NEXT: Address: 0x10C88
288GOT-TLS-NEXT: Access: -32616
289GOT-TLS-NEXT: Initial: 0x0
290GOT-TLS-NEXT: Value: 0x0
291GOT-TLS-NEXT: Type: None (0x0)
292GOT-TLS-NEXT: Section: Undefined (0x0)
293GOT-TLS-NEXT: Name: _ITM_deregisterTMCloneTable@ (50)
294GOT-TLS-NEXT: }
295GOT-TLS-NEXT: Entry {
296GOT-TLS-NEXT: Address: 0x10C90
297GOT-TLS-NEXT: Access: -32608
298GOT-TLS-NEXT: Initial: 0x0
299GOT-TLS-NEXT: Value: 0x0
300GOT-TLS-NEXT: Type: Function (0x2)
301GOT-TLS-NEXT: Section: Undefined (0x0)
302GOT-TLS-NEXT: Name: __cxa_finalize@GLIBC_2.2 (104)
303GOT-TLS-NEXT: }
304GOT-TLS-NEXT: ]
305GOT-TLS-NEXT: Number of TLS and multi-GOT entries: 4
306GOT-TLS-NEXT: }