1 ; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc-ibm-aix-xcoff -mattr=-altivec \
2 ; RUN: -xcoff-traceback-table=false -data-sections=false -filetype=obj -o %t.o < %s
3 ; RUN: llvm-readobj --section-headers --file-header %t.o | \
4 ; RUN: FileCheck --check-prefix=OBJ %s
5 ; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck --check-prefix=RELOC %s
6 ; RUN: llvm-readobj --syms %t.o | FileCheck --check-prefix=SYM %s
7 ; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s
8 ; RUN: llvm-objdump -r %t.o | FileCheck --check-prefix=DIS_REL %s
10 ; RUN: not --crash llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -mattr=-altivec -data-sections=false -filetype=obj < %s 2>&1 | \
11 ; RUN: FileCheck --check-prefix=XCOFF64 %s
12 ; XCOFF64: LLVM ERROR: 64-bit XCOFF object files are not supported yet.
14 @globalA = global i32 1, align 4
15 @globalB = global i32 2, align 4
16 @arr = global <{ i32, [9 x i32] }> <{ i32 3, [9 x i32] zeroinitializer }>, align 4
17 @p = global i32* bitcast (i8* getelementptr (i8, i8* bitcast (<{ i32, [9 x i32] }>* @arr to i8*), i64 16) to i32*), align 4
21 %call = call i32 @bar(i32 1)
22 %0 = load i32, i32* @globalA, align 4
23 %add = add nsw i32 %call, %0
24 %1 = load i32, i32* @globalB, align 4
25 %add1 = add nsw i32 %add, %1
31 ; OBJ: File: {{.*}}aix-xcoff-reloc.ll.tmp.o
32 ; OBJ-NEXT: Format: aixcoff-rs6000
33 ; OBJ-NEXT: Arch: powerpc
34 ; OBJ-NEXT: AddressSize: 32bit
35 ; OBJ-NEXT: FileHeader {
36 ; OBJ-NEXT: Magic: 0x1DF
37 ; OBJ-NEXT: NumberOfSections: 2
38 ; OBJ-NEXT: TimeStamp: None (0x0)
39 ; OBJ-NEXT: SymbolTableOffset: 0x13C
40 ; OBJ-NEXT: SymbolTableEntries: 27
41 ; OBJ-NEXT: OptionalHeaderSize: 0x0
42 ; OBJ-NEXT: Flags: 0x0
44 ; OBJ-NEXT: Sections [
47 ; OBJ-NEXT: Name: .text
48 ; OBJ-NEXT: PhysicalAddress: 0x0
49 ; OBJ-NEXT: VirtualAddress: 0x0
50 ; OBJ-NEXT: Size: 0x40
51 ; OBJ-NEXT: RawDataOffset: 0x64
52 ; OBJ-NEXT: RelocationPointer: 0xEC
53 ; OBJ-NEXT: LineNumberPointer: 0x0
54 ; OBJ-NEXT: NumberOfRelocations: 3
55 ; OBJ-NEXT: NumberOfLineNumbers: 0
56 ; OBJ-NEXT: Type: STYP_TEXT (0x20)
60 ; OBJ-NEXT: Name: .data
61 ; OBJ-NEXT: PhysicalAddress: 0x40
62 ; OBJ-NEXT: VirtualAddress: 0x40
63 ; OBJ-NEXT: Size: 0x48
64 ; OBJ-NEXT: RawDataOffset: 0xA4
65 ; OBJ-NEXT: RelocationPointer: 0x10A
66 ; OBJ-NEXT: LineNumberPointer: 0x0
67 ; OBJ-NEXT: NumberOfRelocations: 5
68 ; OBJ-NEXT: NumberOfLineNumbers: 0
69 ; OBJ-NEXT: Type: STYP_DATA (0x40)
74 ; RELOC: File: {{.*}}aix-xcoff-reloc.ll.tmp.o
75 ; RELOC-NEXT: Format: aixcoff-rs6000
76 ; RELOC-NEXT: Arch: powerpc
77 ; RELOC-NEXT: AddressSize: 32bit
78 ; RELOC-NEXT: Relocations [
79 ; RELOC-NEXT: Section (index: 1) .text {
80 ; RELOC-NEXT: Relocation {
81 ; RELOC-NEXT: Virtual Address: 0x10
82 ; RELOC-NEXT: Symbol: .bar (1)
83 ; RELOC-NEXT: IsSigned: Yes
84 ; RELOC-NEXT: FixupBitValue: 0
85 ; RELOC-NEXT: Length: 26
86 ; RELOC-NEXT: Type: R_RBR (0x1A)
88 ; RELOC-NEXT: Relocation {
89 ; RELOC-NEXT: Virtual Address: 0x1A
90 ; RELOC-NEXT: Symbol: globalA (23)
91 ; RELOC-NEXT: IsSigned: No
92 ; RELOC-NEXT: FixupBitValue: 0
93 ; RELOC-NEXT: Length: 16
94 ; RELOC-NEXT: Type: R_TOC (0x3)
96 ; RELOC-NEXT: Relocation {
97 ; RELOC-NEXT: Virtual Address: 0x1E
98 ; RELOC-NEXT: Symbol: globalB (25)
99 ; RELOC-NEXT: IsSigned: No
100 ; RELOC-NEXT: FixupBitValue: 0
101 ; RELOC-NEXT: Length: 16
102 ; RELOC-NEXT: Type: R_TOC (0x3)
105 ; RELOC-NEXT: Section (index: 2) .data {
106 ; RELOC-NEXT: Relocation {
107 ; RELOC-NEXT: Virtual Address: 0x70
108 ; RELOC-NEXT: Symbol: arr (15)
109 ; RELOC-NEXT: IsSigned: No
110 ; RELOC-NEXT: FixupBitValue: 0
111 ; RELOC-NEXT: Length: 32
112 ; RELOC-NEXT: Type: R_POS (0x0)
114 ; RELOC-NEXT: Relocation {
115 ; RELOC-NEXT: Virtual Address: 0x74
116 ; RELOC-NEXT: Symbol: .foo (7)
117 ; RELOC-NEXT: IsSigned: No
118 ; RELOC-NEXT: FixupBitValue: 0
119 ; RELOC-NEXT: Length: 32
120 ; RELOC-NEXT: Type: R_POS (0x0)
122 ; RELOC-NEXT: Relocation {
123 ; RELOC-NEXT: Virtual Address: 0x78
124 ; RELOC-NEXT: Symbol: TOC (21)
125 ; RELOC-NEXT: IsSigned: No
126 ; RELOC-NEXT: FixupBitValue: 0
127 ; RELOC-NEXT: Length: 32
128 ; RELOC-NEXT: Type: R_POS (0x0)
130 ; RELOC-NEXT: Relocation {
131 ; RELOC-NEXT: Virtual Address: 0x80
132 ; RELOC-NEXT: Symbol: globalA (11)
133 ; RELOC-NEXT: IsSigned: No
134 ; RELOC-NEXT: FixupBitValue: 0
135 ; RELOC-NEXT: Length: 32
136 ; RELOC-NEXT: Type: R_POS (0x0)
138 ; RELOC-NEXT: Relocation {
139 ; RELOC-NEXT: Virtual Address: 0x84
140 ; RELOC-NEXT: Symbol: globalB (13)
141 ; RELOC-NEXT: IsSigned: No
142 ; RELOC-NEXT: FixupBitValue: 0
143 ; RELOC-NEXT: Length: 32
144 ; RELOC-NEXT: Type: R_POS (0x0)
152 ; SYM-NEXT: Name: .file
153 ; SYM-NEXT: Value (SymbolTableIndex): 0x0
154 ; SYM-NEXT: Section: N_DEBUG
155 ; SYM-NEXT: Source Language ID: TB_C (0x0)
156 ; SYM-NEXT: CPU Version ID: 0x0
157 ; SYM-NEXT: StorageClass: C_FILE (0x67)
158 ; SYM-NEXT: NumberOfAuxEntries: 0
161 ; SYM-NEXT: Index: [[#INDX:]]
162 ; SYM-NEXT: Name: .bar
163 ; SYM-NEXT: Value (RelocatableAddress): 0x0
164 ; SYM-NEXT: Section: N_UNDEF
165 ; SYM-NEXT: Type: 0x0
166 ; SYM-NEXT: StorageClass: C_EXT (0x2)
167 ; SYM-NEXT: NumberOfAuxEntries: 1
168 ; SYM-NEXT: CSECT Auxiliary Entry {
169 ; SYM-NEXT: Index: [[#INDX+1]]
170 ; SYM-NEXT: SectionLen: 0
171 ; SYM-NEXT: ParameterHashIndex: 0x0
172 ; SYM-NEXT: TypeChkSectNum: 0x0
173 ; SYM-NEXT: SymbolAlignmentLog2: 0
174 ; SYM-NEXT: SymbolType: XTY_ER (0x0)
175 ; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)
176 ; SYM-NEXT: StabInfoIndex: 0x0
177 ; SYM-NEXT: StabSectNum: 0x0
181 ; SYM-NEXT: Index: [[#INDX+2]]
182 ; SYM-NEXT: Name: bar
183 ; SYM-NEXT: Value (RelocatableAddress): 0x0
184 ; SYM-NEXT: Section: N_UNDEF
185 ; SYM-NEXT: Type: 0x0
186 ; SYM-NEXT: StorageClass: C_EXT (0x2)
187 ; SYM-NEXT: NumberOfAuxEntries: 1
188 ; SYM-NEXT: CSECT Auxiliary Entry {
189 ; SYM-NEXT: Index: [[#INDX+3]]
190 ; SYM-NEXT: SectionLen: 0
191 ; SYM-NEXT: ParameterHashIndex: 0x0
192 ; SYM-NEXT: TypeChkSectNum: 0x0
193 ; SYM-NEXT: SymbolAlignmentLog2: 0
194 ; SYM-NEXT: SymbolType: XTY_ER (0x0)
195 ; SYM-NEXT: StorageMappingClass: XMC_DS (0xA)
196 ; SYM-NEXT: StabInfoIndex: 0x0
197 ; SYM-NEXT: StabSectNum: 0x0
201 ; SYM-NEXT: Index: [[#INDX+4]]
202 ; SYM-NEXT: Name: .text
203 ; SYM-NEXT: Value (RelocatableAddress): 0x0
204 ; SYM-NEXT: Section: .text
205 ; SYM-NEXT: Type: 0x0
206 ; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
207 ; SYM-NEXT: NumberOfAuxEntries: 1
208 ; SYM-NEXT: CSECT Auxiliary Entry {
209 ; SYM-NEXT: Index: [[#INDX+5]]
210 ; SYM-NEXT: SectionLen: 64
211 ; SYM-NEXT: ParameterHashIndex: 0x0
212 ; SYM-NEXT: TypeChkSectNum: 0x0
213 ; SYM-NEXT: SymbolAlignmentLog2: 4
214 ; SYM-NEXT: SymbolType: XTY_SD (0x1)
215 ; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)
216 ; SYM-NEXT: StabInfoIndex: 0x0
217 ; SYM-NEXT: StabSectNum: 0x0
221 ; SYM-NEXT: Index: [[#INDX+6]]
222 ; SYM-NEXT: Name: .foo
223 ; SYM-NEXT: Value (RelocatableAddress): 0x0
224 ; SYM-NEXT: Section: .text
225 ; SYM-NEXT: Type: 0x0
226 ; SYM-NEXT: StorageClass: C_EXT (0x2)
227 ; SYM-NEXT: NumberOfAuxEntries: 1
228 ; SYM-NEXT: CSECT Auxiliary Entry {
229 ; SYM-NEXT: Index: [[#INDX+7]]
230 ; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+4]]
231 ; SYM-NEXT: ParameterHashIndex: 0x0
232 ; SYM-NEXT: TypeChkSectNum: 0x0
233 ; SYM-NEXT: SymbolAlignmentLog2: 0
234 ; SYM-NEXT: SymbolType: XTY_LD (0x2)
235 ; SYM-NEXT: StorageMappingClass: XMC_PR (0x0)
236 ; SYM-NEXT: StabInfoIndex: 0x0
237 ; SYM-NEXT: StabSectNum: 0x0
241 ; SYM-NEXT: Index: [[#INDX+8]]
242 ; SYM-NEXT: Name: .data
243 ; SYM-NEXT: Value (RelocatableAddress): 0x40
244 ; SYM-NEXT: Section: .data
245 ; SYM-NEXT: Type: 0x0
246 ; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
247 ; SYM-NEXT: NumberOfAuxEntries: 1
248 ; SYM-NEXT: CSECT Auxiliary Entry {
249 ; SYM-NEXT: Index: [[#INDX+9]]
250 ; SYM-NEXT: SectionLen: 52
251 ; SYM-NEXT: ParameterHashIndex: 0x0
252 ; SYM-NEXT: TypeChkSectNum: 0x0
253 ; SYM-NEXT: SymbolAlignmentLog2: 2
254 ; SYM-NEXT: SymbolType: XTY_SD (0x1)
255 ; SYM-NEXT: StorageMappingClass: XMC_RW (0x5)
256 ; SYM-NEXT: StabInfoIndex: 0x0
257 ; SYM-NEXT: StabSectNum: 0x0
261 ; SYM-NEXT: Index: [[#INDX+10]]
262 ; SYM-NEXT: Name: globalA
263 ; SYM-NEXT: Value (RelocatableAddress): 0x40
264 ; SYM-NEXT: Section: .data
265 ; SYM-NEXT: Type: 0x0
266 ; SYM-NEXT: StorageClass: C_EXT (0x2)
267 ; SYM-NEXT: NumberOfAuxEntries: 1
268 ; SYM-NEXT: CSECT Auxiliary Entry {
269 ; SYM-NEXT: Index: [[#INDX+11]]
270 ; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+8]]
271 ; SYM-NEXT: ParameterHashIndex: 0x0
272 ; SYM-NEXT: TypeChkSectNum: 0x0
273 ; SYM-NEXT: SymbolAlignmentLog2: 0
274 ; SYM-NEXT: SymbolType: XTY_LD (0x2)
275 ; SYM-NEXT: StorageMappingClass: XMC_RW (0x5)
276 ; SYM-NEXT: StabInfoIndex: 0x0
277 ; SYM-NEXT: StabSectNum: 0x0
281 ; SYM-NEXT: Index: [[#INDX+12]]
282 ; SYM-NEXT: Name: globalB
283 ; SYM-NEXT: Value (RelocatableAddress): 0x44
284 ; SYM-NEXT: Section: .data
285 ; SYM-NEXT: Type: 0x0
286 ; SYM-NEXT: StorageClass: C_EXT (0x2)
287 ; SYM-NEXT: NumberOfAuxEntries: 1
288 ; SYM-NEXT: CSECT Auxiliary Entry {
289 ; SYM-NEXT: Index: [[#INDX+13]]
290 ; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+8]]
291 ; SYM-NEXT: ParameterHashIndex: 0x0
292 ; SYM-NEXT: TypeChkSectNum: 0x0
293 ; SYM-NEXT: SymbolAlignmentLog2: 0
294 ; SYM-NEXT: SymbolType: XTY_LD (0x2)
295 ; SYM-NEXT: StorageMappingClass: XMC_RW (0x5)
296 ; SYM-NEXT: StabInfoIndex: 0x0
297 ; SYM-NEXT: StabSectNum: 0x0
301 ; SYM-NEXT: Index: [[#INDX+14]]
302 ; SYM-NEXT: Name: arr
303 ; SYM-NEXT: Value (RelocatableAddress): 0x48
304 ; SYM-NEXT: Section: .data
305 ; SYM-NEXT: Type: 0x0
306 ; SYM-NEXT: StorageClass: C_EXT (0x2)
307 ; SYM-NEXT: NumberOfAuxEntries: 1
308 ; SYM-NEXT: CSECT Auxiliary Entry {
309 ; SYM-NEXT: Index: [[#INDX+15]]
310 ; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+8]]
311 ; SYM-NEXT: ParameterHashIndex: 0x0
312 ; SYM-NEXT: TypeChkSectNum: 0x0
313 ; SYM-NEXT: SymbolAlignmentLog2: 0
314 ; SYM-NEXT: SymbolType: XTY_LD (0x2)
315 ; SYM-NEXT: StorageMappingClass: XMC_RW (0x5)
316 ; SYM-NEXT: StabInfoIndex: 0x0
317 ; SYM-NEXT: StabSectNum: 0x0
321 ; SYM-NEXT: Index: [[#INDX+16]]
323 ; SYM-NEXT: Value (RelocatableAddress): 0x70
324 ; SYM-NEXT: Section: .data
325 ; SYM-NEXT: Type: 0x0
326 ; SYM-NEXT: StorageClass: C_EXT (0x2)
327 ; SYM-NEXT: NumberOfAuxEntries: 1
328 ; SYM-NEXT: CSECT Auxiliary Entry {
329 ; SYM-NEXT: Index: [[#INDX+17]]
330 ; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+8]]
331 ; SYM-NEXT: ParameterHashIndex: 0x0
332 ; SYM-NEXT: TypeChkSectNum: 0x0
333 ; SYM-NEXT: SymbolAlignmentLog2: 0
334 ; SYM-NEXT: SymbolType: XTY_LD (0x2)
335 ; SYM-NEXT: StorageMappingClass: XMC_RW (0x5)
336 ; SYM-NEXT: StabInfoIndex: 0x0
337 ; SYM-NEXT: StabSectNum: 0x0
341 ; SYM-NEXT: Index: [[#INDX+18]]
342 ; SYM-NEXT: Name: foo
343 ; SYM-NEXT: Value (RelocatableAddress): 0x74
344 ; SYM-NEXT: Section: .data
345 ; SYM-NEXT: Type: 0x0
346 ; SYM-NEXT: StorageClass: C_EXT (0x2)
347 ; SYM-NEXT: NumberOfAuxEntries: 1
348 ; SYM-NEXT: CSECT Auxiliary Entry {
349 ; SYM-NEXT: Index: [[#INDX+19]]
350 ; SYM-NEXT: SectionLen: 12
351 ; SYM-NEXT: ParameterHashIndex: 0x0
352 ; SYM-NEXT: TypeChkSectNum: 0x0
353 ; SYM-NEXT: SymbolAlignmentLog2: 2
354 ; SYM-NEXT: SymbolType: XTY_SD (0x1)
355 ; SYM-NEXT: StorageMappingClass: XMC_DS (0xA)
356 ; SYM-NEXT: StabInfoIndex: 0x0
357 ; SYM-NEXT: StabSectNum: 0x0
361 ; SYM-NEXT: Index: [[#INDX+20]]
362 ; SYM-NEXT: Name: TOC
363 ; SYM-NEXT: Value (RelocatableAddress): 0x80
364 ; SYM-NEXT: Section: .data
365 ; SYM-NEXT: Type: 0x0
366 ; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
367 ; SYM-NEXT: NumberOfAuxEntries: 1
368 ; SYM-NEXT: CSECT Auxiliary Entry {
369 ; SYM-NEXT: Index: [[#INDX+21]]
370 ; SYM-NEXT: SectionLen: 0
371 ; SYM-NEXT: ParameterHashIndex: 0x0
372 ; SYM-NEXT: TypeChkSectNum: 0x0
373 ; SYM-NEXT: SymbolAlignmentLog2: 2
374 ; SYM-NEXT: SymbolType: XTY_SD (0x1)
375 ; SYM-NEXT: StorageMappingClass: XMC_TC0 (0xF)
376 ; SYM-NEXT: StabInfoIndex: 0x0
377 ; SYM-NEXT: StabSectNum: 0x0
381 ; SYM-NEXT: Index: [[#INDX+22]]
382 ; SYM-NEXT: Name: globalA
383 ; SYM-NEXT: Value (RelocatableAddress): 0x80
384 ; SYM-NEXT: Section: .data
385 ; SYM-NEXT: Type: 0x0
386 ; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
387 ; SYM-NEXT: NumberOfAuxEntries: 1
388 ; SYM-NEXT: CSECT Auxiliary Entry {
389 ; SYM-NEXT: Index: [[#INDX+23]]
390 ; SYM-NEXT: SectionLen: 4
391 ; SYM-NEXT: ParameterHashIndex: 0x0
392 ; SYM-NEXT: TypeChkSectNum: 0x0
393 ; SYM-NEXT: SymbolAlignmentLog2: 2
394 ; SYM-NEXT: SymbolType: XTY_SD (0x1)
395 ; SYM-NEXT: StorageMappingClass: XMC_TC (0x3)
396 ; SYM-NEXT: StabInfoIndex: 0x0
397 ; SYM-NEXT: StabSectNum: 0x0
401 ; SYM-NEXT: Index: [[#INDX+24]]
402 ; SYM-NEXT: Name: globalB
403 ; SYM-NEXT: Value (RelocatableAddress): 0x84
404 ; SYM-NEXT: Section: .data
405 ; SYM-NEXT: Type: 0x0
406 ; SYM-NEXT: StorageClass: C_HIDEXT (0x6B)
407 ; SYM-NEXT: NumberOfAuxEntries: 1
408 ; SYM-NEXT: CSECT Auxiliary Entry {
409 ; SYM-NEXT: Index: [[#INDX+25]]
410 ; SYM-NEXT: SectionLen: 4
411 ; SYM-NEXT: ParameterHashIndex: 0x0
412 ; SYM-NEXT: TypeChkSectNum: 0x0
413 ; SYM-NEXT: SymbolAlignmentLog2: 2
414 ; SYM-NEXT: SymbolType: XTY_SD (0x1)
415 ; SYM-NEXT: StorageMappingClass: XMC_TC (0x3)
416 ; SYM-NEXT: StabInfoIndex: 0x0
417 ; SYM-NEXT: StabSectNum: 0x0
423 ; DIS: {{.*}}aix-xcoff-reloc.ll.tmp.o: file format aixcoff-rs6000
424 ; DIS: Disassembly of section .text:
425 ; DIS: 00000000 <.text>:
426 ; DIS-NEXT: 0: 7c 08 02 a6 mflr 0
427 ; DIS-NEXT: 4: 90 01 00 08 stw 0, 8(1)
428 ; DIS-NEXT: 8: 94 21 ff c0 stwu 1, -64(1)
429 ; DIS-NEXT: c: 38 60 00 01 li 3, 1
430 ; DIS-NEXT: 10: 4b ff ff f1 bl 0x0
431 ; DIS-NEXT: 14: 60 00 00 00 nop
432 ; DIS-NEXT: 18: 80 82 00 00 lwz 4, 0(2)
433 ; DIS-NEXT: 1c: 80 a2 00 04 lwz 5, 4(2)
434 ; DIS-NEXT: 20: 80 84 00 00 lwz 4, 0(4)
435 ; DIS-NEXT: 24: 80 a5 00 00 lwz 5, 0(5)
436 ; DIS-NEXT: 28: 7c 63 22 14 add 3, 3, 4
437 ; DIS-NEXT: 2c: 7c 63 2a 14 add 3, 3, 5
438 ; DIS-NEXT: 30: 38 21 00 40 addi 1, 1, 64
439 ; DIS-NEXT: 34: 80 01 00 08 lwz 0, 8(1)
440 ; DIS-NEXT: 38: 7c 08 03 a6 mtlr 0
441 ; DIS-NEXT: 3c: 4e 80 00 20 blr
443 ; DIS: Disassembly of section .data:
444 ; DIS: 00000040 <globalA>:
445 ; DIS-NEXT: 40: 00 00 00 01 <unknown>
446 ; DIS: 00000044 <globalB>:
447 ; DIS-NEXT: 44: 00 00 00 02 <unknown>
448 ; DIS: 00000048 <arr>:
449 ; DIS-NEXT: 48: 00 00 00 03 <unknown>
452 ; DIS-NEXT: 70: 00 00 00 58 <unknown>
453 ; DIS: 00000074 <foo>:
454 ; DIS-NEXT: 74: 00 00 00 00 <unknown>
455 ; DIS-NEXT: 78: 00 00 00 80 <unknown>
456 ; DIS-NEXT: 7c: 00 00 00 00 <unknown>
457 ; DIS: 00000080 <globalA>:
458 ; DIS-NEXT: 80: 00 00 00 40 <unknown>
459 ; DIS: 00000084 <globalB>:
460 ; DIS-NEXT: 84: 00 00 00 44 <unknown>
462 ; DIS_REL: {{.*}}aix-xcoff-reloc.ll.tmp.o: file format aixcoff-rs6000
463 ; DIS_REL: RELOCATION RECORDS FOR [.text]:
464 ; DIS_REL-NEXT: OFFSET TYPE VALUE
465 ; DIS_REL-NEXT: 00000010 R_RBR .bar
466 ; DIS_REL-NEXT: 0000001a R_TOC globalA
467 ; DIS_REL-NEXT: 0000001e R_TOC globalB
468 ; DIS_REL: RELOCATION RECORDS FOR [.data]:
469 ; DIS_REL-NEXT: OFFSET TYPE VALUE
470 ; DIS_REL-NEXT: 00000030 R_POS arr
471 ; DIS_REL-NEXT: 00000034 R_POS .foo
472 ; DIS_REL-NEXT: 00000038 R_POS TOC
473 ; DIS_REL-NEXT: 00000040 R_POS globalA
474 ; DIS_REL-NEXT: 00000044 R_POS globalB