1## This file tests the ability of llvm-readobj to display the symbol table for a 2## 32-bit XCOFF object file. 3 4# RUN: yaml2obj %s -o %t 5# RUN: llvm-readobj --symbols %t | FileCheck --check-prefixes=SYMBOL32,NODEMANGLE %s 6# RUN: llvm-readobj --symbols --no-demangle %t | FileCheck --check-prefixes=SYMBOL32,NODEMANGLE %s 7# RUN: llvm-readobj --symbols --demangle %t | FileCheck --check-prefixes=SYMBOL32,DEMANGLE %s 8 9--- !XCOFF 10FileHeader: 11 MagicNumber: 0x1DF 12Sections: 13 - Name: .text 14Symbols: 15## The C_FILE symbol with File auxiliary entries. 16 - Name: .file 17 Value: 0x0 18 Section: N_DEBUG 19 Type: 0x0 20 StorageClass: C_FILE 21 NumberOfAuxEntries: 3 22 AuxEntries: 23 - Type: AUX_FILE 24 FileNameOrString: "test" 25 FileStringType: XFT_FN 26 - Type: AUX_FILE 27 FileNameOrString: "foo" 28 FileStringType: XFT_CT 29 - Type: AUX_FILE 30 FileNameOrString: "bar" 31 FileStringType: XFT_CV 32## The C_STAT symbol with a SECT auxiliary entry. 33 - Name: .text 34 Value: 0x0 35 Section: .text 36 Type: 0x0 37 StorageClass: C_STAT 38 NumberOfAuxEntries: 1 39 AuxEntries: 40 - Type: AUX_STAT 41 SectionLength: 256 42 NumberOfRelocEnt: 4 43 NumberOfLineNum: 4 44## The C_HIDEXT symbol with a CSECT auxiliary entry. 45 - Name: .fun 46 Value: 0x0 47 Section: .text 48 Type: 0x0 49 StorageClass: C_HIDEXT 50 NumberOfAuxEntries: 1 51 AuxEntries: 52 - Type: AUX_CSECT 53 ParameterHashIndex: 2 54 TypeChkSectNum: 3 55 SymbolAlignmentAndType: 7 56 StorageMappingClass: XMC_PR 57 SectionOrLength: 256 58 StabInfoIndex: 5 59 StabSectNum: 6 60## The C_EXT symbol with a CSECT auxiliary entry. 61 - Name: ._Z5func1i 62 Value: 0x0 63 Section: .text 64 Type: 0x20 65 StorageClass: C_EXT 66 NumberOfAuxEntries: 1 67 AuxEntries: 68 - Type: AUX_CSECT 69 ParameterHashIndex: 1 70 TypeChkSectNum: 2 71 SymbolAlignmentAndType: 3 72 StorageMappingClass: XMC_PR 73 SectionOrLength: 256 74 StabInfoIndex: 4 75 StabSectNum: 5 76## The C_WEAKEXT symbol with a CSECT auxiliary entry. 77 - Name: .fun2 78 Value: 0x0 79 Section: .text 80 Type: 0x20 81 StorageClass: C_WEAKEXT 82 NumberOfAuxEntries: 1 83 AuxEntries: 84 - Type: AUX_CSECT 85 ParameterHashIndex: 8 86 TypeChkSectNum: 9 87 SymbolAlignmentAndType: 1 88 StorageMappingClass: XMC_PR 89 SectionOrLength: 256 90 StabInfoIndex: 2 91 StabSectNum: 3 92## The C_WEAKEXT symbol with a Function auxiliary entry and a CSECT auxiliary entry. 93 - Name: .fun3 94 Value: 0x0 95 Section: N_DEBUG 96 Type: 0x20 97 StorageClass: C_WEAKEXT 98 NumberOfAuxEntries: 2 99 AuxEntries: 100 - Type: AUX_FCN 101 OffsetToExceptionTbl: 2 102 SizeOfFunction: 3 103 SymIdxOfNextBeyond: 4 104 PtrToLineNum: 5 105 - Type: AUX_CSECT 106 ParameterHashIndex: 11 107 TypeChkSectNum: 22 108 SymbolAlignmentAndType: 33 109 StorageMappingClass: XMC_PR 110 SectionOrLength: 256 111 StabInfoIndex: 44 112 StabSectNum: 55 113## The C_DWARF symbol with a SECT auxiliary entry. 114 - Name: .fun4 115 Section: N_DEBUG 116 StorageClass: C_DWARF 117 NumberOfAuxEntries: 1 118 AuxEntries: 119 - Type: AUX_SECT 120 LengthOfSectionPortion: 2 121 NumberOfRelocEnt: 3 122## The C_BLOCK symbol with a Block auxiliary entry. 123 - Name: .fun5 124 StorageClass: C_BLOCK 125 NumberOfAuxEntries: 1 126 AuxEntries: 127 - Type: AUX_SYM 128 LineNumHi: 2 129 LineNumLo: 3 130## The C_FCN symbol with a Block auxiliary entry. 131 - Name: .fun6 132 StorageClass: C_FCN 133 NumberOfAuxEntries: 1 134 AuxEntries: 135 - Type: AUX_SYM 136 LineNumHi: 2 137 LineNumLo: 3 138 139##The C_WEAKEXT symbol with two Function auxiliary entries and a CSECT auxiliary entry. 140 - Name: .fun7 141 Value: 0x0 142 Section: .text 143 Type: 0x00 144 StorageClass: C_WEAKEXT 145 NumberOfAuxEntries: 3 146 AuxEntries: 147 - Type: AUX_FCN 148 OffsetToExceptionTbl: 2 149 SizeOfFunction: 3 150 SymIdxOfNextBeyond: 4 151 PtrToLineNum: 5 152 - Type: AUX_FCN 153 OffsetToExceptionTbl: 8 154 SizeOfFunction: 5 155 SymIdxOfNextBeyond: 8 156 PtrToLineNum: 5 157 - Type: AUX_CSECT 158 ParameterHashIndex: 11 159 TypeChkSectNum: 22 160 SymbolAlignmentAndType: 33 161 StorageMappingClass: XMC_PR 162 SectionOrLength: 256 163 StabInfoIndex: 44 164 StabSectNum: 55 165 166# SYMBOL32: Symbols [ 167# SYMBOL32-NEXT: Symbol { 168# SYMBOL32-NEXT: Index: 0 169# SYMBOL32-NEXT: Name: .file 170# SYMBOL32-NEXT: Value (SymbolTableIndex): 0x0 171# SYMBOL32-NEXT: Section: N_DEBUG 172# SYMBOL32-NEXT: Source Language ID: TB_C (0x0) 173# SYMBOL32-NEXT: CPU Version ID: TCPU_INVALID (0x0) 174# SYMBOL32-NEXT: StorageClass: C_FILE (0x67) 175# SYMBOL32-NEXT: NumberOfAuxEntries: 3 176# SYMBOL32-NEXT: File Auxiliary Entry { 177# SYMBOL32-NEXT: Index: 1 178# SYMBOL32-NEXT: Name: test 179# SYMBOL32-NEXT: Type: XFT_FN (0x0) 180# SYMBOL32-NEXT: } 181# SYMBOL32-NEXT: File Auxiliary Entry { 182# SYMBOL32-NEXT: Index: 2 183# SYMBOL32-NEXT: Name: foo 184# SYMBOL32-NEXT: Type: XFT_CT (0x1) 185# SYMBOL32-NEXT: } 186# SYMBOL32-NEXT: File Auxiliary Entry { 187# SYMBOL32-NEXT: Index: 3 188# SYMBOL32-NEXT: Name: bar 189# SYMBOL32-NEXT: Type: XFT_CV (0x2) 190# SYMBOL32-NEXT: } 191# SYMBOL32-NEXT: } 192# SYMBOL32-NEXT: Symbol { 193# SYMBOL32-NEXT: Index: 4 194# SYMBOL32-NEXT: Name: .text 195# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 196# SYMBOL32-NEXT: Section: .text 197# SYMBOL32-NEXT: Type: 0x0 198# SYMBOL32-NEXT: StorageClass: C_STAT (0x3) 199# SYMBOL32-NEXT: NumberOfAuxEntries: 1 200# SYMBOL32-NEXT: Sect Auxiliary Entry For Stat { 201# SYMBOL32-NEXT: Index: 5 202# SYMBOL32-NEXT: SectionLength: 256 203# SYMBOL32-NEXT: NumberOfRelocEnt: 4 204# SYMBOL32-NEXT: NumberOfLineNum: 4 205# SYMBOL32-NEXT: } 206# SYMBOL32-NEXT: } 207# SYMBOL32-NEXT: Symbol { 208# SYMBOL32-NEXT: Index: 6 209# SYMBOL32-NEXT: Name: .fun 210# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 211# SYMBOL32-NEXT: Section: .text 212# SYMBOL32-NEXT: Type: 0x0 213# SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) 214# SYMBOL32-NEXT: NumberOfAuxEntries: 1 215# SYMBOL32-NEXT: CSECT Auxiliary Entry { 216# SYMBOL32-NEXT: Index: 7 217# SYMBOL32-NEXT: SectionLen: 256 218# SYMBOL32-NEXT: ParameterHashIndex: 0x2 219# SYMBOL32-NEXT: TypeChkSectNum: 0x3 220# SYMBOL32-NEXT: SymbolAlignmentLog2: 0 221# SYMBOL32-NEXT: SymbolType: 0x7 222# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) 223# SYMBOL32-NEXT: StabInfoIndex: 0x5 224# SYMBOL32-NEXT: StabSectNum: 0x6 225# SYMBOL32-NEXT: } 226# SYMBOL32-NEXT: } 227# SYMBOL32-NEXT: Symbol { 228# SYMBOL32-NEXT: Index: 8 229# NODEMANGLE-NEXT: Name: ._Z5func1i 230# DEMANGLE-NEXT: Name: .func1(int) 231# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 232# SYMBOL32-NEXT: Section: .text 233# SYMBOL32-NEXT: Type: 0x20 234# SYMBOL32-NEXT: StorageClass: C_EXT (0x2) 235# SYMBOL32-NEXT: NumberOfAuxEntries: 1 236# SYMBOL32-NEXT: CSECT Auxiliary Entry { 237# SYMBOL32-NEXT: Index: 9 238# SYMBOL32-NEXT: SectionLen: 256 239# SYMBOL32-NEXT: ParameterHashIndex: 0x1 240# SYMBOL32-NEXT: TypeChkSectNum: 0x2 241# SYMBOL32-NEXT: SymbolAlignmentLog2: 0 242# SYMBOL32-NEXT: SymbolType: XTY_CM (0x3) 243# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) 244# SYMBOL32-NEXT: StabInfoIndex: 0x4 245# SYMBOL32-NEXT: StabSectNum: 0x5 246# SYMBOL32-NEXT: } 247# SYMBOL32-NEXT: } 248# SYMBOL32-NEXT: Symbol { 249# SYMBOL32-NEXT: Index: 10 250# SYMBOL32-NEXT: Name: .fun2 251# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 252# SYMBOL32-NEXT: Section: .text 253# SYMBOL32-NEXT: Type: 0x20 254# SYMBOL32-NEXT: StorageClass: C_WEAKEXT (0x6F) 255# SYMBOL32-NEXT: NumberOfAuxEntries: 1 256# SYMBOL32-NEXT: CSECT Auxiliary Entry { 257# SYMBOL32-NEXT: Index: 11 258# SYMBOL32-NEXT: SectionLen: 256 259# SYMBOL32-NEXT: ParameterHashIndex: 0x8 260# SYMBOL32-NEXT: TypeChkSectNum: 0x9 261# SYMBOL32-NEXT: SymbolAlignmentLog2: 0 262# SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) 263# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) 264# SYMBOL32-NEXT: StabInfoIndex: 0x2 265# SYMBOL32-NEXT: StabSectNum: 0x3 266# SYMBOL32-NEXT: } 267# SYMBOL32-NEXT: } 268# SYMBOL32-NEXT: Symbol { 269# SYMBOL32-NEXT: Index: 12 270# SYMBOL32-NEXT: Name: .fun3 271# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 272# SYMBOL32-NEXT: Section: N_DEBUG 273# SYMBOL32-NEXT: Type: 0x20 274# SYMBOL32-NEXT: StorageClass: C_WEAKEXT (0x6F) 275# SYMBOL32-NEXT: NumberOfAuxEntries: 2 276# SYMBOL32-NEXT: Function Auxiliary Entry { 277# SYMBOL32-NEXT: Index: 13 278# SYMBOL32-NEXT: OffsetToExceptionTable: 0x2 279# SYMBOL32-NEXT: SizeOfFunction: 0x3 280# SYMBOL32-NEXT: PointerToLineNum: 0x5 281# SYMBOL32-NEXT: SymbolIndexOfNextBeyond: 4 282# SYMBOL32-NEXT: } 283# SYMBOL32-NEXT: CSECT Auxiliary Entry { 284# SYMBOL32-NEXT: Index: 14 285# SYMBOL32-NEXT: SectionLen: 256 286# SYMBOL32-NEXT: ParameterHashIndex: 0xB 287# SYMBOL32-NEXT: TypeChkSectNum: 0x16 288# SYMBOL32-NEXT: SymbolAlignmentLog2: 4 289# SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) 290# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) 291# SYMBOL32-NEXT: StabInfoIndex: 0x2C 292# SYMBOL32-NEXT: StabSectNum: 0x37 293# SYMBOL32-NEXT: } 294# SYMBOL32-NEXT: } 295# SYMBOL32-NEXT: Symbol { 296# SYMBOL32-NEXT: Index: 15 297# SYMBOL32-NEXT: Name: .fun4 298# SYMBOL32-NEXT: Value (OffsetInDWARF): 0x0 299# SYMBOL32-NEXT: Section: N_DEBUG 300# SYMBOL32-NEXT: Type: 0x0 301# SYMBOL32-NEXT: StorageClass: C_DWARF (0x70) 302# SYMBOL32-NEXT: NumberOfAuxEntries: 1 303# SYMBOL32-NEXT: Sect Auxiliary Entry For DWARF { 304# SYMBOL32-NEXT: Index: 16 305# SYMBOL32-NEXT: LengthOfSectionPortion: 0x2 306# SYMBOL32-NEXT: NumberOfRelocEntries: 3 307# SYMBOL32-NEXT: } 308# SYMBOL32-NEXT: } 309# SYMBOL32-NEXT: Symbol { 310# SYMBOL32-NEXT: Index: 17 311# SYMBOL32-NEXT: Name: .fun5 312# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 313# SYMBOL32-NEXT: Section: N_UNDEF 314# SYMBOL32-NEXT: Type: 0x0 315# SYMBOL32-NEXT: StorageClass: C_BLOCK (0x64) 316# SYMBOL32-NEXT: NumberOfAuxEntries: 1 317# SYMBOL32-NEXT: Block Auxiliary Entry { 318# SYMBOL32-NEXT: Index: 18 319# SYMBOL32-NEXT: LineNumber (High 2 Bytes): 0x2 320# SYMBOL32-NEXT: LineNumber (Low 2 Bytes): 0x3 321# SYMBOL32-NEXT: } 322# SYMBOL32-NEXT: } 323# SYMBOL32-NEXT: Symbol { 324# SYMBOL32-NEXT: Index: 19 325# SYMBOL32-NEXT: Name: .fun6 326# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 327# SYMBOL32-NEXT: Section: N_UNDEF 328# SYMBOL32-NEXT: Type: 0x0 329# SYMBOL32-NEXT: StorageClass: C_FCN (0x65) 330# SYMBOL32-NEXT: NumberOfAuxEntries: 1 331# SYMBOL32-NEXT: Block Auxiliary Entry { 332# SYMBOL32-NEXT: Index: 20 333# SYMBOL32-NEXT: LineNumber (High 2 Bytes): 0x2 334# SYMBOL32-NEXT: LineNumber (Low 2 Bytes): 0x3 335# SYMBOL32-NEXT: } 336# SYMBOL32-NEXT: } 337# SYMBOL32-NEXT: Symbol { 338# SYMBOL32-NEXT: Index: 21 339# SYMBOL32-NEXT: Name: .fun7 340# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 341# SYMBOL32-NEXT: Section: .text 342# SYMBOL32-NEXT: Type: 0x0 343# SYMBOL32-NEXT: StorageClass: C_WEAKEXT (0x6F) 344# SYMBOL32-NEXT: NumberOfAuxEntries: 3 345# SYMBOL32-NEXT: Function Auxiliary Entry { 346# SYMBOL32-NEXT: Index: 22 347# SYMBOL32-NEXT: OffsetToExceptionTable: 0x2 348# SYMBOL32-NEXT: SizeOfFunction: 0x3 349# SYMBOL32-NEXT: PointerToLineNum: 0x5 350# SYMBOL32-NEXT: SymbolIndexOfNextBeyond: 4 351# SYMBOL32-NEXT: } 352# SYMBOL32-NEXT: Function Auxiliary Entry { 353# SYMBOL32-NEXT: Index: 23 354# SYMBOL32-NEXT: OffsetToExceptionTable: 0x8 355# SYMBOL32-NEXT: SizeOfFunction: 0x5 356# SYMBOL32-NEXT: PointerToLineNum: 0x5 357# SYMBOL32-NEXT: SymbolIndexOfNextBeyond: 8 358# SYMBOL32-NEXT: } 359# SYMBOL32-NEXT: CSECT Auxiliary Entry { 360# SYMBOL32-NEXT: Index: 24 361# SYMBOL32-NEXT: SectionLen: 256 362# SYMBOL32-NEXT: ParameterHashIndex: 0xB 363# SYMBOL32-NEXT: TypeChkSectNum: 0x16 364# SYMBOL32-NEXT: SymbolAlignmentLog2: 4 365# SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) 366# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) 367# SYMBOL32-NEXT: StabInfoIndex: 0x2C 368# SYMBOL32-NEXT: StabSectNum: 0x37 369# SYMBOL32-NEXT: } 370# SYMBOL32-NEXT: } 371# SYMBOL32-NEXT: ] 372