diff --git a/llvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o b/llvm/test/tools/llvm-readobj/XCOFF/Inputs/file-aux-wrong64.o deleted file mode 100644 index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@ cat test8.c -# -# extern int i; -# extern int TestforXcoff; -# extern int fun(int i); -# static int static_i; -# char* p="abcd"; -# int fun1(int j) { -# static_i++; -# j++; -# j=j+*p; -# return j; -# } -# -# int main() { -# i++; -# fun(i); -# return fun1(i); -# } -# -# > xlc -c test8.c -o symbol.o +## This file tests the ability of llvm-readobj to display the symbol table for a +## 32-bit XCOFF object file. -RUN: llvm-readobj --symbols %p/Inputs/symbol.o | \ -RUN: FileCheck --check-prefix=SYMBOL32 %s +# RUN: yaml2obj %s -o %t +# RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL32 %s -SYMBOL32: File: {{.*}}symbol.o -SYMBOL32-NEXT: Format: aixcoff-rs6000 -SYMBOL32-NEXT: Arch: powerpc -SYMBOL32-NEXT: AddressSize: 32bit -SYMBOL32-NEXT: 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: TCPU_COM (0x3) -SYMBOL32-NEXT: StorageClass: C_FILE (0x67) -SYMBOL32-NEXT: NumberOfAuxEntries: 3 -SYMBOL32-NEXT: File Auxiliary Entry { -SYMBOL32-NEXT: Index: 1 -SYMBOL32-NEXT: Name: test8.c -SYMBOL32-NEXT: Type: XFT_FN (0x0) -SYMBOL32-NEXT: } -SYMBOL32-NEXT: File Auxiliary Entry { -SYMBOL32-NEXT: Index: 2 -SYMBOL32-NEXT: Name: Sun Apr 28 15:56:49 2019 -SYMBOL32-NEXT: Type: XFT_CT (0x1) -SYMBOL32-NEXT: } -SYMBOL32-NEXT: File Auxiliary Entry { -SYMBOL32-NEXT: Index: 3 -SYMBOL32-NEXT: Name: IBM XL C for AIX, Version 16.1.0.2 -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: 0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 6 -SYMBOL32-NEXT: Name: .data -SYMBOL32-NEXT: Value (RelocatableAddress): 0x100 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_STAT (0x3) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: Sect Auxiliary Entry For Stat { -SYMBOL32-NEXT: Index: 7 -SYMBOL32-NEXT: SectionLength: 60 -SYMBOL32-NEXT: NumberOfRelocEnt: 11 -SYMBOL32-NEXT: NumberOfLineNum: 0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 8 -SYMBOL32-NEXT: Name: .bss -SYMBOL32-NEXT: Value (RelocatableAddress): 0x13C -SYMBOL32-NEXT: Section: .bss -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_STAT (0x3) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: Sect Auxiliary Entry For Stat { -SYMBOL32-NEXT: Index: 9 -SYMBOL32-NEXT: SectionLength: 4 -SYMBOL32-NEXT: NumberOfRelocEnt: 0 -SYMBOL32-NEXT: NumberOfLineNum: 0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 10 -SYMBOL32-NEXT: Name: -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: 11 -SYMBOL32-NEXT: SectionLen: 256 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 7 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 12 -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: 13 -SYMBOL32-NEXT: ContainingCsectSymbolIndex: 10 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 0 -SYMBOL32-NEXT: SymbolType: XTY_LD (0x2) -SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 14 -SYMBOL32-NEXT: Name: .main -SYMBOL32-NEXT: Value (RelocatableAddress): 0x60 -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: 15 -SYMBOL32-NEXT: ContainingCsectSymbolIndex: 10 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 0 -SYMBOL32-NEXT: SymbolType: XTY_LD (0x2) -SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 16 -SYMBOL32-NEXT: Name: TOC -SYMBOL32-NEXT: Value (RelocatableAddress): 0x100 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 17 -SYMBOL32-NEXT: SectionLen: 0 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC0 (0xF) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 18 -SYMBOL32-NEXT: Name: -SYMBOL32-NEXT: Value (RelocatableAddress): 0x114 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 19 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC (0x3) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 20 -SYMBOL32-NEXT: Name: -SYMBOL32-NEXT: Value (RelocatableAddress): 0x134 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 21 -SYMBOL32-NEXT: SectionLen: 5 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 3 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_RO (0x1) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 22 -SYMBOL32-NEXT: Name: _$STATIC_BSS -SYMBOL32-NEXT: Value (RelocatableAddress): 0x13C -SYMBOL32-NEXT: Section: .bss -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 23 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_CM (0x3) -SYMBOL32-NEXT: StorageMappingClass: XMC_RW (0x5) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 24 -SYMBOL32-NEXT: Name: _$STATIC_BSS -SYMBOL32-NEXT: Value (RelocatableAddress): 0x104 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 25 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC (0x3) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 26 -SYMBOL32-NEXT: Name: fun1 -SYMBOL32-NEXT: Value (RelocatableAddress): 0x118 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_EXT (0x2) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 27 -SYMBOL32-NEXT: SectionLen: 12 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_DS (0xA) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 28 -SYMBOL32-NEXT: Name: fun1 -SYMBOL32-NEXT: Value (RelocatableAddress): 0x100 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 29 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC (0x3) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 30 -SYMBOL32-NEXT: Name: p -SYMBOL32-NEXT: Value (RelocatableAddress): 0x130 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_EXT (0x2) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 31 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_RW (0x5) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 32 -SYMBOL32-NEXT: Name: p -SYMBOL32-NEXT: Value (RelocatableAddress): 0x108 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 33 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC (0x3) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 34 -SYMBOL32-NEXT: Name: main -SYMBOL32-NEXT: Value (RelocatableAddress): 0x124 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_EXT (0x2) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 35 -SYMBOL32-NEXT: SectionLen: 12 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_DS (0xA) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 36 -SYMBOL32-NEXT: Name: main -SYMBOL32-NEXT: Value (RelocatableAddress): 0x10C -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 37 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC (0x3) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 38 -SYMBOL32-NEXT: Name: i -SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 -SYMBOL32-NEXT: Section: N_UNDEF -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_EXT (0x2) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 39 -SYMBOL32-NEXT: SectionLen: 0 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 0 -SYMBOL32-NEXT: SymbolType: XTY_ER (0x0) -SYMBOL32-NEXT: StorageMappingClass: XMC_UA (0x4) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 40 -SYMBOL32-NEXT: Name: i -SYMBOL32-NEXT: Value (RelocatableAddress): 0x110 -SYMBOL32-NEXT: Section: .data -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_HIDEXT (0x6B) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 41 -SYMBOL32-NEXT: SectionLen: 4 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 2 -SYMBOL32-NEXT: SymbolType: XTY_SD (0x1) -SYMBOL32-NEXT: StorageMappingClass: XMC_TC (0x3) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: Symbol { -SYMBOL32-NEXT: Index: 42 -SYMBOL32-NEXT: Name: .fun -SYMBOL32-NEXT: Value (RelocatableAddress): 0x0 -SYMBOL32-NEXT: Section: N_UNDEF -SYMBOL32-NEXT: Type: 0x0 -SYMBOL32-NEXT: StorageClass: C_EXT (0x2) -SYMBOL32-NEXT: NumberOfAuxEntries: 1 -SYMBOL32-NEXT: CSECT Auxiliary Entry { -SYMBOL32-NEXT: Index: 43 -SYMBOL32-NEXT: SectionLen: 0 -SYMBOL32-NEXT: ParameterHashIndex: 0x0 -SYMBOL32-NEXT: TypeChkSectNum: 0x0 -SYMBOL32-NEXT: SymbolAlignmentLog2: 0 -SYMBOL32-NEXT: SymbolType: XTY_ER (0x0) -SYMBOL32-NEXT: StorageMappingClass: XMC_PR (0x0) -SYMBOL32-NEXT: StabInfoIndex: 0x0 -SYMBOL32-NEXT: StabSectNum: 0x0 -SYMBOL32-NEXT: } -SYMBOL32-NEXT: } -SYMBOL32-NEXT: ] +--- !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 + +# 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: ] diff --git a/llvm/test/tools/llvm-readobj/XCOFF/symbols64.test b/llvm/test/tools/llvm-readobj/XCOFF/symbols64.test --- a/llvm/test/tools/llvm-readobj/XCOFF/symbols64.test +++ b/llvm/test/tools/llvm-readobj/XCOFF/symbols64.test @@ -1,387 +1,162 @@ ## This file tests the ability of llvm-readobj to display the symbol table for a ## 64-bit XCOFF object file. -## The object file used is generated by the following source file -## and command on AIX: -## -## > cat test8.c -## -## extern int i; -## extern int TestforXcoff; -## extern int fun(int i); -## static int static_i; -## char* p="abcd"; -## int fun1(int j) { -## static_i++; -## j++; -## j=j+*p; -## return j; -## } -## -## int main() { -## i++; -## fun(i); -## return fun1(i); -## } -## -## > xlc -q64 -c test8.c -o symbol64.o -# RUN: llvm-readobj --symbols %p/Inputs/symbol64.o | \ -# RUN: FileCheck --check-prefix=SYMBOL64 %s +# RUN: yaml2obj %s -o %t +# RUN: llvm-readobj --symbols %t | FileCheck --check-prefix=SYMBOL64 %s -# SYMBOL64: File: {{.*}}symbol64.o -# SYMBOL64-NEXT: Format: aix5coff64-rs6000 -# SYMBOL64-NEXT: Arch: powerpc64 -# SYMBOL64-NEXT: AddressSize: 64bit -# SYMBOL64-NEXT: 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: TCPU_PPC64 (0x2) -# SYMBOL64-NEXT: StorageClass: C_FILE (0x67) -# SYMBOL64-NEXT: NumberOfAuxEntries: 3 -# SYMBOL64-NEXT: File Auxiliary Entry { -# SYMBOL64-NEXT: Index: 1 -# SYMBOL64-NEXT: Name: test64.c -# 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: Mon Aug 10 16:07:48 2020 -# 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: IBM XL C for AIX, Version 16.1.0.6 -# 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: -# 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: 256 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 7 -# 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: ContainingCsectSymbolIndex: 4 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 0 -# SYMBOL64-NEXT: SymbolType: XTY_LD (0x2) -# 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: .main -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x80 -# 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: 9 -# SYMBOL64-NEXT: ContainingCsectSymbolIndex: 4 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 0 -# SYMBOL64-NEXT: SymbolType: XTY_LD (0x2) -# 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: TOC -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x100 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 11 -# SYMBOL64-NEXT: SectionLen: 0 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 2 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC0 (0xF) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 12 -# SYMBOL64-NEXT: Name: -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x128 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 13 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC (0x3) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 14 -# SYMBOL64-NEXT: Name: -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x168 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 15 -# SYMBOL64-NEXT: SectionLen: 5 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_RO (0x1) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 16 -# SYMBOL64-NEXT: Name: _$STATIC_BSS -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x170 -# SYMBOL64-NEXT: Section: .bss -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 17 -# SYMBOL64-NEXT: SectionLen: 4 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 2 -# SYMBOL64-NEXT: SymbolType: XTY_CM (0x3) -# SYMBOL64-NEXT: StorageMappingClass: XMC_RW (0x5) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 18 -# SYMBOL64-NEXT: Name: _$STATIC_BSS -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x108 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 19 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC (0x3) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 20 -# SYMBOL64-NEXT: Name: fun1 -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x130 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_EXT (0x2) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 21 -# SYMBOL64-NEXT: SectionLen: 24 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_DS (0xA) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 22 -# SYMBOL64-NEXT: Name: fun1 -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x100 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 23 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC (0x3) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 24 -# SYMBOL64-NEXT: Name: p -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x160 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_EXT (0x2) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 25 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_RW (0x5) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 26 -# SYMBOL64-NEXT: Name: p -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x110 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 27 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC (0x3) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 28 -# SYMBOL64-NEXT: Name: main -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x148 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_EXT (0x2) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 29 -# SYMBOL64-NEXT: SectionLen: 24 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_DS (0xA) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 30 -# SYMBOL64-NEXT: Name: main -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x118 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 31 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC (0x3) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 32 -# SYMBOL64-NEXT: Name: i -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 -# SYMBOL64-NEXT: Section: N_UNDEF -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_EXT (0x2) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 33 -# SYMBOL64-NEXT: SectionLen: 0 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 0 -# SYMBOL64-NEXT: SymbolType: XTY_ER (0x0) -# SYMBOL64-NEXT: StorageMappingClass: XMC_UA (0x4) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 34 -# SYMBOL64-NEXT: Name: i -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x120 -# SYMBOL64-NEXT: Section: .data -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_HIDEXT (0x6B) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 35 -# SYMBOL64-NEXT: SectionLen: 8 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 3 -# SYMBOL64-NEXT: SymbolType: XTY_SD (0x1) -# SYMBOL64-NEXT: StorageMappingClass: XMC_TC (0x3) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: Symbol { -# SYMBOL64-NEXT: Index: 36 -# SYMBOL64-NEXT: Name: .fun -# SYMBOL64-NEXT: Value (RelocatableAddress): 0x0 -# SYMBOL64-NEXT: Section: N_UNDEF -# SYMBOL64-NEXT: Type: 0x0 -# SYMBOL64-NEXT: StorageClass: C_EXT (0x2) -# SYMBOL64-NEXT: NumberOfAuxEntries: 1 -# SYMBOL64-NEXT: CSECT Auxiliary Entry { -# SYMBOL64-NEXT: Index: 37 -# SYMBOL64-NEXT: SectionLen: 0 -# SYMBOL64-NEXT: ParameterHashIndex: 0x0 -# SYMBOL64-NEXT: TypeChkSectNum: 0x0 -# SYMBOL64-NEXT: SymbolAlignmentLog2: 0 -# SYMBOL64-NEXT: SymbolType: XTY_ER (0x0) -# SYMBOL64-NEXT: StorageMappingClass: XMC_PR (0x0) -# SYMBOL64-NEXT: Auxiliary Type: AUX_CSECT (0xFB) -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: } -# SYMBOL64-NEXT: ] +--- !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 + +# 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: ]