mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2025-02-01 13:11:39 +01:00
aa1c5e5087
Adds a readobj dumper for 32-bit and 64-bit section header tables, and extend support for the file-header dumping to include 64-bit object files. Also refactors the binary file parsing to be done in a helper function in an attempt to cleanup error handeling. Differential Revision: https://reviews.llvm.org/D63843 llvm-svn: 365524
165 lines
5.6 KiB
Plaintext
165 lines
5.6 KiB
Plaintext
# RUN: llvm-readobj --section-headers %p/Inputs/xcoff-basic.o | \
|
|
# RUN: FileCheck --check-prefix=SEC32 %s
|
|
|
|
# RUN: llvm-readobj --section-headers %p/Inputs/xcoff-basic-64.o | \
|
|
# RUN: FileCheck --check-prefix=SEC64 %s
|
|
|
|
# SEC32: File: {{.*}}xcoff-basic.o
|
|
# SEC32-NEXT: Format: aixcoff-rs6000
|
|
# SEC32-NEXT: Arch: powerpc
|
|
# SEC32-NEXT: AddressSize: 32bit
|
|
# SEC32-NEXT: Sections [
|
|
# SEC32-NEXT: Section {
|
|
# SEC32-NEXT: Index: 1
|
|
# SEC32-NEXT: Name: .text
|
|
# SEC32-NEXT: PhysicalAddress: 0x0
|
|
# SEC32-NEXT: VirtualAddress: 0x0
|
|
# SEC32-NEXT: Size: 0x100
|
|
# SEC32-NEXT: RawDataOffset: 0x200
|
|
# SEC32-NEXT: RelocationPointer: 0x3D8
|
|
# SEC32-NEXT: LineNumberPointer: 0x4E6
|
|
# SEC32-NEXT: NumberOfRelocations: 8
|
|
# SEC32-NEXT: NumberOfLineNumbers: 12
|
|
# SEC32-NEXT: Type: STYP_TEXT (0x20)
|
|
# SEC32-NEXT: }
|
|
# SEC32-NEXT: Section {
|
|
# SEC32-NEXT: Index: 2
|
|
# SEC32-NEXT: Name: .data
|
|
# SEC32-NEXT: PhysicalAddress: 0x100
|
|
# SEC32-NEXT: VirtualAddress: 0x100
|
|
# SEC32-NEXT: Size: 0x68
|
|
# SEC32-NEXT: RawDataOffset: 0x300
|
|
# SEC32-NEXT: RelocationPointer: 0x428
|
|
# SEC32-NEXT: LineNumberPointer: 0x0
|
|
# SEC32-NEXT: NumberOfRelocations: 19
|
|
# SEC32-NEXT: NumberOfLineNumbers: 0
|
|
# SEC32-NEXT: Type: STYP_DATA (0x40)
|
|
# SEC32-NEXT: }
|
|
# SEC32-NEXT: Section {
|
|
# SEC32-NEXT: Index: 3
|
|
# SEC32-NEXT: Name: .bss
|
|
# SEC32-NEXT: PhysicalAddress: 0x168
|
|
# SEC32-NEXT: VirtualAddress: 0x168
|
|
# SEC32-NEXT: Size: 0x4
|
|
# SEC32-NEXT: RawDataOffset: 0x0
|
|
# SEC32-NEXT: RelocationPointer: 0x0
|
|
# SEC32-NEXT: LineNumberPointer: 0x0
|
|
# SEC32-NEXT: NumberOfRelocations: 0
|
|
# SEC32-NEXT: NumberOfLineNumbers: 0
|
|
# SEC32-NEXT: Type: STYP_BSS (0x80)
|
|
# SEC32-NEXT: }
|
|
# SEC32-NEXT: Section {
|
|
# SEC32-NEXT: Index: 4
|
|
# SEC32-NEXT: Name: .tdata
|
|
# SEC32-NEXT: PhysicalAddress: 0x0
|
|
# SEC32-NEXT: VirtualAddress: 0x0
|
|
# SEC32-NEXT: Size: 0x4
|
|
# SEC32-NEXT: RawDataOffset: 0x368
|
|
# SEC32-NEXT: RelocationPointer: 0x47A
|
|
# SEC32-NEXT: LineNumberPointer: 0x0
|
|
# SEC32-NEXT: NumberOfRelocations: 0
|
|
# SEC32-NEXT: NumberOfLineNumbers: 0
|
|
# SEC32-NEXT: Type: STYP_TDATA (0x400)
|
|
# SEC32-NEXT: }
|
|
# SEC32-NEXT: Section {
|
|
# SEC32-NEXT: Index: 5
|
|
# SEC32-NEXT: Name: .tbss
|
|
# SEC32-NEXT: PhysicalAddress: 0x4
|
|
# SEC32-NEXT: VirtualAddress: 0x4
|
|
# SEC32-NEXT: Size: 0x8
|
|
# SEC32-NEXT: RawDataOffset: 0x0
|
|
# SEC32-NEXT: RelocationPointer: 0x0
|
|
# SEC32-NEXT: LineNumberPointer: 0x0
|
|
# SEC32-NEXT: NumberOfRelocations: 0
|
|
# SEC32-NEXT: NumberOfLineNumbers: 0
|
|
# SEC32-NEXT: Type: STYP_TBSS (0x800)
|
|
# SEC32-NEXT: }
|
|
# SEC32-NEXT: Section {
|
|
# SEC32-NEXT: Index: 6
|
|
# SEC32-NEXT: Name: .debug
|
|
# SEC32-NEXT: PhysicalAddress: 0x0
|
|
# SEC32-NEXT: VirtualAddress: 0x0
|
|
# SEC32-NEXT: Size: 0x6C
|
|
# SEC32-NEXT: RawDataOffset: 0x36C
|
|
# SEC32-NEXT: RelocationPointer: 0x0
|
|
# SEC32-NEXT: LineNumberPointer: 0x0
|
|
# SEC32-NEXT: NumberOfRelocations: 0
|
|
# SEC32-NEXT: NumberOfLineNumbers: 0
|
|
# SEC32-NEXT: Type: STYP_DEBUG (0x2000)
|
|
# SEC32-NEXT: }
|
|
# SEC32-NEXT: ]
|
|
|
|
|
|
# SEC64: File: {{.*}}xcoff-basic-64.o
|
|
# SEC64-NEXT: Format: aix5coff64-rs6000
|
|
# SEC64-NEXT: Arch: powerpc64
|
|
# SEC64-NEXT: AddressSize: 64bit
|
|
# SEC64-NEXT: Sections [
|
|
# SEC64-NEXT: Section {
|
|
# SEC64-NEXT: Index: 1
|
|
# SEC64-NEXT: Name: .text
|
|
# SEC64-NEXT: PhysicalAddress: 0x0
|
|
# SEC64-NEXT: VirtualAddress: 0x0
|
|
# SEC64-NEXT: Size: 0x100
|
|
# SEC64-NEXT: RawDataOffset: 0x200
|
|
# SEC64-NEXT: RelocationPointer: 0x3C4
|
|
# SEC64-NEXT: LineNumberPointer: 0x0
|
|
# SEC64-NEXT: NumberOfRelocations: 9
|
|
# SEC64-NEXT: NumberOfLineNumbers: 0
|
|
# SEC64-NEXT: Type: STYP_TEXT (0x20)
|
|
# SEC64-NEXT: }
|
|
# SEC64-NEXT: Section {
|
|
# SEC64-NEXT: Index: 2
|
|
# SEC64-NEXT: Name: .data
|
|
# SEC64-NEXT: PhysicalAddress: 0x100
|
|
# SEC64-NEXT: VirtualAddress: 0x100
|
|
# SEC64-NEXT: Size: 0xC0
|
|
# SEC64-NEXT: RawDataOffset: 0x300
|
|
# SEC64-NEXT: RelocationPointer: 0x442
|
|
# SEC64-NEXT: LineNumberPointer: 0x0
|
|
# SEC64-NEXT: NumberOfRelocations: 19
|
|
# SEC64-NEXT: NumberOfLineNumbers: 0
|
|
# SEC64-NEXT: Type: STYP_DATA (0x40)
|
|
# SEC64-NEXT: }
|
|
# SEC64-NEXT: Section {
|
|
# SEC64-NEXT: Index: 3
|
|
# SEC64-NEXT: Name: .bss
|
|
# SEC64-NEXT: PhysicalAddress: 0x1C0
|
|
# SEC64-NEXT: VirtualAddress: 0x1C0
|
|
# SEC64-NEXT: Size: 0x8
|
|
# SEC64-NEXT: RawDataOffset: 0x0
|
|
# SEC64-NEXT: RelocationPointer: 0x0
|
|
# SEC64-NEXT: LineNumberPointer: 0x0
|
|
# SEC64-NEXT: NumberOfRelocations: 0
|
|
# SEC64-NEXT: NumberOfLineNumbers: 0
|
|
# SEC64-NEXT: Type: STYP_BSS (0x80)
|
|
# SEC64-NEXT: }
|
|
# SEC64-NEXT: Section {
|
|
# SEC64-NEXT: Index: 4
|
|
# SEC64-NEXT: Name: .tdata
|
|
# SEC64-NEXT: PhysicalAddress: 0x0
|
|
# SEC64-NEXT: VirtualAddress: 0x0
|
|
# SEC64-NEXT: Size: 0x4
|
|
# SEC64-NEXT: RawDataOffset: 0x3C0
|
|
# SEC64-NEXT: RelocationPointer: 0x54C
|
|
# SEC64-NEXT: LineNumberPointer: 0x0
|
|
# SEC64-NEXT: NumberOfRelocations: 0
|
|
# SEC64-NEXT: NumberOfLineNumbers: 0
|
|
# SEC64-NEXT: Type: STYP_TDATA (0x400)
|
|
# SEC64-NEXT: }
|
|
# SEC64-NEXT: Section {
|
|
# SEC64-NEXT: Index: 5
|
|
# SEC64-NEXT: Name: .tbss
|
|
# SEC64-NEXT: PhysicalAddress: 0x4
|
|
# SEC64-NEXT: VirtualAddress: 0x4
|
|
# SEC64-NEXT: Size: 0x8
|
|
# SEC64-NEXT: RawDataOffset: 0x0
|
|
# SEC64-NEXT: RelocationPointer: 0x0
|
|
# SEC64-NEXT: LineNumberPointer: 0x0
|
|
# SEC64-NEXT: NumberOfRelocations: 0
|
|
# SEC64-NEXT: NumberOfLineNumbers: 0
|
|
# SEC64-NEXT: Type: STYP_TBSS (0x800)
|
|
# SEC64-NEXT: }
|
|
# SEC64-NEXT: ]
|
|
|