| ## This file tests the ability of llvm-readobj to display the symbol table for a |
| ## 64-bit XCOFF object file. |
| |
| # RUN: yaml2obj %s -o %t |
| # RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL64 %s |
| |
| --- !XCOFF |
| FileHeader: |
| MagicNumber: 0x1F7 |
| Sections: |
| - Name: .text |
| Symbols: |
| ## The C_FILE symbol with File auxiliary entries. |
| - Name: .file |
| Value: 0x0 |
| Section: N_DEBUG |
| Type: 0x0 |
| StorageClass: C_FILE |
| NumberOfAuxEntries: 3 |
| AuxEntries: |
| - Type: AUX_FILE |
| FileNameOrString: "test" |
| FileStringType: XFT_FN |
| - Type: AUX_FILE |
| FileNameOrString: "foo" |
| FileStringType: XFT_CT |
| - Type: AUX_FILE |
| FileNameOrString: "bar" |
| FileStringType: XFT_CV |
| ## The C_HIDEXT symbol with a CSECT auxiliary entry. |
| - Name: .fun |
| Value: 0x0 |
| Section: .text |
| Type: 0x0 |
| StorageClass: C_HIDEXT |
| NumberOfAuxEntries: 1 |
| AuxEntries: |
| - Type: AUX_CSECT |
| ParameterHashIndex: 2 |
| TypeChkSectNum: 3 |
| SymbolAlignmentAndType: 1 |
| StorageMappingClass: XMC_PR |
| SectionOrLengthLo: 4 |
| SectionOrLengthHi: 5 |
| ## The C_EXT symbol with a CSECT auxiliary entry. |
| - Name: .fun1 |
| Value: 0x0 |
| Section: .text |
| Type: 0x20 |
| StorageClass: C_EXT |
| NumberOfAuxEntries: 1 |
| AuxEntries: |
| - Type: AUX_CSECT |
| ParameterHashIndex: 2 |
| TypeChkSectNum: 3 |
| SymbolAlignmentAndType: 1 |
| StorageMappingClass: XMC_PR |
| SectionOrLengthLo: 4 |
| SectionOrLengthHi: 5 |
| ## The C_WEAKEXT symbol with a CSECT auxiliary entry. |
| - Name: .fun2 |
| Value: 0x0 |
| Section: .text |
| Type: 0x20 |
| StorageClass: C_WEAKEXT |
| NumberOfAuxEntries: 1 |
| AuxEntries: |
| - Type: AUX_CSECT |
| ParameterHashIndex: 8 |
| TypeChkSectNum: 9 |
| SymbolAlignmentAndType: 1 |
| StorageMappingClass: XMC_PR |
| SectionOrLengthLo: 2 |
| SectionOrLengthHi: 3 |
| ## The C_WEAKEXT symbol with a Function auxiliary entry and a CSECT auxiliary entry. |
| - Name: .fun3 |
| Value: 0x0 |
| Section: N_DEBUG |
| Type: 0x20 |
| StorageClass: C_WEAKEXT |
| NumberOfAuxEntries: 2 |
| AuxEntries: |
| - Type: AUX_FCN |
| SizeOfFunction: 3 |
| SymIdxOfNextBeyond: 4 |
| PtrToLineNum: 5 |
| - Type: AUX_CSECT |
| ParameterHashIndex: 2 |
| TypeChkSectNum: 3 |
| SymbolAlignmentAndType: 1 |
| StorageMappingClass: XMC_PR |
| SectionOrLengthLo: 4 |
| SectionOrLengthHi: 5 |
| ## The C_EXT symbol with a Function auxiliary entry, a CSECT auxiliary entry, and an Exception auxiliary entry. |
| - Name: .fun4 |
| Value: 0x0 |
| Section: .text |
| Type: 0x20 |
| StorageClass: C_EXT |
| NumberOfAuxEntries: 3 |
| AuxEntries: |
| - Type: AUX_FCN |
| SizeOfFunction: 3 |
| SymIdxOfNextBeyond: 4 |
| PtrToLineNum: 5 |
| - Type: AUX_EXCEPT |
| OffsetToExceptionTbl: 2 |
| SizeOfFunction: 3 |
| SymIdxOfNextBeyond: 4 |
| - Type: AUX_CSECT |
| ParameterHashIndex: 2 |
| TypeChkSectNum: 3 |
| SymbolAlignmentAndType: 1 |
| StorageMappingClass: XMC_PR |
| SectionOrLengthLo: 4 |
| SectionOrLengthHi: 5 |
| ## The C_DWARF symbol with a SECT auxiliary entry. |
| - Name: .fun5 |
| Section: N_DEBUG |
| StorageClass: C_DWARF |
| NumberOfAuxEntries: 1 |
| AuxEntries: |
| - Type: AUX_SECT |
| LengthOfSectionPortion: 2 |
| NumberOfRelocEnt: 3 |
| ## The C_BLOCK symbol with a Block auxiliary entry. |
| - Name: .fun6 |
| StorageClass: C_BLOCK |
| NumberOfAuxEntries: 1 |
| AuxEntries: |
| - Type: AUX_SYM |
| LineNum: 3 |
| ## The C_FCN symbol with a Block auxiliary entry. |
| - Name: .fun7 |
| StorageClass: C_FCN |
| NumberOfAuxEntries: 1 |
| AuxEntries: |
| - Type: AUX_SYM |
| LineNum: 3 |
| |
| # SYMBOL64: Symbols [ |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 0 |
| # SYMBOL64-NEXT: Name: .file |
| # SYMBOL64-NEXT: Value (SymbolTableIndex): 0x0 |
| # SYMBOL64-NEXT: Section: N_DEBUG |
| # SYMBOL64-NEXT: Source Language ID: TB_C (0x0) |
| # SYMBOL64-NEXT: CPU Version ID: 0x0 |
| # SYMBOL64-NEXT: StorageClass: C_FILE (0x67) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 3 |
| # SYMBOL64-NEXT: File Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 1 |
| # SYMBOL64-NEXT: Name: test |
| # SYMBOL64-NEXT: Type: XFT_FN (0x0) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_FILE (0xFC) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: File Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 2 |
| # SYMBOL64-NEXT: Name: foo |
| # SYMBOL64-NEXT: Type: XFT_CT (0x1) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_FILE (0xFC) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: File Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 3 |
| # SYMBOL64-NEXT: Name: bar |
| # SYMBOL64-NEXT: Type: XFT_CV (0x2) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_FILE (0xFC) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 4 |
| # SYMBOL64-NEXT: Name: .fun |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: .text |
| # SYMBOL64-NEXT: Type: 0x0 |
| # SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 1 |
| # SYMBOL64-NEXT: CSECT Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 5 |
| # SYMBOL64-NEXT: SectionLen: 21474836484 |
| # SYMBOL64-NEXT: ParameterHashIndex: 0x2 |
| # SYMBOL64-NEXT: TypeChkSectNum: 0x3 |
| # SYMBOL64-NEXT: SymbolAlignmentLog2: 0 |
| # SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) |
| # SYMBOL64-NEXT: StorageMappingClass: XMC_PR (0x0) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 6 |
| # SYMBOL64-NEXT: Name: .fun1 |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: .text |
| # SYMBOL64-NEXT: Type: 0x20 |
| # SYMBOL64-NEXT: StorageClass: C_EXT (0x2) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 1 |
| # SYMBOL64-NEXT: CSECT Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 7 |
| # SYMBOL64-NEXT: SectionLen: 21474836484 |
| # SYMBOL64-NEXT: ParameterHashIndex: 0x2 |
| # SYMBOL64-NEXT: TypeChkSectNum: 0x3 |
| # SYMBOL64-NEXT: SymbolAlignmentLog2: 0 |
| # SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) |
| # SYMBOL64-NEXT: StorageMappingClass: XMC_PR (0x0) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 8 |
| # SYMBOL64-NEXT: Name: .fun2 |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: .text |
| # SYMBOL64-NEXT: Type: 0x20 |
| # SYMBOL64-NEXT: StorageClass: C_WEAKEXT (0x6F) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 1 |
| # SYMBOL64-NEXT: CSECT Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 9 |
| # SYMBOL64-NEXT: SectionLen: 12884901890 |
| # SYMBOL64-NEXT: ParameterHashIndex: 0x8 |
| # SYMBOL64-NEXT: TypeChkSectNum: 0x9 |
| # SYMBOL64-NEXT: SymbolAlignmentLog2: 0 |
| # SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) |
| # SYMBOL64-NEXT: StorageMappingClass: XMC_PR (0x0) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 10 |
| # SYMBOL64-NEXT: Name: .fun3 |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: N_DEBUG |
| # SYMBOL64-NEXT: Type: 0x20 |
| # SYMBOL64-NEXT: StorageClass: C_WEAKEXT (0x6F) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 2 |
| # SYMBOL64-NEXT: Function Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 11 |
| # SYMBOL64-NEXT: SizeOfFunction: 0x3 |
| # SYMBOL64-NEXT: PointerToLineNum: 0x5 |
| # SYMBOL64-NEXT: SymbolIndexOfNextBeyond: 4 |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_FCN (0xFE) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: CSECT Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 12 |
| # SYMBOL64-NEXT: SectionLen: 21474836484 |
| # SYMBOL64-NEXT: ParameterHashIndex: 0x2 |
| # SYMBOL64-NEXT: TypeChkSectNum: 0x3 |
| # SYMBOL64-NEXT: SymbolAlignmentLog2: 0 |
| # SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) |
| # SYMBOL64-NEXT: StorageMappingClass: XMC_PR (0x0) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 13 |
| # SYMBOL64-NEXT: Name: .fun4 |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: .text |
| # SYMBOL64-NEXT: Type: 0x20 |
| # SYMBOL64-NEXT: StorageClass: C_EXT (0x2) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 3 |
| # SYMBOL64-NEXT: Function Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 14 |
| # SYMBOL64-NEXT: SizeOfFunction: 0x3 |
| # SYMBOL64-NEXT: PointerToLineNum: 0x5 |
| # SYMBOL64-NEXT: SymbolIndexOfNextBeyond: 4 |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_FCN (0xFE) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Exception Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 15 |
| # SYMBOL64-NEXT: OffsetToExceptionTable: 0x2 |
| # SYMBOL64-NEXT: SizeOfFunction: 0x3 |
| # SYMBOL64-NEXT: SymbolIndexOfNextBeyond: 4 |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_EXCEPT (0xFF) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: CSECT Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 16 |
| # SYMBOL64-NEXT: SectionLen: 21474836484 |
| # SYMBOL64-NEXT: ParameterHashIndex: 0x2 |
| # SYMBOL64-NEXT: TypeChkSectNum: 0x3 |
| # SYMBOL64-NEXT: SymbolAlignmentLog2: 0 |
| # SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) |
| # SYMBOL64-NEXT: StorageMappingClass: XMC_PR (0x0) |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 17 |
| # SYMBOL64-NEXT: Name: .fun5 |
| # SYMBOL64-NEXT: Value (OffsetInDWARF): 0x0 |
| # SYMBOL64-NEXT: Section: N_DEBUG |
| # SYMBOL64-NEXT: Type: 0x0 |
| # SYMBOL64-NEXT: StorageClass: C_DWARF (0x70) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 1 |
| # SYMBOL64-NEXT: Sect Auxiliary Entry For DWARF { |
| # SYMBOL64-NEXT: Index: 18 |
| # SYMBOL64-NEXT: LengthOfSectionPortion: 0x2 |
| # SYMBOL64-NEXT: NumberOfRelocEntries: 3 |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_SECT (0xFA) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 19 |
| # SYMBOL64-NEXT: Name: .fun6 |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: N_UNDEF |
| # SYMBOL64-NEXT: Type: 0x0 |
| # SYMBOL64-NEXT: StorageClass: C_BLOCK (0x64) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 1 |
| # SYMBOL64-NEXT: Block Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 20 |
| # SYMBOL64-NEXT: LineNumber: 0x3 |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_SYM (0xFD) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: Symbol { |
| # SYMBOL64-NEXT: Index: 21 |
| # SYMBOL64-NEXT: Name: .fun7 |
| # SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 |
| # SYMBOL64-NEXT: Section: N_UNDEF |
| # SYMBOL64-NEXT: Type: 0x0 |
| # SYMBOL64-NEXT: StorageClass: C_FCN (0x65) |
| # SYMBOL64-NEXT: NumberOfAuxEntries: 1 |
| # SYMBOL64-NEXT: Block Auxiliary Entry { |
| # SYMBOL64-NEXT: Index: 22 |
| # SYMBOL64-NEXT: LineNumber: 0x3 |
| # SYMBOL64-NEXT: Auxiliary Type: AUX_SYM (0xFD) |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: } |
| # SYMBOL64-NEXT: ] |