mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 11:42:57 +01:00
fd2aefafba
Summary: This patch implements main entry and auxiliary entries of symbol table generation for llvm-readobj on AIX. The source code of aix_xcoff_xlc_test8.o (compile with xlc) is: -bash-4.2$ 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); } Patch provided by DiggerLin Differential Revision: https://reviews.llvm.org/D65240 llvm-svn: 370097
447 lines
16 KiB
Plaintext
447 lines
16 KiB
Plaintext
# 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/aix_xcoff_xlc_test8.o | \
|
|
RUN: FileCheck --check-prefix=SYMBOL32 %s
|
|
|
|
SYMBOL32: File: {{.*}}aix_xcoff_xlc_test8.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: ]
|
|
|
|
# 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 -c test8.c -o aix_xcoff_xlc_test8.o
|