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: 0 16; CHECK-NEXT: Name: <stdin> 17; CHECK-NEXT: Value (SymbolTableIndex): 0x0 18; CHECK-NEXT: Section: N_DEBUG 19; CHECK-NEXT: Source Language ID: TB_C (0x0) 20; CHECK-NEXT: CPU Version ID: 0x0 21; CHECK-NEXT: StorageClass: C_FILE (0x67) 22; CHECK-NEXT: NumberOfAuxEntries: 0 23; CHECK-NEXT: } 24; CHECK-NEXT: Symbol { 25; CHECK-NEXT: Index: [[#Index:]] 26; CHECK-NEXT: Name: .text 27; CHECK-NEXT: Value (RelocatableAddress): 0x0 28; CHECK-NEXT: Section: .text 29; CHECK-NEXT: Type: 0x0 30; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B) 31; CHECK-NEXT: NumberOfAuxEntries: 1 32; CHECK-NEXT: CSECT Auxiliary Entry { 33; CHECK-NEXT: Index: [[#Index+1]] 34; CHECK-NEXT: SectionLen: 4 35; CHECK-NEXT: ParameterHashIndex: 0x0 36; CHECK-NEXT: TypeChkSectNum: 0x0 37; CHECK-NEXT: SymbolAlignmentLog2: 4 38; CHECK-NEXT: SymbolType: XTY_SD (0x1) 39; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 40; CHECK-NEXT: StabInfoIndex: 0x0 41; CHECK-NEXT: StabSectNum: 0x0 42; CHECK-NEXT: } 43; CHECK-NEXT: } 44; CHECK-NEXT: Symbol { 45; CHECK-NEXT: Index: [[#Index+2]] 46; CHECK-NEXT: Name: .foo 47; CHECK-NEXT: Value (RelocatableAddress): 0x0 48; CHECK-NEXT: Section: .text 49; CHECK-NEXT: Type: 0x0 50; CHECK-NEXT: StorageClass: C_EXT (0x2) 51; CHECK-NEXT: NumberOfAuxEntries: 1 52; CHECK-NEXT: CSECT Auxiliary Entry { 53; CHECK-NEXT: Index: [[#Index+3]] 54; CHECK-NEXT: ContainingCsectSymbolIndex: [[#Index]] 55; CHECK-NEXT: ParameterHashIndex: 0x0 56; CHECK-NEXT: TypeChkSectNum: 0x0 57; CHECK-NEXT: SymbolAlignmentLog2: 0 58; CHECK-NEXT: SymbolType: XTY_LD (0x2) 59; CHECK-NEXT: StorageMappingClass: XMC_PR (0x0) 60; CHECK-NEXT: StabInfoIndex: 0x0 61; CHECK-NEXT: StabSectNum: 0x0 62; CHECK-NEXT: } 63; CHECK-NEXT: } 64; CHECK-NEXT: Symbol { 65; CHECK-NEXT: Index: [[#Index+4]] 66; CHECK-NEXT: Name: foo 67; CHECK-NEXT: Value (RelocatableAddress): 0x4 68; CHECK-NEXT: Section: .data 69; CHECK-NEXT: Type: 0x0 70; CHECK-NEXT: StorageClass: C_EXT (0x2) 71; CHECK-NEXT: NumberOfAuxEntries: 1 72; CHECK-NEXT: CSECT Auxiliary Entry { 73; CHECK-NEXT: Index: [[#Index+5]] 74; CHECK-NEXT: SectionLen: 12 75; CHECK-NEXT: ParameterHashIndex: 0x0 76; CHECK-NEXT: TypeChkSectNum: 0x0 77; CHECK-NEXT: SymbolAlignmentLog2: 2 78; CHECK-NEXT: SymbolType: XTY_SD (0x1) 79; CHECK-NEXT: StorageMappingClass: XMC_DS (0xA) 80; CHECK-NEXT: StabInfoIndex: 0x0 81; CHECK-NEXT: StabSectNum: 0x0 82; CHECK-NEXT: } 83; CHECK-NEXT: } 84; CHECK-NEXT: Symbol { 85; CHECK-NEXT: Index: [[#Index+6]] 86; CHECK-NEXT: Name: TOC 87; CHECK-NEXT: Value (RelocatableAddress): 0x10 88; CHECK-NEXT: Section: .data 89; CHECK-NEXT: Type: 0x0 90; CHECK-NEXT: StorageClass: C_HIDEXT (0x6B) 91; CHECK-NEXT: NumberOfAuxEntries: 1 92; CHECK-NEXT: CSECT Auxiliary Entry { 93; CHECK-NEXT: Index: [[#Index+7]] 94; CHECK-NEXT: SectionLen: 0 95; CHECK-NEXT: ParameterHashIndex: 0x0 96; CHECK-NEXT: TypeChkSectNum: 0x0 97; CHECK-NEXT: SymbolAlignmentLog2: 2 98; CHECK-NEXT: SymbolType: XTY_SD (0x1) 99; CHECK-NEXT: StorageMappingClass: XMC_TC0 (0xF) 100; CHECK-NEXT: StabInfoIndex: 0x0 101; CHECK-NEXT: StabSectNum: 0x0 102; CHECK-NEXT: } 103; CHECK-NEXT: } 104