369 lines
13 KiB
Plaintext
369 lines
13 KiB
Plaintext
## This file tests the ability of llvm-readobj to display the symbol table for a
|
|
## 32-bit XCOFF object file.
|
|
|
|
# RUN: yaml2obj %s -o %t
|
|
# RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL32 %s
|
|
|
|
--- !XCOFF
|
|
FileHeader:
|
|
MagicNumber: 0x1DF
|
|
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_STAT symbol with a SECT auxiliary entry.
|
|
- Name: .text
|
|
Value: 0x0
|
|
Section: .text
|
|
Type: 0x0
|
|
StorageClass: C_STAT
|
|
NumberOfAuxEntries: 1
|
|
AuxEntries:
|
|
- Type: AUX_STAT
|
|
SectionLength: 256
|
|
NumberOfRelocEnt: 4
|
|
NumberOfLineNum: 4
|
|
## 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: 7
|
|
StorageMappingClass: XMC_PR
|
|
SectionOrLength: 256
|
|
StabInfoIndex: 5
|
|
StabSectNum: 6
|
|
## 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: 1
|
|
TypeChkSectNum: 2
|
|
SymbolAlignmentAndType: 3
|
|
StorageMappingClass: XMC_PR
|
|
SectionOrLength: 256
|
|
StabInfoIndex: 4
|
|
StabSectNum: 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
|
|
SectionOrLength: 256
|
|
StabInfoIndex: 2
|
|
StabSectNum: 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
|
|
OffsetToExceptionTbl: 2
|
|
SizeOfFunction: 3
|
|
SymIdxOfNextBeyond: 4
|
|
PtrToLineNum: 5
|
|
- Type: AUX_CSECT
|
|
ParameterHashIndex: 11
|
|
TypeChkSectNum: 22
|
|
SymbolAlignmentAndType: 33
|
|
StorageMappingClass: XMC_PR
|
|
SectionOrLength: 256
|
|
StabInfoIndex: 44
|
|
StabSectNum: 55
|
|
## The C_DWARF symbol with a SECT auxiliary entry.
|
|
- Name: .fun4
|
|
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: .fun5
|
|
StorageClass: C_BLOCK
|
|
NumberOfAuxEntries: 1
|
|
AuxEntries:
|
|
- Type: AUX_SYM
|
|
LineNumHi: 2
|
|
LineNumLo: 3
|
|
## The C_FCN symbol with a Block auxiliary entry.
|
|
- Name: .fun6
|
|
StorageClass: C_FCN
|
|
NumberOfAuxEntries: 1
|
|
AuxEntries:
|
|
- Type: AUX_SYM
|
|
LineNumHi: 2
|
|
LineNumLo: 3
|
|
|
|
##The C_WEAKEXT symbol with two Function auxiliary entries and a CSECT auxiliary entry.
|
|
- Name: .fun7
|
|
Value: 0x0
|
|
Section: .text
|
|
Type: 0x00
|
|
StorageClass: C_WEAKEXT
|
|
NumberOfAuxEntries: 3
|
|
AuxEntries:
|
|
- Type: AUX_FCN
|
|
OffsetToExceptionTbl: 2
|
|
SizeOfFunction: 3
|
|
SymIdxOfNextBeyond: 4
|
|
PtrToLineNum: 5
|
|
- Type: AUX_FCN
|
|
OffsetToExceptionTbl: 8
|
|
SizeOfFunction: 5
|
|
SymIdxOfNextBeyond: 8
|
|
PtrToLineNum: 5
|
|
- Type: AUX_CSECT
|
|
ParameterHashIndex: 11
|
|
TypeChkSectNum: 22
|
|
SymbolAlignmentAndType: 33
|
|
StorageMappingClass: XMC_PR
|
|
SectionOrLength: 256
|
|
StabInfoIndex: 44
|
|
StabSectNum: 55
|
|
|
|
# SYMBOL32: Symbols [
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 0
|
|
# SYMBOL32-NEXT: Name: .file
|
|
# SYMBOL32-NEXT: Value (SymbolTableIndex): 0x0
|
|
# SYMBOL32-NEXT: Section: N_DEBUG
|
|
# SYMBOL32-NEXT: Source Language ID: TB_C (0x0)
|
|
# SYMBOL32-NEXT: CPU Version ID: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_FILE (0x67)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 3
|
|
# SYMBOL32-NEXT: File Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 1
|
|
# SYMBOL32-NEXT: Name: test
|
|
# SYMBOL32-NEXT: Type: XFT_FN (0x0)
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: File Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 2
|
|
# SYMBOL32-NEXT: Name: foo
|
|
# SYMBOL32-NEXT: Type: XFT_CT (0x1)
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: File Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 3
|
|
# SYMBOL32-NEXT: Name: bar
|
|
# SYMBOL32-NEXT: Type: XFT_CV (0x2)
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 4
|
|
# SYMBOL32-NEXT: Name: .text
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: .text
|
|
# SYMBOL32-NEXT: Type: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_STAT (0x3)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: Sect Auxiliary Entry For Stat {
|
|
# SYMBOL32-NEXT: Index: 5
|
|
# SYMBOL32-NEXT: SectionLength: 256
|
|
# SYMBOL32-NEXT: NumberOfRelocEnt: 4
|
|
# SYMBOL32-NEXT: NumberOfLineNum: 4
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 6
|
|
# SYMBOL32-NEXT: Name: .fun
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: .text
|
|
# SYMBOL32-NEXT: Type: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: CSECT Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 7
|
|
# SYMBOL32-NEXT: SectionLen: 256
|
|
# SYMBOL32-NEXT: ParameterHashIndex: 0x2
|
|
# SYMBOL32-NEXT: TypeChkSectNum: 0x3
|
|
# SYMBOL32-NEXT: SymbolAlignmentLog2: 0
|
|
# SYMBOL32-NEXT: SymbolType: 0x7
|
|
# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0)
|
|
# SYMBOL32-NEXT: StabInfoIndex: 0x5
|
|
# SYMBOL32-NEXT: StabSectNum: 0x6
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 8
|
|
# SYMBOL32-NEXT: Name: .fun1
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: .text
|
|
# SYMBOL32-NEXT: Type: 0x20
|
|
# SYMBOL32-NEXT: StorageClass: C_EXT (0x2)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: CSECT Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 9
|
|
# SYMBOL32-NEXT: SectionLen: 256
|
|
# SYMBOL32-NEXT: ParameterHashIndex: 0x1
|
|
# SYMBOL32-NEXT: TypeChkSectNum: 0x2
|
|
# SYMBOL32-NEXT: SymbolAlignmentLog2: 0
|
|
# SYMBOL32-NEXT: SymbolType: XTY_CM (0x3)
|
|
# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0)
|
|
# SYMBOL32-NEXT: StabInfoIndex: 0x4
|
|
# SYMBOL32-NEXT: StabSectNum: 0x5
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 10
|
|
# SYMBOL32-NEXT: Name: .fun2
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: .text
|
|
# SYMBOL32-NEXT: Type: 0x20
|
|
# SYMBOL32-NEXT: StorageClass: C_WEAKEXT (0x6F)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: CSECT Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 11
|
|
# SYMBOL32-NEXT: SectionLen: 256
|
|
# SYMBOL32-NEXT: ParameterHashIndex: 0x8
|
|
# SYMBOL32-NEXT: TypeChkSectNum: 0x9
|
|
# SYMBOL32-NEXT: SymbolAlignmentLog2: 0
|
|
# SYMBOL32-NEXT: SymbolType: XTY_SD (0x1)
|
|
# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0)
|
|
# SYMBOL32-NEXT: StabInfoIndex: 0x2
|
|
# SYMBOL32-NEXT: StabSectNum: 0x3
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 12
|
|
# SYMBOL32-NEXT: Name: .fun3
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: N_DEBUG
|
|
# SYMBOL32-NEXT: Type: 0x20
|
|
# SYMBOL32-NEXT: StorageClass: C_WEAKEXT (0x6F)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 2
|
|
# SYMBOL32-NEXT: Function Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 13
|
|
# SYMBOL32-NEXT: OffsetToExceptionTable: 0x2
|
|
# SYMBOL32-NEXT: SizeOfFunction: 0x3
|
|
# SYMBOL32-NEXT: PointerToLineNum: 0x5
|
|
# SYMBOL32-NEXT: SymbolIndexOfNextBeyond: 4
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: CSECT Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 14
|
|
# SYMBOL32-NEXT: SectionLen: 256
|
|
# SYMBOL32-NEXT: ParameterHashIndex: 0xB
|
|
# SYMBOL32-NEXT: TypeChkSectNum: 0x16
|
|
# SYMBOL32-NEXT: SymbolAlignmentLog2: 4
|
|
# SYMBOL32-NEXT: SymbolType: XTY_SD (0x1)
|
|
# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0)
|
|
# SYMBOL32-NEXT: StabInfoIndex: 0x2C
|
|
# SYMBOL32-NEXT: StabSectNum: 0x37
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 15
|
|
# SYMBOL32-NEXT: Name: .fun4
|
|
# SYMBOL32-NEXT: Value (OffsetInDWARF): 0x0
|
|
# SYMBOL32-NEXT: Section: N_DEBUG
|
|
# SYMBOL32-NEXT: Type: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_DWARF (0x70)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: Sect Auxiliary Entry For DWARF {
|
|
# SYMBOL32-NEXT: Index: 16
|
|
# SYMBOL32-NEXT: LengthOfSectionPortion: 0x2
|
|
# SYMBOL32-NEXT: NumberOfRelocEntries: 3
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 17
|
|
# SYMBOL32-NEXT: Name: .fun5
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: N_UNDEF
|
|
# SYMBOL32-NEXT: Type: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_BLOCK (0x64)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: Block Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 18
|
|
# SYMBOL32-NEXT: LineNumber (High 2 Bytes): 0x2
|
|
# SYMBOL32-NEXT: LineNumber (Low 2 Bytes): 0x3
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 19
|
|
# SYMBOL32-NEXT: Name: .fun6
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: N_UNDEF
|
|
# SYMBOL32-NEXT: Type: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_FCN (0x65)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 1
|
|
# SYMBOL32-NEXT: Block Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 20
|
|
# SYMBOL32-NEXT: LineNumber (High 2 Bytes): 0x2
|
|
# SYMBOL32-NEXT: LineNumber (Low 2 Bytes): 0x3
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Symbol {
|
|
# SYMBOL32-NEXT: Index: 21
|
|
# SYMBOL32-NEXT: Name: .fun7
|
|
# SYMBOL32-NEXT: Value (RelocatableAddress): 0x0
|
|
# SYMBOL32-NEXT: Section: .text
|
|
# SYMBOL32-NEXT: Type: 0x0
|
|
# SYMBOL32-NEXT: StorageClass: C_WEAKEXT (0x6F)
|
|
# SYMBOL32-NEXT: NumberOfAuxEntries: 3
|
|
# SYMBOL32-NEXT: Function Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 22
|
|
# SYMBOL32-NEXT: OffsetToExceptionTable: 0x2
|
|
# SYMBOL32-NEXT: SizeOfFunction: 0x3
|
|
# SYMBOL32-NEXT: PointerToLineNum: 0x5
|
|
# SYMBOL32-NEXT: SymbolIndexOfNextBeyond: 4
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: Function Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 23
|
|
# SYMBOL32-NEXT: OffsetToExceptionTable: 0x8
|
|
# SYMBOL32-NEXT: SizeOfFunction: 0x5
|
|
# SYMBOL32-NEXT: PointerToLineNum: 0x5
|
|
# SYMBOL32-NEXT: SymbolIndexOfNextBeyond: 8
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: CSECT Auxiliary Entry {
|
|
# SYMBOL32-NEXT: Index: 24
|
|
# SYMBOL32-NEXT: SectionLen: 256
|
|
# SYMBOL32-NEXT: ParameterHashIndex: 0xB
|
|
# SYMBOL32-NEXT: TypeChkSectNum: 0x16
|
|
# SYMBOL32-NEXT: SymbolAlignmentLog2: 4
|
|
# SYMBOL32-NEXT: SymbolType: XTY_SD (0x1)
|
|
# SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0)
|
|
# SYMBOL32-NEXT: StabInfoIndex: 0x2C
|
|
# SYMBOL32-NEXT: StabSectNum: 0x37
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: }
|
|
# SYMBOL32-NEXT: ]
|