1; RUN: llc -verify-machineinstrs -mcpu=pwr4 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \ 2; RUN: -xcoff-traceback-table=false -filetype=obj -function-sections -o %t.o < %s 3; RUN: llvm-readobj -s %t.o | FileCheck %s 4 5define dso_local signext i32 @foo1() section "sect" { 6entry: 7 ret i32 1 8} 9 10define dso_local signext i32 @foo2() section "sect2" { 11entry: 12 ret i32 2 13} 14 15define dso_local signext i32 @foo3() section "sect2" { 16entry: 17 ret i32 3 18} 19 20define dso_local signext i32 @foo4() { 21entry: 22 ret i32 4 23} 24 25; CHECK: Symbol {{[{][[:space:]] *}}Index: [[#INDX:]]{{[[:space:]] *}}Name: sect 26; CHECK-NEXT: Value (RelocatableAddress): 0x0 27; CHECK-NEXT: Section: .text 28; CHECK-NEXT: Type: 0x0 29; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B) 30; CHECK-NEXT: NumberOfAuxEntries: 1 31; CHECK-NEXT: CSECT Auxiliary Entry { 32; CHECK-NEXT: Index: [[#INDX+1]] 33; CHECK-NEXT: SectionLen: 8 34; CHECK-NEXT: ParameterHashIndex: 0x0 35; CHECK-NEXT: TypeChkSectNum: 0x0 36; CHECK-NEXT: SymbolAlignmentLog2: 5 37; CHECK-NEXT: SymbolType: XTY_SD (0x1) 38; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 39; CHECK-NEXT: StabInfoIndex: 0x0 40; CHECK-NEXT: StabSectNum: 0x0 41; CHECK-NEXT: } 42; CHECK-NEXT: } 43; CHECK-NEXT: Symbol { 44; CHECK-NEXT: Index: [[#INDX+2]] 45; CHECK-NEXT: Name: .foo1 46; CHECK-NEXT: Value (RelocatableAddress): 0x0 47; CHECK-NEXT: Section: .text 48; CHECK-NEXT: Type: 0x0 49; CHECK-NEXT: StorageClass: C_EXT (0x2) 50; CHECK-NEXT: NumberOfAuxEntries: 1 51; CHECK-NEXT: CSECT Auxiliary Entry { 52; CHECK-NEXT: Index: [[#INDX+3]] 53; CHECK-NEXT: ContainingCsectSymbolIndex: [[#INDX]] 54; CHECK-NEXT: ParameterHashIndex: 0x0 55; CHECK-NEXT: TypeChkSectNum: 0x0 56; CHECK-NEXT: SymbolAlignmentLog2: 0 57; CHECK-NEXT: SymbolType: XTY_LD (0x2) 58; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 59; CHECK-NEXT: StabInfoIndex: 0x0 60; CHECK-NEXT: StabSectNum: 0x0 61; CHECK-NEXT: } 62; CHECK-NEXT: } 63; CHECK-NEXT: Symbol { 64; CHECK-NEXT: Index: [[#INDX+4]] 65; CHECK-NEXT: Name: sect2 66; CHECK-NEXT: Value (RelocatableAddress): 0x20 67; CHECK-NEXT: Section: .text 68; CHECK-NEXT: Type: 0x0 69; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B) 70; CHECK-NEXT: NumberOfAuxEntries: 1 71; CHECK-NEXT: CSECT Auxiliary Entry { 72; CHECK-NEXT: Index: [[#INDX+5]] 73; CHECK-NEXT: SectionLen: 24 74; CHECK-NEXT: ParameterHashIndex: 0x0 75; CHECK-NEXT: TypeChkSectNum: 0x0 76; CHECK-NEXT: SymbolAlignmentLog2: 5 77; CHECK-NEXT: SymbolType: XTY_SD (0x1) 78; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 79; CHECK-NEXT: StabInfoIndex: 0x0 80; CHECK-NEXT: StabSectNum: 0x0 81; CHECK-NEXT: } 82; CHECK-NEXT: } 83; CHECK-NEXT: Symbol { 84; CHECK-NEXT: Index: [[#INDX+6]] 85; CHECK-NEXT: Name: .foo2 86; CHECK-NEXT: Value (RelocatableAddress): 0x20 87; CHECK-NEXT: Section: .text 88; CHECK-NEXT: Type: 0x0 89; CHECK-NEXT: StorageClass: C_EXT (0x2) 90; CHECK-NEXT: NumberOfAuxEntries: 1 91; CHECK-NEXT: CSECT Auxiliary Entry { 92; CHECK-NEXT: Index: [[#INDX+7]] 93; CHECK-NEXT: ContainingCsectSymbolIndex: [[#INDX+4]] 94; CHECK-NEXT: ParameterHashIndex: 0x0 95; CHECK-NEXT: TypeChkSectNum: 0x0 96; CHECK-NEXT: SymbolAlignmentLog2: 0 97; CHECK-NEXT: SymbolType: XTY_LD (0x2) 98; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 99; CHECK-NEXT: StabInfoIndex: 0x0 100; CHECK-NEXT: StabSectNum: 0x0 101; CHECK-NEXT: } 102; CHECK-NEXT: } 103; CHECK-NEXT: Symbol { 104; CHECK-NEXT: Index: [[#INDX+8]] 105; CHECK-NEXT: Name: .foo3 106; CHECK-NEXT: Value (RelocatableAddress): 0x30 107; CHECK-NEXT: Section: .text 108; CHECK-NEXT: Type: 0x0 109; CHECK-NEXT: StorageClass: C_EXT (0x2) 110; CHECK-NEXT: NumberOfAuxEntries: 1 111; CHECK-NEXT: CSECT Auxiliary Entry { 112; CHECK-NEXT: Index: [[#INDX+9]] 113; CHECK-NEXT: ContainingCsectSymbolIndex: [[#INDX+4]] 114; CHECK-NEXT: ParameterHashIndex: 0x0 115; CHECK-NEXT: TypeChkSectNum: 0x0 116; CHECK-NEXT: SymbolAlignmentLog2: 0 117; CHECK-NEXT: SymbolType: XTY_LD (0x2) 118; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 119; CHECK-NEXT: StabInfoIndex: 0x0 120; CHECK-NEXT: StabSectNum: 0x0 121; CHECK-NEXT: } 122; CHECK-NEXT: } 123; CHECK-NEXT: Symbol { 124; CHECK-NEXT: Index: [[#INDX+10]] 125; CHECK-NEXT: Name: .foo4 126; CHECK-NEXT: Value (RelocatableAddress): 0x40 127; CHECK-NEXT: Section: .text 128; CHECK-NEXT: Type: 0x0 129; CHECK-NEXT: StorageClass: C_EXT (0x2) 130; CHECK-NEXT: NumberOfAuxEntries: 1 131; CHECK-NEXT: CSECT Auxiliary Entry { 132; CHECK-NEXT: Index: 16 133; CHECK-NEXT: SectionLen: 8 134; CHECK-NEXT: ParameterHashIndex: 0x0 135; CHECK-NEXT: TypeChkSectNum: 0x0 136; CHECK-NEXT: SymbolAlignmentLog2: 5 137; CHECK-NEXT: SymbolType: XTY_SD (0x1) 138; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 139; CHECK-NEXT: StabInfoIndex: 0x0 140; CHECK-NEXT: StabSectNum: 0x0 141; CHECK-NEXT: } 142; CHECK-NEXT: } 143