1; RUN: llc -verify-machineinstrs -mcpu=pwr7 -mattr=-altivec -mtriple powerpc-ibm-aix-xcoff \ 2; RUN: -xcoff-traceback-table=false -filetype=obj -o %t.o < %s 3; RUN: llvm-readobj --symbols %t.o | FileCheck %s 4 5define void @foo() { 6entry: 7 ret void 8} 9 10; CHECK: File: {{.*}}aix-func-dsc-gen.ll.tmp.o 11; CHECK-NEXT: Format: aixcoff-rs6000 12; CHECK-NEXT: Arch: powerpc 13; CHECK-NEXT: AddressSize: 32bit 14; CHECK: Symbol { 15; CHECK-NEXT: Index: [[#Index:]] 16; CHECK-NEXT: Name: .text 17; CHECK-NEXT: Value (RelocatableAddress): 0x0 18; CHECK-NEXT: Section: .text 19; CHECK-NEXT: Type: 0x0 20; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B) 21; CHECK-NEXT: NumberOfAuxEntries: 1 22; CHECK-NEXT: CSECT Auxiliary Entry { 23; CHECK-NEXT: Index: [[#Index+1]] 24; CHECK-NEXT: SectionLen: 4 25; CHECK-NEXT: ParameterHashIndex: 0x0 26; CHECK-NEXT: TypeChkSectNum: 0x0 27; CHECK-NEXT: SymbolAlignmentLog2: 4 28; CHECK-NEXT: SymbolType: XTY_SD (0x1) 29; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 30; CHECK-NEXT: StabInfoIndex: 0x0 31; CHECK-NEXT: StabSectNum: 0x0 32; CHECK-NEXT: } 33; CHECK-NEXT: } 34; CHECK-NEXT: Symbol { 35; CHECK-NEXT: Index: [[#Index+2]] 36; CHECK-NEXT: Name: .foo 37; CHECK-NEXT: Value (RelocatableAddress): 0x0 38; CHECK-NEXT: Section: .text 39; CHECK-NEXT: Type: 0x0 40; CHECK-NEXT: StorageClass: C_EXT (0x2) 41; CHECK-NEXT: NumberOfAuxEntries: 1 42; CHECK-NEXT: CSECT Auxiliary Entry { 43; CHECK-NEXT: Index: [[#Index+3]] 44; CHECK-NEXT: ContainingCsectSymbolIndex: [[#Index]] 45; CHECK-NEXT: ParameterHashIndex: 0x0 46; CHECK-NEXT: TypeChkSectNum: 0x0 47; CHECK-NEXT: SymbolAlignmentLog2: 0 48; CHECK-NEXT: SymbolType: XTY_LD (0x2) 49; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 50; CHECK-NEXT: StabInfoIndex: 0x0 51; CHECK-NEXT: StabSectNum: 0x0 52; CHECK-NEXT: } 53; CHECK-NEXT: } 54; CHECK-NEXT: Symbol { 55; CHECK-NEXT: Index: [[#Index+4]] 56; CHECK-NEXT: Name: foo 57; CHECK-NEXT: Value (RelocatableAddress): 0x4 58; CHECK-NEXT: Section: .data 59; CHECK-NEXT: Type: 0x0 60; CHECK-NEXT: StorageClass: C_EXT (0x2) 61; CHECK-NEXT: NumberOfAuxEntries: 1 62; CHECK-NEXT: CSECT Auxiliary Entry { 63; CHECK-NEXT: Index: [[#Index+5]] 64; CHECK-NEXT: SectionLen: 12 65; CHECK-NEXT: ParameterHashIndex: 0x0 66; CHECK-NEXT: TypeChkSectNum: 0x0 67; CHECK-NEXT: SymbolAlignmentLog2: 2 68; CHECK-NEXT: SymbolType: XTY_SD (0x1) 69; CHECK-NEXT: StorageMappingClass: XMC_DS (0xA) 70; CHECK-NEXT: StabInfoIndex: 0x0 71; CHECK-NEXT: StabSectNum: 0x0 72; CHECK-NEXT: } 73; CHECK-NEXT: } 74; CHECK-NEXT: Symbol { 75; CHECK-NEXT: Index: [[#Index+6]] 76; CHECK-NEXT: Name: TOC 77; CHECK-NEXT: Value (RelocatableAddress): 0x10 78; CHECK-NEXT: Section: .data 79; CHECK-NEXT: Type: 0x0 80; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B) 81; CHECK-NEXT: NumberOfAuxEntries: 1 82; CHECK-NEXT: CSECT Auxiliary Entry { 83; CHECK-NEXT: Index: [[#Index+7]] 84; CHECK-NEXT: SectionLen: 0 85; CHECK-NEXT: ParameterHashIndex: 0x0 86; CHECK-NEXT: TypeChkSectNum: 0x0 87; CHECK-NEXT: SymbolAlignmentLog2: 2 88; CHECK-NEXT: SymbolType: XTY_SD (0x1) 89; CHECK-NEXT: StorageMappingClass: XMC_TC0 (0xF) 90; CHECK-NEXT: StabInfoIndex: 0x0 91; CHECK-NEXT: StabSectNum: 0x0 92; CHECK-NEXT: } 93; CHECK-NEXT: } 94