[MC] Convert all the remaining tests from macho-dump to llvm-readobj.
[oota-llvm.git] / test / MC / MachO / variable-exprs.s
1 // RUN: llvm-mc -triple i386-apple-darwin10 %s -filetype=obj -o %t.o
2 // RUN: llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols < %t.o > %t.dump
3 // RUN: FileCheck --check-prefix=CHECK-I386 < %t.dump %s
4
5 // RUN: llvm-mc -triple x86_64-apple-darwin10 %s -filetype=obj -o %t.o
6 // RUN: llvm-readobj -file-headers -s -sd -r -t -macho-segment -macho-dysymtab -macho-indirect-symbols < %t.o > %t.dump
7 // RUN: FileCheck --check-prefix=CHECK-X86_64 < %t.dump %s
8
9 .data
10
11         .long 0
12 a:
13         .long 0
14 b = a
15
16 c:      .long b
17
18 d2 = d
19 .globl d2
20 d3 = d + 4
21 .globl d3
22
23 e = a + 4
24
25 g:
26 f = g
27         .long 0
28         
29         .long b
30         .long e
31         .long a + 4
32         .long d
33         .long d2
34         .long d3
35         .long f
36         .long g
37
38 ///
39         .text
40 t0:
41 Lt0_a:
42         ret
43
44         .data
45 Lt0_b:
46 Lt0_x = Lt0_a - Lt0_b
47         .quad   Lt0_x
48
49 // CHECK-I386: File: <stdin>
50 // CHECK-I386: Format: Mach-O 32-bit i386
51 // CHECK-I386: Arch: i386
52 // CHECK-I386: AddressSize: 32bit
53 // CHECK-I386: MachHeader {
54 // CHECK-I386:   Magic: Magic (0xFEEDFACE)
55 // CHECK-I386:   CpuType: X86 (0x7)
56 // CHECK-I386:   CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)
57 // CHECK-I386:   FileType: Relocatable (0x1)
58 // CHECK-I386:   NumOfLoadCommands: 4
59 // CHECK-I386:   SizeOfLoadCommands: 312
60 // CHECK-I386:   Flags [ (0x0)
61 // CHECK-I386:   ]
62 // CHECK-I386: }
63 // CHECK-I386: Sections [
64 // CHECK-I386:   Section {
65 // CHECK-I386:     Index: 0
66 // CHECK-I386:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
67 // CHECK-I386:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
68 // CHECK-I386:     Address: 0x0
69 // CHECK-I386:     Size: 0x1
70 // CHECK-I386:     Offset: 340
71 // CHECK-I386:     Alignment: 0
72 // CHECK-I386:     RelocationOffset: 0x0
73 // CHECK-I386:     RelocationCount: 0
74 // CHECK-I386:     Type: 0x0
75 // CHECK-I386:     Attributes [ (0x800004)
76 // CHECK-I386:       PureInstructions (0x800000)
77 // CHECK-I386:       SomeInstructions (0x4)
78 // CHECK-I386:     ]
79 // CHECK-I386:     Reserved1: 0x0
80 // CHECK-I386:     Reserved2: 0x0
81 // CHECK-I386:     SectionData (
82 // CHECK-I386:       0000: C3                                   |.|
83 // CHECK-I386:     )
84 // CHECK-I386:   }
85 // CHECK-I386:   Section {
86 // CHECK-I386:     Index: 1
87 // CHECK-I386:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)
88 // CHECK-I386:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
89 // CHECK-I386:     Address: 0x1
90 // CHECK-I386:     Size: 0x38
91 // CHECK-I386:     Offset: 341
92 // CHECK-I386:     Alignment: 0
93 // CHECK-I386:     RelocationOffset: 0x190
94 // CHECK-I386:     RelocationCount: 9
95 // CHECK-I386:     Type: 0x0
96 // CHECK-I386:     Attributes [ (0x0)
97 // CHECK-I386:     ]
98 // CHECK-I386:     Reserved1: 0x0
99 // CHECK-I386:     Reserved2: 0x0
100 // CHECK-I386:     SectionData (
101 // CHECK-I386:       0000: 00000000 00000000 05000000 00000000  |................|
102 // CHECK-I386:       0010: 05000000 09000000 09000000 00000000  |................|
103 // CHECK-I386:       0020: 00000000 00000000 0D000000 0D000000  |................|
104 // CHECK-I386:       0030: CFFFFFFF FFFFFFFF                    |........|
105 // CHECK-I386:     )
106 // CHECK-I386:   }
107 // CHECK-I386: ]
108 // CHECK-I386: Relocations [
109 // CHECK-I386:   Section __data {
110 // CHECK-I386:     0x2C 0 2 0 GENERIC_RELOC_VANILLA 0 __data
111 // CHECK-I386:     0x28 0 2 0 GENERIC_RELOC_VANILLA 0 __data
112 // CHECK-I386:     0x24 0 2 1 GENERIC_RELOC_VANILLA 0 d3
113 // CHECK-I386:     0x20 0 2 1 GENERIC_RELOC_VANILLA 0 d2
114 // CHECK-I386:     0x1C 0 2 1 GENERIC_RELOC_VANILLA 0 d
115 // CHECK-I386:     0x18 0 2 n/a GENERIC_RELOC_VANILLA 1 0x5
116 // CHECK-I386:     0x14 0 2 0 GENERIC_RELOC_VANILLA 0 __data
117 // CHECK-I386:     0x10 0 2 0 GENERIC_RELOC_VANILLA 0 __data
118 // CHECK-I386:     0x8 0 2 0 GENERIC_RELOC_VANILLA 0 __data
119 // CHECK-I386:   }
120 // CHECK-I386: ]
121 // CHECK-I386: Symbols [
122 // CHECK-I386:   Symbol {
123 // CHECK-I386:     Name: a (13)
124 // CHECK-I386:     Type: Section (0xE)
125 // CHECK-I386:     Section: __data (0x2)
126 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
127 // CHECK-I386:     Flags [ (0x0)
128 // CHECK-I386:     ]
129 // CHECK-I386:     Value: 0x5
130 // CHECK-I386:   }
131 // CHECK-I386:   Symbol {
132 // CHECK-I386:     Name: b (11)
133 // CHECK-I386:     Type: Section (0xE)
134 // CHECK-I386:     Section: __data (0x2)
135 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
136 // CHECK-I386:     Flags [ (0x0)
137 // CHECK-I386:     ]
138 // CHECK-I386:     Value: 0x5
139 // CHECK-I386:   }
140 // CHECK-I386:   Symbol {
141 // CHECK-I386:     Name: c (9)
142 // CHECK-I386:     Type: Section (0xE)
143 // CHECK-I386:     Section: __data (0x2)
144 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
145 // CHECK-I386:     Flags [ (0x0)
146 // CHECK-I386:     ]
147 // CHECK-I386:     Value: 0x9
148 // CHECK-I386:   }
149 // CHECK-I386:   Symbol {
150 // CHECK-I386:     Name: e (5)
151 // CHECK-I386:     Type: Section (0xE)
152 // CHECK-I386:     Section: __data (0x2)
153 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
154 // CHECK-I386:     Flags [ (0x0)
155 // CHECK-I386:     ]
156 // CHECK-I386:     Value: 0x9
157 // CHECK-I386:   }
158 // CHECK-I386:   Symbol {
159 // CHECK-I386:     Name: g (1)
160 // CHECK-I386:     Type: Section (0xE)
161 // CHECK-I386:     Section: __data (0x2)
162 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
163 // CHECK-I386:     Flags [ (0x0)
164 // CHECK-I386:     ]
165 // CHECK-I386:     Value: 0xD
166 // CHECK-I386:   }
167 // CHECK-I386:   Symbol {
168 // CHECK-I386:     Name: f (3)
169 // CHECK-I386:     Type: Section (0xE)
170 // CHECK-I386:     Section: __data (0x2)
171 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
172 // CHECK-I386:     Flags [ (0x0)
173 // CHECK-I386:     ]
174 // CHECK-I386:     Value: 0xD
175 // CHECK-I386:   }
176 // CHECK-I386:   Symbol {
177 // CHECK-I386:     Name: t0 (21)
178 // CHECK-I386:     Type: Section (0xE)
179 // CHECK-I386:     Section: __text (0x1)
180 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
181 // CHECK-I386:     Flags [ (0x0)
182 // CHECK-I386:     ]
183 // CHECK-I386:     Value: 0x0
184 // CHECK-I386:   }
185 // CHECK-I386:   Symbol {
186 // CHECK-I386:     Name: d (7)
187 // CHECK-I386:     Extern
188 // CHECK-I386:     Type: Undef (0x0)
189 // CHECK-I386:     Section:  (0x0)
190 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
191 // CHECK-I386:     Flags [ (0x0)
192 // CHECK-I386:     ]
193 // CHECK-I386:     Value: 0x0
194 // CHECK-I386:   }
195 // CHECK-I386:   Symbol {
196 // CHECK-I386:     Name: d2 (18)
197 // CHECK-I386:     Extern
198 // CHECK-I386:     Type: Indirect (0xA)
199 // CHECK-I386:     Section:  (0x0)
200 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
201 // CHECK-I386:     Flags [ (0x0)
202 // CHECK-I386:     ]
203 // CHECK-I386:     Value: 0x7
204 // CHECK-I386:   }
205 // CHECK-I386:   Symbol {
206 // CHECK-I386:     Name: d3 (15)
207 // CHECK-I386:     Extern
208 // CHECK-I386:     Type: Undef (0x0)
209 // CHECK-I386:     Section:  (0x0)
210 // CHECK-I386:     RefType: UndefinedNonLazy (0x0)
211 // CHECK-I386:     Flags [ (0x0)
212 // CHECK-I386:     ]
213 // CHECK-I386:     Value: 0x0
214 // CHECK-I386:   }
215 // CHECK-I386: ]
216 // CHECK-I386: Indirect Symbols {
217 // CHECK-I386:   Number: 0
218 // CHECK-I386:   Symbols [
219 // CHECK-I386:   ]
220 // CHECK-I386: }
221 // CHECK-I386: Segment {
222 // CHECK-I386:   Cmd: LC_SEGMENT
223 // CHECK-I386:   Name: 
224 // CHECK-I386:   Size: 192
225 // CHECK-I386:   vmaddr: 0x0
226 // CHECK-I386:   vmsize: 0x39
227 // CHECK-I386:   fileoff: 340
228 // CHECK-I386:   filesize: 57
229 // CHECK-I386:   maxprot: rwx
230 // CHECK-I386:   initprot: rwx
231 // CHECK-I386:   nsects: 2
232 // CHECK-I386:   flags: 0x0
233 // CHECK-I386: }
234 // CHECK-I386: Dysymtab {
235 // CHECK-I386:   ilocalsym: 0
236 // CHECK-I386:   nlocalsym: 7
237 // CHECK-I386:   iextdefsym: 7
238 // CHECK-I386:   nextdefsym: 0
239 // CHECK-I386:   iundefsym: 7
240 // CHECK-I386:   nundefsym: 3
241 // CHECK-I386:   tocoff: 0
242 // CHECK-I386:   ntoc: 0
243 // CHECK-I386:   modtaboff: 0
244 // CHECK-I386:   nmodtab: 0
245 // CHECK-I386:   extrefsymoff: 0
246 // CHECK-I386:   nextrefsyms: 0
247 // CHECK-I386:   indirectsymoff: 0
248 // CHECK-I386:   nindirectsyms: 0
249 // CHECK-I386:   extreloff: 0
250 // CHECK-I386:   nextrel: 0
251 // CHECK-I386:   locreloff: 0
252 // CHECK-I386:   nlocrel: 0
253 // CHECK-I386: }
254
255 // CHECK-X86_64: File: <stdin>
256 // CHECK-X86_64: Format: Mach-O 64-bit x86-64
257 // CHECK-X86_64: Arch: x86_64
258 // CHECK-X86_64: AddressSize: 64bit
259 // CHECK-X86_64: MachHeader {
260 // CHECK-X86_64:   Magic: Magic64 (0xFEEDFACF)
261 // CHECK-X86_64:   CpuType: X86-64 (0x1000007)
262 // CHECK-X86_64:   CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)
263 // CHECK-X86_64:   FileType: Relocatable (0x1)
264 // CHECK-X86_64:   NumOfLoadCommands: 4
265 // CHECK-X86_64:   SizeOfLoadCommands: 352
266 // CHECK-X86_64:   Flags [ (0x0)
267 // CHECK-X86_64:   ]
268 // CHECK-X86_64:   Reserved: 0x0
269 // CHECK-X86_64: }
270 // CHECK-X86_64: Sections [
271 // CHECK-X86_64:   Section {
272 // CHECK-X86_64:     Index: 0
273 // CHECK-X86_64:     Name: __text (5F 5F 74 65 78 74 00 00 00 00 00 00 00 00 00 00)
274 // CHECK-X86_64:     Segment: __TEXT (5F 5F 54 45 58 54 00 00 00 00 00 00 00 00 00 00)
275 // CHECK-X86_64:     Address: 0x0
276 // CHECK-X86_64:     Size: 0x1
277 // CHECK-X86_64:     Offset: 384
278 // CHECK-X86_64:     Alignment: 0
279 // CHECK-X86_64:     RelocationOffset: 0x0
280 // CHECK-X86_64:     RelocationCount: 0
281 // CHECK-X86_64:     Type: 0x0
282 // CHECK-X86_64:     Attributes [ (0x800004)
283 // CHECK-X86_64:       PureInstructions (0x800000)
284 // CHECK-X86_64:       SomeInstructions (0x4)
285 // CHECK-X86_64:     ]
286 // CHECK-X86_64:     Reserved1: 0x0
287 // CHECK-X86_64:     Reserved2: 0x0
288 // CHECK-X86_64:     Reserved3: 0x0
289 // CHECK-X86_64:     SectionData (
290 // CHECK-X86_64:       0000: C3                                   |.|
291 // CHECK-X86_64:     )
292 // CHECK-X86_64:   }
293 // CHECK-X86_64:   Section {
294 // CHECK-X86_64:     Index: 1
295 // CHECK-X86_64:     Name: __data (5F 5F 64 61 74 61 00 00 00 00 00 00 00 00 00 00)
296 // CHECK-X86_64:     Segment: __DATA (5F 5F 44 41 54 41 00 00 00 00 00 00 00 00 00 00)
297 // CHECK-X86_64:     Address: 0x1
298 // CHECK-X86_64:     Size: 0x38
299 // CHECK-X86_64:     Offset: 385
300 // CHECK-X86_64:     Alignment: 0
301 // CHECK-X86_64:     RelocationOffset: 0x1BC
302 // CHECK-X86_64:     RelocationCount: 9
303 // CHECK-X86_64:     Type: 0x0
304 // CHECK-X86_64:     Attributes [ (0x0)
305 // CHECK-X86_64:     ]
306 // CHECK-X86_64:     Reserved1: 0x0
307 // CHECK-X86_64:     Reserved2: 0x0
308 // CHECK-X86_64:     Reserved3: 0x0
309 // CHECK-X86_64:     SectionData (
310 // CHECK-X86_64:       0000: 00000000 00000000 00000000 00000000  |................|
311 // CHECK-X86_64:       0010: 00000000 00000000 04000000 00000000  |................|
312 // CHECK-X86_64:       0020: 00000000 00000000 00000000 00000000  |................|
313 // CHECK-X86_64:       0030: CFFFFFFF FFFFFFFF                    |........|
314 // CHECK-X86_64:     )
315 // CHECK-X86_64:   }
316 // CHECK-X86_64: ]
317 // CHECK-X86_64: Relocations [
318 // CHECK-X86_64:   Section __data {
319 // CHECK-X86_64:     0x2C 0 2 1 X86_64_RELOC_UNSIGNED 0 g
320 // CHECK-X86_64:     0x28 0 2 1 X86_64_RELOC_UNSIGNED 0 f
321 // CHECK-X86_64:     0x24 0 2 1 X86_64_RELOC_UNSIGNED 0 d3
322 // CHECK-X86_64:     0x20 0 2 1 X86_64_RELOC_UNSIGNED 0 d2
323 // CHECK-X86_64:     0x1C 0 2 1 X86_64_RELOC_UNSIGNED 0 d
324 // CHECK-X86_64:     0x18 0 2 1 X86_64_RELOC_UNSIGNED 0 a
325 // CHECK-X86_64:     0x14 0 2 1 X86_64_RELOC_UNSIGNED 0 e
326 // CHECK-X86_64:     0x10 0 2 1 X86_64_RELOC_UNSIGNED 0 b
327 // CHECK-X86_64:     0x8 0 2 1 X86_64_RELOC_UNSIGNED 0 b
328 // CHECK-X86_64:   }
329 // CHECK-X86_64: ]
330 // CHECK-X86_64: Symbols [
331 // CHECK-X86_64:   Symbol {
332 // CHECK-X86_64:     Name: a (13)
333 // CHECK-X86_64:     Type: Section (0xE)
334 // CHECK-X86_64:     Section: __data (0x2)
335 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
336 // CHECK-X86_64:     Flags [ (0x0)
337 // CHECK-X86_64:     ]
338 // CHECK-X86_64:     Value: 0x5
339 // CHECK-X86_64:   }
340 // CHECK-X86_64:   Symbol {
341 // CHECK-X86_64:     Name: b (11)
342 // CHECK-X86_64:     Type: Section (0xE)
343 // CHECK-X86_64:     Section: __data (0x2)
344 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
345 // CHECK-X86_64:     Flags [ (0x0)
346 // CHECK-X86_64:     ]
347 // CHECK-X86_64:     Value: 0x5
348 // CHECK-X86_64:   }
349 // CHECK-X86_64:   Symbol {
350 // CHECK-X86_64:     Name: c (9)
351 // CHECK-X86_64:     Type: Section (0xE)
352 // CHECK-X86_64:     Section: __data (0x2)
353 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
354 // CHECK-X86_64:     Flags [ (0x0)
355 // CHECK-X86_64:     ]
356 // CHECK-X86_64:     Value: 0x9
357 // CHECK-X86_64:   }
358 // CHECK-X86_64:   Symbol {
359 // CHECK-X86_64:     Name: e (5)
360 // CHECK-X86_64:     Type: Section (0xE)
361 // CHECK-X86_64:     Section: __data (0x2)
362 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
363 // CHECK-X86_64:     Flags [ (0x0)
364 // CHECK-X86_64:     ]
365 // CHECK-X86_64:     Value: 0x9
366 // CHECK-X86_64:   }
367 // CHECK-X86_64:   Symbol {
368 // CHECK-X86_64:     Name: g (1)
369 // CHECK-X86_64:     Type: Section (0xE)
370 // CHECK-X86_64:     Section: __data (0x2)
371 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
372 // CHECK-X86_64:     Flags [ (0x0)
373 // CHECK-X86_64:     ]
374 // CHECK-X86_64:     Value: 0xD
375 // CHECK-X86_64:   }
376 // CHECK-X86_64:   Symbol {
377 // CHECK-X86_64:     Name: f (3)
378 // CHECK-X86_64:     Type: Section (0xE)
379 // CHECK-X86_64:     Section: __data (0x2)
380 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
381 // CHECK-X86_64:     Flags [ (0x0)
382 // CHECK-X86_64:     ]
383 // CHECK-X86_64:     Value: 0xD
384 // CHECK-X86_64:   }
385 // CHECK-X86_64:   Symbol {
386 // CHECK-X86_64:     Name: t0 (21)
387 // CHECK-X86_64:     Type: Section (0xE)
388 // CHECK-X86_64:     Section: __text (0x1)
389 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
390 // CHECK-X86_64:     Flags [ (0x0)
391 // CHECK-X86_64:     ]
392 // CHECK-X86_64:     Value: 0x0
393 // CHECK-X86_64:   }
394 // CHECK-X86_64:   Symbol {
395 // CHECK-X86_64:     Name: d (7)
396 // CHECK-X86_64:     Extern
397 // CHECK-X86_64:     Type: Undef (0x0)
398 // CHECK-X86_64:     Section:  (0x0)
399 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
400 // CHECK-X86_64:     Flags [ (0x0)
401 // CHECK-X86_64:     ]
402 // CHECK-X86_64:     Value: 0x0
403 // CHECK-X86_64:   }
404 // CHECK-X86_64:   Symbol {
405 // CHECK-X86_64:     Name: d2 (18)
406 // CHECK-X86_64:     Extern
407 // CHECK-X86_64:     Type: Indirect (0xA)
408 // CHECK-X86_64:     Section:  (0x0)
409 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
410 // CHECK-X86_64:     Flags [ (0x0)
411 // CHECK-X86_64:     ]
412 // CHECK-X86_64:     Value: 0x7
413 // CHECK-X86_64:   }
414 // CHECK-X86_64:   Symbol {
415 // CHECK-X86_64:     Name: d3 (15)
416 // CHECK-X86_64:     Extern
417 // CHECK-X86_64:     Type: Undef (0x0)
418 // CHECK-X86_64:     Section:  (0x0)
419 // CHECK-X86_64:     RefType: UndefinedNonLazy (0x0)
420 // CHECK-X86_64:     Flags [ (0x0)
421 // CHECK-X86_64:     ]
422 // CHECK-X86_64:     Value: 0x0
423 // CHECK-X86_64:   }
424 // CHECK-X86_64: ]
425 // CHECK-X86_64: Indirect Symbols {
426 // CHECK-X86_64:   Number: 0
427 // CHECK-X86_64:   Symbols [
428 // CHECK-X86_64:   ]
429 // CHECK-X86_64: }
430 // CHECK-X86_64: Segment {
431 // CHECK-X86_64:   Cmd: LC_SEGMENT_64
432 // CHECK-X86_64:   Name: 
433 // CHECK-X86_64:   Size: 232
434 // CHECK-X86_64:   vmaddr: 0x0
435 // CHECK-X86_64:   vmsize: 0x39
436 // CHECK-X86_64:   fileoff: 384
437 // CHECK-X86_64:   filesize: 57
438 // CHECK-X86_64:   maxprot: rwx
439 // CHECK-X86_64:   initprot: rwx
440 // CHECK-X86_64:   nsects: 2
441 // CHECK-X86_64:   flags: 0x0
442 // CHECK-X86_64: }
443 // CHECK-X86_64: Dysymtab {
444 // CHECK-X86_64:   ilocalsym: 0
445 // CHECK-X86_64:   nlocalsym: 7
446 // CHECK-X86_64:   iextdefsym: 7
447 // CHECK-X86_64:   nextdefsym: 0
448 // CHECK-X86_64:   iundefsym: 7
449 // CHECK-X86_64:   nundefsym: 3
450 // CHECK-X86_64:   tocoff: 0
451 // CHECK-X86_64:   ntoc: 0
452 // CHECK-X86_64:   modtaboff: 0
453 // CHECK-X86_64:   nmodtab: 0
454 // CHECK-X86_64:   extrefsymoff: 0
455 // CHECK-X86_64:   nextrefsyms: 0
456 // CHECK-X86_64:   indirectsymoff: 0
457 // CHECK-X86_64:   nindirectsyms: 0
458 // CHECK-X86_64:   extreloff: 0
459 // CHECK-X86_64:   nextrel: 0
460 // CHECK-X86_64:   locreloff: 0
461 // CHECK-X86_64:   nlocrel: 0
462 // CHECK-X86_64: }