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 -t %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 9 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. 13 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 18 19define i32 @foo() { 20entry: 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 26 ret i32 %add1 27} 28 29declare i32 @bar(i32) 30 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: 26 41; OBJ-NEXT: OptionalHeaderSize: 0x0 42; OBJ-NEXT: Flags: 0x0 43; OBJ-NEXT: } 44; OBJ-NEXT: Sections [ 45; OBJ-NEXT: Section { 46; OBJ-NEXT: Index: 1 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) 57; OBJ-NEXT: } 58; OBJ-NEXT: Section { 59; OBJ-NEXT: Index: 2 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) 70; OBJ-NEXT: } 71; OBJ-NEXT: ] 72 73 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 (0) 83; RELOC-NEXT: IsSigned: Yes 84; RELOC-NEXT: FixupBitValue: 0 85; RELOC-NEXT: Length: 26 86; RELOC-NEXT: Type: R_RBR (0x1A) 87; RELOC-NEXT: } 88; RELOC-NEXT: Relocation { 89; RELOC-NEXT: Virtual Address: 0x1A 90; RELOC-NEXT: Symbol: globalA (22) 91; RELOC-NEXT: IsSigned: No 92; RELOC-NEXT: FixupBitValue: 0 93; RELOC-NEXT: Length: 16 94; RELOC-NEXT: Type: R_TOC (0x3) 95; RELOC-NEXT: } 96; RELOC-NEXT: Relocation { 97; RELOC-NEXT: Virtual Address: 0x1E 98; RELOC-NEXT: Symbol: globalB (24) 99; RELOC-NEXT: IsSigned: No 100; RELOC-NEXT: FixupBitValue: 0 101; RELOC-NEXT: Length: 16 102; RELOC-NEXT: Type: R_TOC (0x3) 103; RELOC-NEXT: } 104; RELOC-NEXT: } 105; RELOC-NEXT: Section (index: 2) .data { 106; RELOC-NEXT: Relocation { 107; RELOC-NEXT: Virtual Address: 0x70 108; RELOC-NEXT: Symbol: arr (14) 109; RELOC-NEXT: IsSigned: No 110; RELOC-NEXT: FixupBitValue: 0 111; RELOC-NEXT: Length: 32 112; RELOC-NEXT: Type: R_POS (0x0) 113; RELOC-NEXT: } 114; RELOC-NEXT: Relocation { 115; RELOC-NEXT: Virtual Address: 0x74 116; RELOC-NEXT: Symbol: .foo (6) 117; RELOC-NEXT: IsSigned: No 118; RELOC-NEXT: FixupBitValue: 0 119; RELOC-NEXT: Length: 32 120; RELOC-NEXT: Type: R_POS (0x0) 121; RELOC-NEXT: } 122; RELOC-NEXT: Relocation { 123; RELOC-NEXT: Virtual Address: 0x78 124; RELOC-NEXT: Symbol: TOC (20) 125; RELOC-NEXT: IsSigned: No 126; RELOC-NEXT: FixupBitValue: 0 127; RELOC-NEXT: Length: 32 128; RELOC-NEXT: Type: R_POS (0x0) 129; RELOC-NEXT: } 130; RELOC-NEXT: Relocation { 131; RELOC-NEXT: Virtual Address: 0x80 132; RELOC-NEXT: Symbol: globalA (10) 133; RELOC-NEXT: IsSigned: No 134; RELOC-NEXT: FixupBitValue: 0 135; RELOC-NEXT: Length: 32 136; RELOC-NEXT: Type: R_POS (0x0) 137; RELOC-NEXT: } 138; RELOC-NEXT: Relocation { 139; RELOC-NEXT: Virtual Address: 0x84 140; RELOC-NEXT: Symbol: globalB (12) 141; RELOC-NEXT: IsSigned: No 142; RELOC-NEXT: FixupBitValue: 0 143; RELOC-NEXT: Length: 32 144; RELOC-NEXT: Type: R_POS (0x0) 145; RELOC-NEXT: } 146; RELOC-NEXT: } 147; RELOC-NEXT: ] 148 149; SYM: Symbols [ 150; SYM-NEXT: Symbol { 151; SYM-NEXT: Index: 0 152; SYM-NEXT: Name: .bar 153; SYM-NEXT: Value (RelocatableAddress): 0x0 154; SYM-NEXT: Section: N_UNDEF 155; SYM-NEXT: Type: 0x0 156; SYM-NEXT: StorageClass: C_EXT (0x2) 157; SYM-NEXT: NumberOfAuxEntries: 1 158; SYM-NEXT: CSECT Auxiliary Entry { 159; SYM-NEXT: Index: 1 160; SYM-NEXT: SectionLen: 0 161; SYM-NEXT: ParameterHashIndex: 0x0 162; SYM-NEXT: TypeChkSectNum: 0x0 163; SYM-NEXT: SymbolAlignmentLog2: 0 164; SYM-NEXT: SymbolType: XTY_ER (0x0) 165; SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 166; SYM-NEXT: StabInfoIndex: 0x0 167; SYM-NEXT: StabSectNum: 0x0 168; SYM-NEXT: } 169; SYM-NEXT: } 170; SYM-NEXT: Symbol { 171; SYM-NEXT: Index: 2 172; SYM-NEXT: Name: bar 173; SYM-NEXT: Value (RelocatableAddress): 0x0 174; SYM-NEXT: Section: N_UNDEF 175; SYM-NEXT: Type: 0x0 176; SYM-NEXT: StorageClass: C_EXT (0x2) 177; SYM-NEXT: NumberOfAuxEntries: 1 178; SYM-NEXT: CSECT Auxiliary Entry { 179; SYM-NEXT: Index: 3 180; SYM-NEXT: SectionLen: 0 181; SYM-NEXT: ParameterHashIndex: 0x0 182; SYM-NEXT: TypeChkSectNum: 0x0 183; SYM-NEXT: SymbolAlignmentLog2: 0 184; SYM-NEXT: SymbolType: XTY_ER (0x0) 185; SYM-NEXT: StorageMappingClass: XMC_DS (0xA) 186; SYM-NEXT: StabInfoIndex: 0x0 187; SYM-NEXT: StabSectNum: 0x0 188; SYM-NEXT: } 189; SYM-NEXT: } 190; SYM-NEXT: Symbol { 191; SYM-NEXT: Index: 4 192; SYM-NEXT: Name: .text 193; SYM-NEXT: Value (RelocatableAddress): 0x0 194; SYM-NEXT: Section: .text 195; SYM-NEXT: Type: 0x0 196; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 197; SYM-NEXT: NumberOfAuxEntries: 1 198; SYM-NEXT: CSECT Auxiliary Entry { 199; SYM-NEXT: Index: 5 200; SYM-NEXT: SectionLen: 64 201; SYM-NEXT: ParameterHashIndex: 0x0 202; SYM-NEXT: TypeChkSectNum: 0x0 203; SYM-NEXT: SymbolAlignmentLog2: 4 204; SYM-NEXT: SymbolType: XTY_SD (0x1) 205; SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 206; SYM-NEXT: StabInfoIndex: 0x0 207; SYM-NEXT: StabSectNum: 0x0 208; SYM-NEXT: } 209; SYM-NEXT: } 210; SYM-NEXT: Symbol { 211; SYM-NEXT: Index: 6 212; SYM-NEXT: Name: .foo 213; SYM-NEXT: Value (RelocatableAddress): 0x0 214; SYM-NEXT: Section: .text 215; SYM-NEXT: Type: 0x0 216; SYM-NEXT: StorageClass: C_EXT (0x2) 217; SYM-NEXT: NumberOfAuxEntries: 1 218; SYM-NEXT: CSECT Auxiliary Entry { 219; SYM-NEXT: Index: 7 220; SYM-NEXT: ContainingCsectSymbolIndex: 4 221; SYM-NEXT: ParameterHashIndex: 0x0 222; SYM-NEXT: TypeChkSectNum: 0x0 223; SYM-NEXT: SymbolAlignmentLog2: 0 224; SYM-NEXT: SymbolType: XTY_LD (0x2) 225; SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 226; SYM-NEXT: StabInfoIndex: 0x0 227; SYM-NEXT: StabSectNum: 0x0 228; SYM-NEXT: } 229; SYM-NEXT: } 230; SYM-NEXT: Symbol { 231; SYM-NEXT: Index: 8 232; SYM-NEXT: Name: .data 233; SYM-NEXT: Value (RelocatableAddress): 0x40 234; SYM-NEXT: Section: .data 235; SYM-NEXT: Type: 0x0 236; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 237; SYM-NEXT: NumberOfAuxEntries: 1 238; SYM-NEXT: CSECT Auxiliary Entry { 239; SYM-NEXT: Index: 9 240; SYM-NEXT: SectionLen: 52 241; SYM-NEXT: ParameterHashIndex: 0x0 242; SYM-NEXT: TypeChkSectNum: 0x0 243; SYM-NEXT: SymbolAlignmentLog2: 2 244; SYM-NEXT: SymbolType: XTY_SD (0x1) 245; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 246; SYM-NEXT: StabInfoIndex: 0x0 247; SYM-NEXT: StabSectNum: 0x0 248; SYM-NEXT: } 249; SYM-NEXT: } 250; SYM-NEXT: Symbol { 251; SYM-NEXT: Index: 10 252; SYM-NEXT: Name: globalA 253; SYM-NEXT: Value (RelocatableAddress): 0x40 254; SYM-NEXT: Section: .data 255; SYM-NEXT: Type: 0x0 256; SYM-NEXT: StorageClass: C_EXT (0x2) 257; SYM-NEXT: NumberOfAuxEntries: 1 258; SYM-NEXT: CSECT Auxiliary Entry { 259; SYM-NEXT: Index: 11 260; SYM-NEXT: ContainingCsectSymbolIndex: 8 261; SYM-NEXT: ParameterHashIndex: 0x0 262; SYM-NEXT: TypeChkSectNum: 0x0 263; SYM-NEXT: SymbolAlignmentLog2: 0 264; SYM-NEXT: SymbolType: XTY_LD (0x2) 265; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 266; SYM-NEXT: StabInfoIndex: 0x0 267; SYM-NEXT: StabSectNum: 0x0 268; SYM-NEXT: } 269; SYM-NEXT: } 270; SYM-NEXT: Symbol { 271; SYM-NEXT: Index: 12 272; SYM-NEXT: Name: globalB 273; SYM-NEXT: Value (RelocatableAddress): 0x44 274; SYM-NEXT: Section: .data 275; SYM-NEXT: Type: 0x0 276; SYM-NEXT: StorageClass: C_EXT (0x2) 277; SYM-NEXT: NumberOfAuxEntries: 1 278; SYM-NEXT: CSECT Auxiliary Entry { 279; SYM-NEXT: Index: 13 280; SYM-NEXT: ContainingCsectSymbolIndex: 8 281; SYM-NEXT: ParameterHashIndex: 0x0 282; SYM-NEXT: TypeChkSectNum: 0x0 283; SYM-NEXT: SymbolAlignmentLog2: 0 284; SYM-NEXT: SymbolType: XTY_LD (0x2) 285; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 286; SYM-NEXT: StabInfoIndex: 0x0 287; SYM-NEXT: StabSectNum: 0x0 288; SYM-NEXT: } 289; SYM-NEXT: } 290; SYM-NEXT: Symbol { 291; SYM-NEXT: Index: 14 292; SYM-NEXT: Name: arr 293; SYM-NEXT: Value (RelocatableAddress): 0x48 294; SYM-NEXT: Section: .data 295; SYM-NEXT: Type: 0x0 296; SYM-NEXT: StorageClass: C_EXT (0x2) 297; SYM-NEXT: NumberOfAuxEntries: 1 298; SYM-NEXT: CSECT Auxiliary Entry { 299; SYM-NEXT: Index: 15 300; SYM-NEXT: ContainingCsectSymbolIndex: 8 301; SYM-NEXT: ParameterHashIndex: 0x0 302; SYM-NEXT: TypeChkSectNum: 0x0 303; SYM-NEXT: SymbolAlignmentLog2: 0 304; SYM-NEXT: SymbolType: XTY_LD (0x2) 305; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 306; SYM-NEXT: StabInfoIndex: 0x0 307; SYM-NEXT: StabSectNum: 0x0 308; SYM-NEXT: } 309; SYM-NEXT: } 310; SYM-NEXT: Symbol { 311; SYM-NEXT: Index: 16 312; SYM-NEXT: Name: p 313; SYM-NEXT: Value (RelocatableAddress): 0x70 314; SYM-NEXT: Section: .data 315; SYM-NEXT: Type: 0x0 316; SYM-NEXT: StorageClass: C_EXT (0x2) 317; SYM-NEXT: NumberOfAuxEntries: 1 318; SYM-NEXT: CSECT Auxiliary Entry { 319; SYM-NEXT: Index: 17 320; SYM-NEXT: ContainingCsectSymbolIndex: 8 321; SYM-NEXT: ParameterHashIndex: 0x0 322; SYM-NEXT: TypeChkSectNum: 0x0 323; SYM-NEXT: SymbolAlignmentLog2: 0 324; SYM-NEXT: SymbolType: XTY_LD (0x2) 325; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 326; SYM-NEXT: StabInfoIndex: 0x0 327; SYM-NEXT: StabSectNum: 0x0 328; SYM-NEXT: } 329; SYM-NEXT: } 330; SYM-NEXT: Symbol { 331; SYM-NEXT: Index: 18 332; SYM-NEXT: Name: foo 333; SYM-NEXT: Value (RelocatableAddress): 0x74 334; SYM-NEXT: Section: .data 335; SYM-NEXT: Type: 0x0 336; SYM-NEXT: StorageClass: C_EXT (0x2) 337; SYM-NEXT: NumberOfAuxEntries: 1 338; SYM-NEXT: CSECT Auxiliary Entry { 339; SYM-NEXT: Index: 19 340; SYM-NEXT: SectionLen: 12 341; SYM-NEXT: ParameterHashIndex: 0x0 342; SYM-NEXT: TypeChkSectNum: 0x0 343; SYM-NEXT: SymbolAlignmentLog2: 2 344; SYM-NEXT: SymbolType: XTY_SD (0x1) 345; SYM-NEXT: StorageMappingClass: XMC_DS (0xA) 346; SYM-NEXT: StabInfoIndex: 0x0 347; SYM-NEXT: StabSectNum: 0x0 348; SYM-NEXT: } 349; SYM-NEXT: } 350; SYM-NEXT: Symbol { 351; SYM-NEXT: Index: 20 352; SYM-NEXT: Name: TOC 353; SYM-NEXT: Value (RelocatableAddress): 0x80 354; SYM-NEXT: Section: .data 355; SYM-NEXT: Type: 0x0 356; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 357; SYM-NEXT: NumberOfAuxEntries: 1 358; SYM-NEXT: CSECT Auxiliary Entry { 359; SYM-NEXT: Index: 21 360; SYM-NEXT: SectionLen: 0 361; SYM-NEXT: ParameterHashIndex: 0x0 362; SYM-NEXT: TypeChkSectNum: 0x0 363; SYM-NEXT: SymbolAlignmentLog2: 2 364; SYM-NEXT: SymbolType: XTY_SD (0x1) 365; SYM-NEXT: StorageMappingClass: XMC_TC0 (0xF) 366; SYM-NEXT: StabInfoIndex: 0x0 367; SYM-NEXT: StabSectNum: 0x0 368; SYM-NEXT: } 369; SYM-NEXT: } 370; SYM-NEXT: Symbol { 371; SYM-NEXT: Index: 22 372; SYM-NEXT: Name: globalA 373; SYM-NEXT: Value (RelocatableAddress): 0x80 374; SYM-NEXT: Section: .data 375; SYM-NEXT: Type: 0x0 376; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 377; SYM-NEXT: NumberOfAuxEntries: 1 378; SYM-NEXT: CSECT Auxiliary Entry { 379; SYM-NEXT: Index: 23 380; SYM-NEXT: SectionLen: 4 381; SYM-NEXT: ParameterHashIndex: 0x0 382; SYM-NEXT: TypeChkSectNum: 0x0 383; SYM-NEXT: SymbolAlignmentLog2: 2 384; SYM-NEXT: SymbolType: XTY_SD (0x1) 385; SYM-NEXT: StorageMappingClass: XMC_TC (0x3) 386; SYM-NEXT: StabInfoIndex: 0x0 387; SYM-NEXT: StabSectNum: 0x0 388; SYM-NEXT: } 389; SYM-NEXT: } 390; SYM-NEXT: Symbol { 391; SYM-NEXT: Index: 24 392; SYM-NEXT: Name: globalB 393; SYM-NEXT: Value (RelocatableAddress): 0x84 394; SYM-NEXT: Section: .data 395; SYM-NEXT: Type: 0x0 396; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 397; SYM-NEXT: NumberOfAuxEntries: 1 398; SYM-NEXT: CSECT Auxiliary Entry { 399; SYM-NEXT: Index: 25 400; SYM-NEXT: SectionLen: 4 401; SYM-NEXT: ParameterHashIndex: 0x0 402; SYM-NEXT: TypeChkSectNum: 0x0 403; SYM-NEXT: SymbolAlignmentLog2: 2 404; SYM-NEXT: SymbolType: XTY_SD (0x1) 405; SYM-NEXT: StorageMappingClass: XMC_TC (0x3) 406; SYM-NEXT: StabInfoIndex: 0x0 407; SYM-NEXT: StabSectNum: 0x0 408; SYM-NEXT: } 409; SYM-NEXT: } 410; SYM-NEXT: ] 411 412 413; DIS: {{.*}}aix-xcoff-reloc.ll.tmp.o: file format aixcoff-rs6000 414; DIS: Disassembly of section .text: 415; DIS: 00000000 <.text>: 416; DIS-NEXT: 0: 7c 08 02 a6 mflr 0 417; DIS-NEXT: 4: 90 01 00 08 stw 0, 8(1) 418; DIS-NEXT: 8: 94 21 ff c0 stwu 1, -64(1) 419; DIS-NEXT: c: 38 60 00 01 li 3, 1 420; DIS-NEXT: 10: 4b ff ff f1 bl 0x0 421; DIS-NEXT: 14: 60 00 00 00 nop 422; DIS-NEXT: 18: 80 82 00 00 lwz 4, 0(2) 423; DIS-NEXT: 1c: 80 a2 00 04 lwz 5, 4(2) 424; DIS-NEXT: 20: 80 84 00 00 lwz 4, 0(4) 425; DIS-NEXT: 24: 80 a5 00 00 lwz 5, 0(5) 426; DIS-NEXT: 28: 7c 63 22 14 add 3, 3, 4 427; DIS-NEXT: 2c: 7c 63 2a 14 add 3, 3, 5 428; DIS-NEXT: 30: 38 21 00 40 addi 1, 1, 64 429; DIS-NEXT: 34: 80 01 00 08 lwz 0, 8(1) 430; DIS-NEXT: 38: 7c 08 03 a6 mtlr 0 431; DIS-NEXT: 3c: 4e 80 00 20 blr 432 433; DIS: Disassembly of section .data: 434; DIS: 00000040 <globalA>: 435; DIS-NEXT: 40: 00 00 00 01 <unknown> 436; DIS: 00000044 <globalB>: 437; DIS-NEXT: 44: 00 00 00 02 <unknown> 438; DIS: 00000048 <arr>: 439; DIS-NEXT: 48: 00 00 00 03 <unknown> 440; DIS-NEXT: ... 441; DIS: 00000070 <p>: 442; DIS-NEXT: 70: 00 00 00 58 <unknown> 443; DIS: 00000074 <foo>: 444; DIS-NEXT: 74: 00 00 00 00 <unknown> 445; DIS-NEXT: 78: 00 00 00 80 <unknown> 446; DIS-NEXT: 7c: 00 00 00 00 <unknown> 447; DIS: 00000080 <globalA>: 448; DIS-NEXT: 80: 00 00 00 40 <unknown> 449; DIS: 00000084 <globalB>: 450; DIS-NEXT: 84: 00 00 00 44 <unknown> 451 452; DIS_REL: {{.*}}aix-xcoff-reloc.ll.tmp.o: file format aixcoff-rs6000 453; DIS_REL: RELOCATION RECORDS FOR [.text]: 454; DIS_REL-NEXT: OFFSET TYPE VALUE 455; DIS_REL-NEXT: 00000010 R_RBR .bar 456; DIS_REL-NEXT: 0000001a R_TOC globalA 457; DIS_REL-NEXT: 0000001e R_TOC globalB 458; DIS_REL: RELOCATION RECORDS FOR [.data]: 459; DIS_REL-NEXT: OFFSET TYPE VALUE 460; DIS_REL-NEXT: 00000030 R_POS arr 461; DIS_REL-NEXT: 00000034 R_POS .foo 462; DIS_REL-NEXT: 00000038 R_POS TOC 463; DIS_REL-NEXT: 00000040 R_POS globalA 464; DIS_REL-NEXT: 00000044 R_POS globalB 465