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 | FileCheck -D#NFA=2 --check-prefixes=OBJ,OBJ32 %s 4; RUN: llvm-readobj --relocs --expand-relocs %t.o | FileCheck -D#NFA=2 --check-prefixes=RELOC,RELOC32 %s 5; RUN: llvm-readobj --syms %t.o | FileCheck -D#NFA=2 --check-prefixes=SYM,SYM32 %s 6; RUN: llvm-objdump -D %t.o | FileCheck --check-prefix=DIS %s 7; RUN: llvm-objdump -r %t.o | FileCheck --check-prefix=DIS_REL %s 8 9; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mtriple powerpc64-ibm-aix-xcoff -mattr=-altivec \ 10; RUN: -xcoff-traceback-table=false -data-sections=false -filetype=obj -o %t64.o < %s 11; RUN: llvm-readobj --section-headers --file-header %t64.o | FileCheck -D#NFA=2 --check-prefixes=OBJ,OBJ64 %s 12; RUN: llvm-readobj --relocs --expand-relocs %t64.o | FileCheck -D#NFA=2 --check-prefixes=RELOC,RELOC64 %s 13; RUN: llvm-readobj --syms %t64.o | FileCheck -D#NFA=2 --check-prefixes=SYM,SYM64 %s 14; RUN: llvm-objdump -D %t64.o | FileCheck --check-prefix=DIS64 %s 15; RUN: llvm-objdump -r %t64.o | FileCheck --check-prefix=DIS_REL64 %s 16 17@globalA = global i32 1, align 4 18@globalB = global i32 2, align 4 19@arr = global <{ i32, [9 x i32] }> <{ i32 3, [9 x i32] zeroinitializer }>, align 4 20@p = global ptr getelementptr (i8, ptr @arr, i64 16), align 4 21 22define i32 @foo() { 23entry: 24 %call = call i32 @bar(i32 1) 25 %0 = load i32, ptr @globalA, align 4 26 %add = add nsw i32 %call, %0 27 %1 = load i32, ptr @globalB, align 4 28 %add1 = add nsw i32 %add, %1 29 ret i32 %add1 30} 31 32declare i32 @bar(i32) 33 34; OBJ: FileHeader { 35; OBJ32-NEXT: Magic: 0x1DF 36; OBJ64-NEXT: Magic: 0x1F7 37; OBJ-NEXT: NumberOfSections: 2 38; OBJ-NEXT: TimeStamp: None (0x0) 39; OBJ32-NEXT: SymbolTableOffset: 0x13C 40; OBJ64-NEXT: SymbolTableOffset: 0x1B8 41; OBJ-NEXT: SymbolTableEntries: [[#NFA+25]] 42; OBJ-NEXT: OptionalHeaderSize: 0x0 43; OBJ-NEXT: Flags: 0x0 44; OBJ-NEXT: } 45; OBJ-NEXT: Sections [ 46; OBJ-NEXT: Section { 47; OBJ-NEXT: Index: 1 48; OBJ-NEXT: Name: .text 49; OBJ-NEXT: PhysicalAddress: 0x0 50; OBJ-NEXT: VirtualAddress: 0x0 51; OBJ-NEXT: Size: 0x40 52; OBJ32-NEXT: RawDataOffset: 0x64 53; OBJ32-NEXT: RelocationPointer: 0xEC 54; OBJ64-NEXT: RawDataOffset: 0xA8 55; OBJ64-NEXT: RelocationPointer: 0x148 56; OBJ-NEXT: LineNumberPointer: 0x0 57; OBJ-NEXT: NumberOfRelocations: 3 58; OBJ-NEXT: NumberOfLineNumbers: 0 59; OBJ-NEXT: Type: STYP_TEXT (0x20) 60; OBJ-NEXT: } 61; OBJ-NEXT: Section { 62; OBJ-NEXT: Index: 2 63; OBJ-NEXT: Name: .data 64; OBJ-NEXT: PhysicalAddress: 0x40 65; OBJ-NEXT: VirtualAddress: 0x40 66; OBJ32-NEXT: Size: 0x48 67; OBJ32-NEXT: RawDataOffset: 0xA4 68; OBJ32-NEXT: RelocationPointer: 0x10A 69; OBJ64-NEXT: Size: 0x60 70; OBJ64-NEXT: RawDataOffset: 0xE8 71; OBJ64-NEXT: RelocationPointer: 0x172 72; OBJ-NEXT: LineNumberPointer: 0x0 73; OBJ-NEXT: NumberOfRelocations: 5 74; OBJ-NEXT: NumberOfLineNumbers: 0 75; OBJ-NEXT: Type: STYP_DATA (0x40) 76; OBJ-NEXT: } 77; OBJ-NEXT: ] 78 79; RELOC: Relocations [ 80; RELOC-NEXT: Section (index: 1) .text { 81; RELOC-NEXT: Relocation { 82; RELOC-NEXT: Virtual Address: 0x10 83; RELOC-NEXT: Symbol: .bar ([[#NFA+1]]) 84; RELOC-NEXT: IsSigned: Yes 85; RELOC-NEXT: FixupBitValue: 0 86; RELOC-NEXT: Length: 26 87; RELOC-NEXT: Type: R_RBR (0x1A) 88; RELOC-NEXT: } 89; RELOC-NEXT: Relocation { 90; RELOC-NEXT: Virtual Address: 0x1A 91; RELOC-NEXT: Symbol: globalA ([[#NFA+21]]) 92; RELOC-NEXT: IsSigned: No 93; RELOC-NEXT: FixupBitValue: 0 94; RELOC-NEXT: Length: 16 95; RELOC-NEXT: Type: R_TOC (0x3) 96; RELOC-NEXT: } 97; RELOC-NEXT: Relocation { 98; RELOC-NEXT: Virtual Address: 0x1E 99; RELOC-NEXT: Symbol: globalB ([[#NFA+23]]) 100; RELOC-NEXT: IsSigned: No 101; RELOC-NEXT: FixupBitValue: 0 102; RELOC-NEXT: Length: 16 103; RELOC-NEXT: Type: R_TOC (0x3) 104; RELOC-NEXT: } 105; RELOC-NEXT: } 106; RELOC-NEXT: Section (index: 2) .data { 107; RELOC-NEXT: Relocation { 108; RELOC-NEXT: Virtual Address: 0x70 109; RELOC-NEXT: Symbol: arr ([[#NFA+13]]) 110; RELOC-NEXT: IsSigned: No 111; RELOC-NEXT: FixupBitValue: 0 112; RELOC32-NEXT: Length: 32 113; RELOC64-NEXT: Length: 64 114; RELOC-NEXT: Type: R_POS (0x0) 115; RELOC-NEXT: } 116; RELOC-NEXT: Relocation { 117; RELOC32-NEXT: Virtual Address: 0x74 118; RELOC64-NEXT: Virtual Address: 0x78 119; RELOC-NEXT: Symbol: .foo ([[#NFA+5]]) 120; RELOC-NEXT: IsSigned: No 121; RELOC-NEXT: FixupBitValue: 0 122; RELOC32-NEXT: Length: 32 123; RELOC64-NEXT: Length: 64 124; RELOC-NEXT: Type: R_POS (0x0) 125; RELOC-NEXT: } 126; RELOC-NEXT: Relocation { 127; RELOC32-NEXT: Virtual Address: 0x78 128; RELOC64-NEXT: Virtual Address: 0x80 129; RELOC-NEXT: Symbol: TOC ([[#NFA+19]]) 130; RELOC-NEXT: IsSigned: No 131; RELOC-NEXT: FixupBitValue: 0 132; RELOC32-NEXT: Length: 32 133; RELOC64-NEXT: Length: 64 134; RELOC-NEXT: Type: R_POS (0x0) 135; RELOC-NEXT: } 136; RELOC-NEXT: Relocation { 137; RELOC32-NEXT: Virtual Address: 0x80 138; RELOC64-NEXT: Virtual Address: 0x90 139; RELOC-NEXT: Symbol: globalA ([[#NFA+9]]) 140; RELOC-NEXT: IsSigned: No 141; RELOC-NEXT: FixupBitValue: 0 142; RELOC32-NEXT: Length: 32 143; RELOC64-NEXT: Length: 64 144; RELOC-NEXT: Type: R_POS (0x0) 145; RELOC-NEXT: } 146; RELOC-NEXT: Relocation { 147; RELOC32-NEXT: Virtual Address: 0x84 148; RELOC64-NEXT: Virtual Address: 0x98 149; RELOC-NEXT: Symbol: globalB ([[#NFA+11]]) 150; RELOC-NEXT: IsSigned: No 151; RELOC-NEXT: FixupBitValue: 0 152; RELOC32-NEXT: Length: 32 153; RELOC64-NEXT: Length: 64 154; RELOC-NEXT: Type: R_POS (0x0) 155; RELOC-NEXT: } 156; RELOC-NEXT: } 157; RELOC-NEXT: ] 158 159; SYM: Symbols [ 160; SYM-NEXT: Symbol { 161; SYM-NEXT: Index: 0 162; SYM-NEXT: Name: .file 163; SYM-NEXT: Value (SymbolTableIndex): 0x0 164; SYM-NEXT: Section: N_DEBUG 165; SYM-NEXT: Source Language ID: TB_CPLUSPLUS (0x9) 166; SYM-NEXT: CPU Version ID: TCPU_COM (0x3) 167; SYM-NEXT: StorageClass: C_FILE (0x67) 168; SYM-NEXT: NumberOfAuxEntries: 2 169; SYM-NEXT: File Auxiliary Entry { 170; SYM-NEXT: Index: 1 171; SYM-NEXT: Name: <stdin> 172; SYM-NEXT: Type: XFT_FN (0x0) 173; SYM64-NEXT: Auxiliary Type: AUX_FILE (0xFC) 174; SYM-NEXT: } 175; SYM-NEXT: File Auxiliary Entry { 176; SYM-NEXT: Index: 2 177; SYM-NEXT: Name: LLVM 178; SYM-NEXT: Type: XFT_CV (0x2) 179; SYM64-NEXT: Auxiliary Type: AUX_FILE (0xFC) 180; SYM-NEXT: } 181; SYM-NEXT: } 182; SYM-NEXT: Symbol { 183; SYM-NEXT: Index: [[#INDX:]] 184; SYM-NEXT: Name: .bar 185; SYM-NEXT: Value (RelocatableAddress): 0x0 186; SYM-NEXT: Section: N_UNDEF 187; SYM-NEXT: Type: 0x0 188; SYM-NEXT: StorageClass: C_EXT (0x2) 189; SYM-NEXT: NumberOfAuxEntries: 1 190; SYM-NEXT: CSECT Auxiliary Entry { 191; SYM-NEXT: Index: [[#INDX+1]] 192; SYM-NEXT: SectionLen: 0 193; SYM-NEXT: ParameterHashIndex: 0x0 194; SYM-NEXT: TypeChkSectNum: 0x0 195; SYM-NEXT: SymbolAlignmentLog2: 0 196; SYM-NEXT: SymbolType: XTY_ER (0x0) 197; SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 198; SYM32-NEXT: StabInfoIndex: 0x0 199; SYM32-NEXT: StabSectNum: 0x0 200; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 201; SYM-NEXT: } 202; SYM-NEXT: } 203; SYM-NEXT: Symbol { 204; SYM-NEXT: Index: [[#INDX+2]] 205; SYM-NEXT: Name: 206; SYM-NEXT: Value (RelocatableAddress): 0x0 207; SYM-NEXT: Section: .text 208; SYM-NEXT: Type: 0x0 209; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 210; SYM-NEXT: NumberOfAuxEntries: 1 211; SYM-NEXT: CSECT Auxiliary Entry { 212; SYM-NEXT: Index: [[#INDX+3]] 213; SYM-NEXT: SectionLen: 64 214; SYM-NEXT: ParameterHashIndex: 0x0 215; SYM-NEXT: TypeChkSectNum: 0x0 216; SYM-NEXT: SymbolAlignmentLog2: 5 217; SYM-NEXT: SymbolType: XTY_SD (0x1) 218; SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 219; SYM32-NEXT: StabInfoIndex: 0x0 220; SYM32-NEXT: StabSectNum: 0x0 221; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 222; SYM-NEXT: } 223; SYM-NEXT: } 224; SYM-NEXT: Symbol { 225; SYM-NEXT: Index: [[#INDX+4]] 226; SYM-NEXT: Name: .foo 227; SYM-NEXT: Value (RelocatableAddress): 0x0 228; SYM-NEXT: Section: .text 229; SYM-NEXT: Type: 0x0 230; SYM-NEXT: StorageClass: C_EXT (0x2) 231; SYM-NEXT: NumberOfAuxEntries: 1 232; SYM-NEXT: CSECT Auxiliary Entry { 233; SYM-NEXT: Index: [[#INDX+5]] 234; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+2]] 235; SYM-NEXT: ParameterHashIndex: 0x0 236; SYM-NEXT: TypeChkSectNum: 0x0 237; SYM-NEXT: SymbolAlignmentLog2: 0 238; SYM-NEXT: SymbolType: XTY_LD (0x2) 239; SYM-NEXT: StorageMappingClass: XMC_PR (0x0) 240; SYM32-NEXT: StabInfoIndex: 0x0 241; SYM32-NEXT: StabSectNum: 0x0 242; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 243; SYM-NEXT: } 244; SYM-NEXT: } 245; SYM-NEXT: Symbol { 246; SYM-NEXT: Index: [[#INDX+6]] 247; SYM-NEXT: Name: .data 248; SYM-NEXT: Value (RelocatableAddress): 0x40 249; SYM-NEXT: Section: .data 250; SYM-NEXT: Type: 0x0 251; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 252; SYM-NEXT: NumberOfAuxEntries: 1 253; SYM-NEXT: CSECT Auxiliary Entry { 254; SYM-NEXT: Index: [[#INDX+7]] 255; SYM32-NEXT: SectionLen: 52 256; SYM64-NEXT: SectionLen: 56 257; SYM-NEXT: ParameterHashIndex: 0x0 258; SYM-NEXT: TypeChkSectNum: 0x0 259; SYM32-NEXT: SymbolAlignmentLog2: 2 260; SYM64-NEXT: SymbolAlignmentLog2: 3 261; SYM-NEXT: SymbolType: XTY_SD (0x1) 262; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 263; SYM32-NEXT: StabInfoIndex: 0x0 264; SYM32-NEXT: StabSectNum: 0x0 265; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 266; SYM-NEXT: } 267; SYM-NEXT: } 268; SYM-NEXT: Symbol { 269; SYM-NEXT: Index: [[#INDX+8]] 270; SYM-NEXT: Name: globalA 271; SYM-NEXT: Value (RelocatableAddress): 0x40 272; SYM-NEXT: Section: .data 273; SYM-NEXT: Type: 0x0 274; SYM-NEXT: StorageClass: C_EXT (0x2) 275; SYM-NEXT: NumberOfAuxEntries: 1 276; SYM-NEXT: CSECT Auxiliary Entry { 277; SYM-NEXT: Index: [[#INDX+9]] 278; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]] 279; SYM-NEXT: ParameterHashIndex: 0x0 280; SYM-NEXT: TypeChkSectNum: 0x0 281; SYM-NEXT: SymbolAlignmentLog2: 0 282; SYM-NEXT: SymbolType: XTY_LD (0x2) 283; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 284; SYM32-NEXT: StabInfoIndex: 0x0 285; SYM32-NEXT: StabSectNum: 0x0 286; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 287; SYM-NEXT: } 288; SYM-NEXT: } 289; SYM-NEXT: Symbol { 290; SYM-NEXT: Index: [[#INDX+10]] 291; SYM-NEXT: Name: globalB 292; SYM-NEXT: Value (RelocatableAddress): 0x44 293; SYM-NEXT: Section: .data 294; SYM-NEXT: Type: 0x0 295; SYM-NEXT: StorageClass: C_EXT (0x2) 296; SYM-NEXT: NumberOfAuxEntries: 1 297; SYM-NEXT: CSECT Auxiliary Entry { 298; SYM-NEXT: Index: [[#INDX+11]] 299; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]] 300; SYM-NEXT: ParameterHashIndex: 0x0 301; SYM-NEXT: TypeChkSectNum: 0x0 302; SYM-NEXT: SymbolAlignmentLog2: 0 303; SYM-NEXT: SymbolType: XTY_LD (0x2) 304; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 305; SYM32-NEXT: StabInfoIndex: 0x0 306; SYM32-NEXT: StabSectNum: 0x0 307; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 308; SYM-NEXT: } 309; SYM-NEXT: } 310; SYM-NEXT: Symbol { 311; SYM-NEXT: Index: [[#INDX+12]] 312; SYM-NEXT: Name: arr 313; SYM-NEXT: Value (RelocatableAddress): 0x48 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: [[#INDX+13]] 320; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]] 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; SYM32-NEXT: StabInfoIndex: 0x0 327; SYM32-NEXT: StabSectNum: 0x0 328; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 329; SYM-NEXT: } 330; SYM-NEXT: } 331; SYM-NEXT: Symbol { 332; SYM-NEXT: Index: [[#INDX+14]] 333; SYM-NEXT: Name: p 334; SYM-NEXT: Value (RelocatableAddress): 0x70 335; SYM-NEXT: Section: .data 336; SYM-NEXT: Type: 0x0 337; SYM-NEXT: StorageClass: C_EXT (0x2) 338; SYM-NEXT: NumberOfAuxEntries: 1 339; SYM-NEXT: CSECT Auxiliary Entry { 340; SYM-NEXT: Index: [[#INDX+15]] 341; SYM-NEXT: ContainingCsectSymbolIndex: [[#INDX+6]] 342; SYM-NEXT: ParameterHashIndex: 0x0 343; SYM-NEXT: TypeChkSectNum: 0x0 344; SYM-NEXT: SymbolAlignmentLog2: 0 345; SYM-NEXT: SymbolType: XTY_LD (0x2) 346; SYM-NEXT: StorageMappingClass: XMC_RW (0x5) 347; SYM32-NEXT: StabInfoIndex: 0x0 348; SYM32-NEXT: StabSectNum: 0x0 349; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 350; SYM-NEXT: } 351; SYM-NEXT: } 352; SYM-NEXT: Symbol { 353; SYM-NEXT: Index: [[#INDX+16]] 354; SYM-NEXT: Name: foo 355; SYM32-NEXT: Value (RelocatableAddress): 0x74 356; SYM64-NEXT: Value (RelocatableAddress): 0x78 357; SYM-NEXT: Section: .data 358; SYM-NEXT: Type: 0x0 359; SYM-NEXT: StorageClass: C_EXT (0x2) 360; SYM-NEXT: NumberOfAuxEntries: 1 361; SYM-NEXT: CSECT Auxiliary Entry { 362; SYM-NEXT: Index: [[#INDX+17]] 363; SYM32-NEXT: SectionLen: 12 364; SYM64-NEXT: SectionLen: 24 365; SYM-NEXT: ParameterHashIndex: 0x0 366; SYM-NEXT: TypeChkSectNum: 0x0 367; SYM32-NEXT: SymbolAlignmentLog2: 2 368; SYM64-NEXT: SymbolAlignmentLog2: 3 369; SYM-NEXT: SymbolType: XTY_SD (0x1) 370; SYM-NEXT: StorageMappingClass: XMC_DS (0xA) 371; SYM32-NEXT: StabInfoIndex: 0x0 372; SYM32-NEXT: StabSectNum: 0x0 373; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 374; SYM-NEXT: } 375; SYM-NEXT: } 376; SYM-NEXT: Symbol { 377; SYM-NEXT: Index: [[#INDX+18]] 378; SYM-NEXT: Name: TOC 379; SYM32-NEXT: Value (RelocatableAddress): 0x80 380; SYM64-NEXT: Value (RelocatableAddress): 0x90 381; SYM-NEXT: Section: .data 382; SYM-NEXT: Type: 0x0 383; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 384; SYM-NEXT: NumberOfAuxEntries: 1 385; SYM-NEXT: CSECT Auxiliary Entry { 386; SYM-NEXT: Index: [[#INDX+19]] 387; SYM-NEXT: SectionLen: 0 388; SYM-NEXT: ParameterHashIndex: 0x0 389; SYM-NEXT: TypeChkSectNum: 0x0 390; SYM-NEXT: SymbolAlignmentLog2: 2 391; SYM-NEXT: SymbolType: XTY_SD (0x1) 392; SYM-NEXT: StorageMappingClass: XMC_TC0 (0xF) 393; SYM32-NEXT: StabInfoIndex: 0x0 394; SYM32-NEXT: StabSectNum: 0x0 395; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 396; SYM-NEXT: } 397; SYM-NEXT: } 398; SYM-NEXT: Symbol { 399; SYM-NEXT: Index: [[#INDX+20]] 400; SYM-NEXT: Name: globalA 401; SYM32-NEXT: Value (RelocatableAddress): 0x80 402; SYM64-NEXT: Value (RelocatableAddress): 0x90 403; SYM-NEXT: Section: .data 404; SYM-NEXT: Type: 0x0 405; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 406; SYM-NEXT: NumberOfAuxEntries: 1 407; SYM-NEXT: CSECT Auxiliary Entry { 408; SYM-NEXT: Index: [[#INDX+21]] 409; SYM32-NEXT: SectionLen: 4 410; SYM64-NEXT: SectionLen: 8 411; SYM-NEXT: ParameterHashIndex: 0x0 412; SYM-NEXT: TypeChkSectNum: 0x0 413; SYM32-NEXT: SymbolAlignmentLog2: 2 414; SYM64-NEXT: SymbolAlignmentLog2: 3 415; SYM-NEXT: SymbolType: XTY_SD (0x1) 416; SYM-NEXT: StorageMappingClass: XMC_TC (0x3) 417; SYM32-NEXT: StabInfoIndex: 0x0 418; SYM32-NEXT: StabSectNum: 0x0 419; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 420; SYM-NEXT: } 421; SYM-NEXT: } 422; SYM-NEXT: Symbol { 423; SYM-NEXT: Index: [[#INDX+22]] 424; SYM-NEXT: Name: globalB 425; SYM32-NEXT: Value (RelocatableAddress): 0x84 426; SYM64-NEXT: Value (RelocatableAddress): 0x98 427; SYM-NEXT: Section: .data 428; SYM-NEXT: Type: 0x0 429; SYM-NEXT: StorageClass: C_HIDEXT (0x6B) 430; SYM-NEXT: NumberOfAuxEntries: 1 431; SYM-NEXT: CSECT Auxiliary Entry { 432; SYM-NEXT: Index: [[#INDX+23]] 433; SYM32-NEXT: SectionLen: 4 434; SYM64-NEXT: SectionLen: 8 435; SYM-NEXT: ParameterHashIndex: 0x0 436; SYM-NEXT: TypeChkSectNum: 0x0 437; SYM32-NEXT: SymbolAlignmentLog2: 2 438; SYM64-NEXT: SymbolAlignmentLog2: 3 439; SYM-NEXT: SymbolType: XTY_SD (0x1) 440; SYM-NEXT: StorageMappingClass: XMC_TC (0x3) 441; SYM32-NEXT: StabInfoIndex: 0x0 442; SYM32-NEXT: StabSectNum: 0x0 443; SYM64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) 444; SYM-NEXT: } 445; SYM-NEXT: } 446; SYM-NEXT: ] 447 448 449; DIS: : file format aixcoff-rs6000 450; DIS: Disassembly of section .text: 451; DIS: 00000000 <.foo>: 452; DIS-NEXT: 0: 7c 08 02 a6 mflr 0 453; DIS-NEXT: 4: 94 21 ff c0 stwu 1, -64(1) 454; DIS-NEXT: 8: 38 60 00 01 li 3, 1 455; DIS-NEXT: c: 90 01 00 48 stw 0, 72(1) 456; DIS-NEXT: 10: 4b ff ff f1 bl 0x0 457; DIS-NEXT: 14: 60 00 00 00 nop 458; DIS-NEXT: 18: 80 82 00 00 lwz 4, 0(2) 459; DIS-NEXT: 1c: 80 a2 00 04 lwz 5, 4(2) 460; DIS-NEXT: 20: 80 84 00 00 lwz 4, 0(4) 461; DIS-NEXT: 24: 80 a5 00 00 lwz 5, 0(5) 462; DIS-NEXT: 28: 7c 63 22 14 add 3, 3, 4 463; DIS-NEXT: 2c: 7c 63 2a 14 add 3, 3, 5 464; DIS-NEXT: 30: 38 21 00 40 addi 1, 1, 64 465; DIS-NEXT: 34: 80 01 00 08 lwz 0, 8(1) 466; DIS-NEXT: 38: 7c 08 03 a6 mtlr 0 467; DIS-NEXT: 3c: 4e 80 00 20 blr 468 469; DIS: Disassembly of section .data: 470; DIS: 00000040 <globalA>: 471; DIS-NEXT: 40: 00 00 00 01 <unknown> 472; DIS: 00000044 <globalB>: 473; DIS-NEXT: 44: 00 00 00 02 <unknown> 474; DIS: 00000048 <arr>: 475; DIS-NEXT: 48: 00 00 00 03 <unknown> 476; DIS-NEXT: ... 477; DIS: 00000070 <p>: 478; DIS-NEXT: 70: 00 00 00 58 <unknown> 479; DIS: 00000074 <foo>: 480; DIS-NEXT: 74: 00 00 00 00 <unknown> 481; DIS-NEXT: 78: 00 00 00 80 <unknown> 482; DIS-NEXT: 7c: 00 00 00 00 <unknown> 483; DIS: 00000080 <globalA>: 484; DIS-NEXT: 80: 00 00 00 40 <unknown> 485; DIS: 00000084 <globalB>: 486; DIS-NEXT: 84: 00 00 00 44 <unknown> 487 488; DIS_REL: : file format aixcoff-rs6000 489; DIS_REL: RELOCATION RECORDS FOR [.text]: 490; DIS_REL-NEXT: OFFSET TYPE VALUE 491; DIS_REL-NEXT: 00000010 R_RBR .bar 492; DIS_REL-NEXT: 0000001a R_TOC globalA 493; DIS_REL-NEXT: 0000001e R_TOC globalB 494; DIS_REL: RELOCATION RECORDS FOR [.data]: 495; DIS_REL-NEXT: OFFSET TYPE VALUE 496; DIS_REL-NEXT: 00000030 R_POS arr 497; DIS_REL-NEXT: 00000034 R_POS .foo 498; DIS_REL-NEXT: 00000038 R_POS TOC 499; DIS_REL-NEXT: 00000040 R_POS globalA 500; DIS_REL-NEXT: 00000044 R_POS globalB 501 502; DIS64: Disassembly of section .text: 503; DIS64: 0000000000000000 <.foo>: 504; DIS64-NEXT: 0: 7c 08 02 a6 mflr 0 505; DIS64-NEXT: 4: f8 21 ff 91 stdu 1, -112(1) 506; DIS64-NEXT: 8: 38 60 00 01 li 3, 1 507; DIS64-NEXT: c: f8 01 00 80 std 0, 128(1) 508; DIS64-NEXT: 10: 4b ff ff f1 bl 0x0 <.bar> 509; DIS64-NEXT: 14: 60 00 00 00 nop 510; DIS64-NEXT: 18: e8 82 00 00 ld 4, 0(2) 511; DIS64-NEXT: 1c: e8 a2 00 08 ld 5, 8(2) 512; DIS64-NEXT: 20: 80 84 00 00 lwz 4, 0(4) 513; DIS64-NEXT: 24: 80 a5 00 00 lwz 5, 0(5) 514; DIS64-NEXT: 28: 7c 63 22 14 add 3, 3, 4 515; DIS64-NEXT: 2c: 7c 63 2a 14 add 3, 3, 5 516; DIS64-NEXT: 30: 38 21 00 70 addi 1, 1, 112 517; DIS64-NEXT: 34: e8 01 00 10 ld 0, 16(1) 518; DIS64-NEXT: 38: 7c 08 03 a6 mtlr 0 519; DIS64-NEXT: 3c: 4e 80 00 20 blr 520 521; DIS64: Disassembly of section .data: 522; DIS64: 0000000000000040 <globalA>: 523; DIS64-NEXT: 40: 00 00 00 01 <unknown> 524; DIS64: 0000000000000044 <globalB>: 525; DIS64-NEXT: 44: 00 00 00 02 <unknown> 526; DIS64: 0000000000000048 <arr>: 527; DIS64-NEXT: 48: 00 00 00 03 <unknown> 528; DIS64-NEXT: ... 529; DIS64: 0000000000000070 <p>: 530; DIS64-NEXT: 70: 00 00 00 00 <unknown> 531; DIS64-NEXT: 74: 00 00 00 58 <unknown> 532; DIS64: 0000000000000078 <foo>: 533; DIS64-NEXT: ... 534; DIS64-NEXT: 84: 00 00 00 90 <unknown> 535; DIS64-NEXT: ... 536; DIS64: 0000000000000090 <globalA>: 537; DIS64-NEXT: 90: 00 00 00 00 <unknown> 538; DIS64-NEXT: 94: 00 00 00 40 <unknown> 539; DIS64: 0000000000000098 <globalB>: 540; DIS64-NEXT: 98: 00 00 00 00 <unknown> 541; DIS64-NEXT: 9c: 00 00 00 44 <unknown> 542 543; DIS_REL64: RELOCATION RECORDS FOR [.text]: 544; DIS_REL64-NEXT: OFFSET TYPE VALUE 545; DIS_REL64-NEXT: 0000000000000010 R_RBR .bar 546; DIS_REL64-NEXT: 000000000000001a R_TOC globalA 547; DIS_REL64-NEXT: 000000000000001e R_TOC globalB 548 549; DIS_REL64: RELOCATION RECORDS FOR [.data]: 550; DIS_REL64-NEXT: OFFSET TYPE VALUE 551; DIS_REL64-NEXT: 0000000000000030 R_POS arr 552; DIS_REL64-NEXT: 0000000000000038 R_POS .foo 553; DIS_REL64-NEXT: 0000000000000040 R_POS TOC 554; DIS_REL64-NEXT: 0000000000000050 R_POS globalA 555; DIS_REL64-NEXT: 0000000000000058 R_POS globalB 556