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
10 GOT-OBJ: Cannot find PLTGOT dynamic table tag.
12 GOT-EXE: Primary GOT {
13 GOT-EXE-NEXT: Canonical gp value: 0x418880
14 GOT-EXE-NEXT: Reserved entries [
16 GOT-EXE-NEXT: Address: 0x410890
17 GOT-EXE-NEXT: Access: -32752
18 GOT-EXE-NEXT: Initial: 0x0
19 GOT-EXE-NEXT: Purpose: Lazy resolver
22 GOT-EXE-NEXT: Address: 0x410894
23 GOT-EXE-NEXT: Access: -32748
24 GOT-EXE-NEXT: Initial: 0x80000000
25 GOT-EXE-NEXT: Purpose: Module pointer (GNU extension)
28 GOT-EXE-NEXT: Local entries [
30 GOT-EXE-NEXT: Address: 0x410898
31 GOT-EXE-NEXT: Access: -32744
32 GOT-EXE-NEXT: Initial: 0x400418
35 GOT-EXE-NEXT: Address: 0x41089C
36 GOT-EXE-NEXT: Access: -32740
37 GOT-EXE-NEXT: Initial: 0x410840
40 GOT-EXE-NEXT: Address: 0x4108A0
41 GOT-EXE-NEXT: Access: -32736
42 GOT-EXE-NEXT: Initial: 0x0
45 GOT-EXE-NEXT: Global entries [
47 GOT-EXE-NEXT: Address: 0x4108A4
48 GOT-EXE-NEXT: Access: -32732
49 GOT-EXE-NEXT: Initial: 0x0
50 GOT-EXE-NEXT: Value: 0x0
51 GOT-EXE-NEXT: Type: Function (0x2)
52 GOT-EXE-NEXT: Section: Undefined (0x0)
53 GOT-EXE-NEXT: Name: __gmon_start__@ (1)
56 GOT-EXE-NEXT: Number of TLS and multi-GOT entries: 0
60 GOT-SO-NEXT: Canonical gp value: 0x188D0
61 GOT-SO-NEXT: Reserved entries [
63 GOT-SO-NEXT: Address: 0x108E0
64 GOT-SO-NEXT: Access: -32752
65 GOT-SO-NEXT: Initial: 0x0
66 GOT-SO-NEXT: Purpose: Lazy resolver
69 GOT-SO-NEXT: Address: 0x108E4
70 GOT-SO-NEXT: Access: -32748
71 GOT-SO-NEXT: Initial: 0x80000000
72 GOT-SO-NEXT: Purpose: Module pointer (GNU extension)
75 GOT-SO-NEXT: Local entries [
77 GOT-SO-NEXT: Address: 0x108E8
78 GOT-SO-NEXT: Access: -32744
79 GOT-SO-NEXT: Initial: 0x108E0
82 GOT-SO-NEXT: Address: 0x108EC
83 GOT-SO-NEXT: Access: -32740
84 GOT-SO-NEXT: Initial: 0x10000
87 GOT-SO-NEXT: Address: 0x108F0
88 GOT-SO-NEXT: Access: -32736
89 GOT-SO-NEXT: Initial: 0x10920
92 GOT-SO-NEXT: Address: 0x108F4
93 GOT-SO-NEXT: Access: -32732
94 GOT-SO-NEXT: Initial: 0x108CC
97 GOT-SO-NEXT: Address: 0x108F8
98 GOT-SO-NEXT: Access: -32728
99 GOT-SO-NEXT: Initial: 0x0
102 GOT-SO-NEXT: Address: 0x108FC
103 GOT-SO-NEXT: Access: -32724
104 GOT-SO-NEXT: Initial: 0x0
107 GOT-SO-NEXT: Address: 0x10900
108 GOT-SO-NEXT: Access: -32720
109 GOT-SO-NEXT: Initial: 0x0
112 GOT-SO-NEXT: Address: 0x10904
113 GOT-SO-NEXT: Access: -32716
114 GOT-SO-NEXT: Initial: 0x0
117 GOT-SO-NEXT: Global entries [
119 GOT-SO-NEXT: Address: 0x10908
120 GOT-SO-NEXT: Access: -32712
121 GOT-SO-NEXT: Initial: 0x0
122 GOT-SO-NEXT: Value: 0x0
123 GOT-SO-NEXT: Type: None (0x0)
124 GOT-SO-NEXT: Section: Undefined (0x0)
125 GOT-SO-NEXT: Name: _ITM_registerTMCloneTable@ (87)
128 GOT-SO-NEXT: Address: 0x1090C
129 GOT-SO-NEXT: Access: -32708
130 GOT-SO-NEXT: Initial: 0x0
131 GOT-SO-NEXT: Value: 0x0
132 GOT-SO-NEXT: Type: None (0x0)
133 GOT-SO-NEXT: Section: Undefined (0x0)
134 GOT-SO-NEXT: Name: _Jv_RegisterClasses@ (128)
137 GOT-SO-NEXT: Address: 0x10910
138 GOT-SO-NEXT: Access: -32704
139 GOT-SO-NEXT: Initial: 0x0
140 GOT-SO-NEXT: Value: 0x0
141 GOT-SO-NEXT: Type: Function (0x2)
142 GOT-SO-NEXT: Section: Undefined (0x0)
143 GOT-SO-NEXT: Name: __gmon_start__@ (23)
146 GOT-SO-NEXT: Address: 0x10914
147 GOT-SO-NEXT: Access: -32700
148 GOT-SO-NEXT: Initial: 0x840
149 GOT-SO-NEXT: Value: 0x840
150 GOT-SO-NEXT: Type: Function (0x2)
151 GOT-SO-NEXT: Section: Undefined (0x0)
152 GOT-SO-NEXT: Name: puts@GLIBC_2.0 (162)
155 GOT-SO-NEXT: Address: 0x10918
156 GOT-SO-NEXT: Access: -32696
157 GOT-SO-NEXT: Initial: 0x0
158 GOT-SO-NEXT: Value: 0x0
159 GOT-SO-NEXT: Type: None (0x0)
160 GOT-SO-NEXT: Section: Undefined (0x0)
161 GOT-SO-NEXT: Name: _ITM_deregisterTMCloneTable@ (59)
164 GOT-SO-NEXT: Address: 0x1091C
165 GOT-SO-NEXT: Access: -32692
166 GOT-SO-NEXT: Initial: 0x0
167 GOT-SO-NEXT: Value: 0x0
168 GOT-SO-NEXT: Type: Function (0x2)
169 GOT-SO-NEXT: Section: Undefined (0x0)
170 GOT-SO-NEXT: Name: __cxa_finalize@GLIBC_2.2 (113)
173 GOT-SO-NEXT: Number of TLS and multi-GOT entries: 0
176 GOT-TLS: Primary GOT {
177 GOT-TLS-NEXT: Canonical gp value: 0x18BF0
178 GOT-TLS-NEXT: Reserved entries [
179 GOT-TLS-NEXT: Entry {
180 GOT-TLS-NEXT: Address: 0x10C00
181 GOT-TLS-NEXT: Access: -32752
182 GOT-TLS-NEXT: Initial: 0x0
183 GOT-TLS-NEXT: Purpose: Lazy resolver
185 GOT-TLS-NEXT: Entry {
186 GOT-TLS-NEXT: Address: 0x10C08
187 GOT-TLS-NEXT: Access: -32744
188 GOT-TLS-NEXT: Initial: 0x8000000000000000
189 GOT-TLS-NEXT: Purpose: Module pointer (GNU extension)
192 GOT-TLS-NEXT: Local entries [
193 GOT-TLS-NEXT: Entry {
194 GOT-TLS-NEXT: Address: 0x10C10
195 GOT-TLS-NEXT: Access: -32736
196 GOT-TLS-NEXT: Initial: 0x10000
198 GOT-TLS-NEXT: Entry {
199 GOT-TLS-NEXT: Address: 0x10C18
200 GOT-TLS-NEXT: Access: -32728
201 GOT-TLS-NEXT: Initial: 0x10C00
203 GOT-TLS-NEXT: Entry {
204 GOT-TLS-NEXT: Address: 0x10C20
205 GOT-TLS-NEXT: Access: -32720
206 GOT-TLS-NEXT: Initial: 0x10CB8
208 GOT-TLS-NEXT: Entry {
209 GOT-TLS-NEXT: Address: 0x10C28
210 GOT-TLS-NEXT: Access: -32712
211 GOT-TLS-NEXT: Initial: 0x10BF0
213 GOT-TLS-NEXT: Entry {
214 GOT-TLS-NEXT: Address: 0x10C30
215 GOT-TLS-NEXT: Access: -32704
216 GOT-TLS-NEXT: Initial: 0x0
218 GOT-TLS-NEXT: Entry {
219 GOT-TLS-NEXT: Address: 0x10C38
220 GOT-TLS-NEXT: Access: -32696
221 GOT-TLS-NEXT: Initial: 0x948
223 GOT-TLS-NEXT: Entry {
224 GOT-TLS-NEXT: Address: 0x10C40
225 GOT-TLS-NEXT: Access: -32688
226 GOT-TLS-NEXT: Initial: 0xA20
228 GOT-TLS-NEXT: Entry {
229 GOT-TLS-NEXT: Address: 0x10C48
230 GOT-TLS-NEXT: Access: -32680
231 GOT-TLS-NEXT: Initial: 0xAF0
233 GOT-TLS-NEXT: Entry {
234 GOT-TLS-NEXT: Address: 0x10C50
235 GOT-TLS-NEXT: Access: -32672
236 GOT-TLS-NEXT: Initial: 0x0
238 GOT-TLS-NEXT: Entry {
239 GOT-TLS-NEXT: Address: 0x10C58
240 GOT-TLS-NEXT: Access: -32664
241 GOT-TLS-NEXT: Initial: 0x0
243 GOT-TLS-NEXT: Entry {
244 GOT-TLS-NEXT: Address: 0x10C60
245 GOT-TLS-NEXT: Access: -32656
246 GOT-TLS-NEXT: Initial: 0x0
249 GOT-TLS-NEXT: Global entries [
250 GOT-TLS-NEXT: Entry {
251 GOT-TLS-NEXT: Address: 0x10C68
252 GOT-TLS-NEXT: Access: -32648
253 GOT-TLS-NEXT: Initial: 0x0
254 GOT-TLS-NEXT: Value: 0x0
255 GOT-TLS-NEXT: Type: None (0x0)
256 GOT-TLS-NEXT: Section: Undefined (0x0)
257 GOT-TLS-NEXT: Name: _ITM_registerTMCloneTable@ (78)
259 GOT-TLS-NEXT: Entry {
260 GOT-TLS-NEXT: Address: 0x10C70
261 GOT-TLS-NEXT: Access: -32640
262 GOT-TLS-NEXT: Initial: 0x0
263 GOT-TLS-NEXT: Value: 0x0
264 GOT-TLS-NEXT: Type: None (0x0)
265 GOT-TLS-NEXT: Section: Undefined (0x0)
266 GOT-TLS-NEXT: Name: _Jv_RegisterClasses@ (119)
268 GOT-TLS-NEXT: Entry {
269 GOT-TLS-NEXT: Address: 0x10C78
270 GOT-TLS-NEXT: Access: -32632
271 GOT-TLS-NEXT: Initial: 0x0
272 GOT-TLS-NEXT: Value: 0x0
273 GOT-TLS-NEXT: Type: Function (0x2)
274 GOT-TLS-NEXT: Section: Undefined (0x0)
275 GOT-TLS-NEXT: Name: __gmon_start__@ (23)
277 GOT-TLS-NEXT: Entry {
278 GOT-TLS-NEXT: Address: 0x10C80
279 GOT-TLS-NEXT: Access: -32624
280 GOT-TLS-NEXT: Initial: 0xB60
281 GOT-TLS-NEXT: Value: 0xB60
282 GOT-TLS-NEXT: Type: Function (0x2)
283 GOT-TLS-NEXT: Section: Undefined (0x0)
284 GOT-TLS-NEXT: Name: __tls_get_addr@GLIBC_2.3 (150)
286 GOT-TLS-NEXT: Entry {
287 GOT-TLS-NEXT: Address: 0x10C88
288 GOT-TLS-NEXT: Access: -32616
289 GOT-TLS-NEXT: Initial: 0x0
290 GOT-TLS-NEXT: Value: 0x0
291 GOT-TLS-NEXT: Type: None (0x0)
292 GOT-TLS-NEXT: Section: Undefined (0x0)
293 GOT-TLS-NEXT: Name: _ITM_deregisterTMCloneTable@ (50)
295 GOT-TLS-NEXT: Entry {
296 GOT-TLS-NEXT: Address: 0x10C90
297 GOT-TLS-NEXT: Access: -32608
298 GOT-TLS-NEXT: Initial: 0x0
299 GOT-TLS-NEXT: Value: 0x0
300 GOT-TLS-NEXT: Type: Function (0x2)
301 GOT-TLS-NEXT: Section: Undefined (0x0)
302 GOT-TLS-NEXT: Name: __cxa_finalize@GLIBC_2.2 (104)
305 GOT-TLS-NEXT: Number of TLS and multi-GOT entries: 4