Implement MachODumper::printFileHeaders

Patch by Chilledheart.

Differential Revision: http://reviews.llvm.org/D6163

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@222115 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Frederic Riss
2014-11-17 01:34:15 +00:00
parent cac2f22b32
commit b06648fe56
2 changed files with 267 additions and 1 deletions

View File

@@ -10,6 +10,16 @@ RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-i386 \
RUN: | FileCheck %s -check-prefix ELF32
RUN: llvm-readobj -h %p/Inputs/trivial.obj.elf-x86-64 \
RUN: | FileCheck %s -check-prefix ELF64
RUN: llvm-readobj -h %p/Inputs/trivial.obj.macho-i386 \
RUN: | FileCheck %s -check-prefix MACHO32
RUN: llvm-readobj -h %p/Inputs/trivial.obj.macho-x86-64 \
RUN: | FileCheck %s -check-prefix MACHO64
RUN: llvm-readobj -h %p/Inputs/trivial.obj.macho-ppc \
RUN: | FileCheck %s -check-prefix MACHO-PPC
RUN: llvm-readobj -h %p/Inputs/trivial.obj.macho-ppc64 \
RUN: | FileCheck %s -check-prefix MACHO-PPC64
RUN: llvm-readobj -h %p/Inputs/trivial.obj.macho-arm \
RUN: | FileCheck %s -check-prefix MACHO-ARM
RUN: llvm-readobj -h %p/Inputs/magic.coff-unknown \
RUN: | FileCheck %s -check-prefix COFF-UNKNOWN
RUN: llvm-readobj -h %p/Inputs/magic.coff-importlib \
@@ -122,6 +132,88 @@ ELF64-NEXT: SectionHeaderCount: 10
ELF64-NEXT: StringTableSectionIndex: 7
ELF64-NEXT: }
MACHO32: File: {{(.*[/\\])?}}trivial.obj.macho-i386
MACHO32-NEXT: Format: Mach-O 32-bit i386
MACHO32-NEXT: Arch: i386
MACHO32-NEXT: AddressSize: 32bit
MACHO32-NEXT: MachHeader {
MACHO32-NEXT: Magic: Magic (0xFEEDFACE)
MACHO32-NEXT: CpuType: X86 (0x7)
MACHO32-NEXT: CpuSubType: CPU_SUBTYPE_I386_ALL (0x3)
MACHO32-NEXT: FileType: Relocatable (0x1)
MACHO32-NEXT: NumOfLoadCommands: 3
MACHO32-NEXT: SizeOfLoadCommands: 296
MACHO32-NEXT: Flags [ (0x2000)
MACHO32-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)
MACHO32-NEXT: ]
MACHO32-NEXT: }
MACHO64: File: {{(.*[/\\])?}}trivial.obj.macho-x86-64
MACHO64-NEXT: Format: Mach-O 64-bit x86-64
MACHO64-NEXT: Arch: x86_64
MACHO64-NEXT: AddressSize: 64bit
MACHO64-NEXT: MachHeader {
MACHO64-NEXT: Magic: Magic64 (0xFEEDFACF)
MACHO64-NEXT: CpuType: X86-64 (0x1000007)
MACHO64-NEXT: CpuSubType: CPU_SUBTYPE_X86_64_ALL (0x3)
MACHO64-NEXT: FileType: Relocatable (0x1)
MACHO64-NEXT: NumOfLoadCommands: 3
MACHO64-NEXT: SizeOfLoadCommands: 336
MACHO64-NEXT: Flags [ (0x2000)
MACHO64-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)
MACHO64-NEXT: ]
MACHO64-NEXT: Reserved: 0x0
MACHO64-NEXT: }
MACHO-PPC: File: {{(.*[/\\])?}}trivial.obj.macho-ppc
MACHO-PPC-NEXT: Format: Mach-O 32-bit ppc
MACHO-PPC-NEXT: Arch: powerpc
MACHO-PPC-NEXT: AddressSize: 32bit
MACHO-PPC-NEXT: MachHeader {
MACHO-PPC-NEXT: Magic: Magic (0xFEEDFACE)
MACHO-PPC-NEXT: CpuType: PowerPC (0x12)
MACHO-PPC-NEXT: CpuSubType: CPU_SUBTYPE_POWERPC_ALL (0x0)
MACHO-PPC-NEXT: FileType: Relocatable (0x1)
MACHO-PPC-NEXT: NumOfLoadCommands: 3
MACHO-PPC-NEXT: SizeOfLoadCommands: 500
MACHO-PPC-NEXT: Flags [ (0x2000)
MACHO-PPC-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)
MACHO-PPC-NEXT: ]
MACHO-PPC-NEXT: }
MACHO-PPC64: File: {{(.*[/\\])?}}trivial.obj.macho-ppc64
MACHO-PPC64-NEXT: Format: Mach-O 64-bit ppc64
MACHO-PPC64-NEXT: Arch: powerpc64
MACHO-PPC64-NEXT: AddressSize: 64bit
MACHO-PPC64-NEXT: MachHeader {
MACHO-PPC64-NEXT: Magic: Magic64 (0xFEEDFACF)
MACHO-PPC64-NEXT: CpuType: PowerPC64 (0x1000012)
MACHO-PPC64-NEXT: CpuSubtype: 0x0
MACHO-PPC64-NEXT: FileType: Relocatable (0x1)
MACHO-PPC64-NEXT: NumOfLoadCommands: 3
MACHO-PPC64-NEXT: SizeOfLoadCommands: 576
MACHO-PPC64-NEXT: Flags [ (0x2000)
MACHO-PPC64-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)
MACHO-PPC64-NEXT: ]
MACHO-PPC64-NEXT: Reserved: 0x0
MACHO-PPC64-NEXT: }
MACHO-ARM: File: {{(.*[/\\])?}}trivial.obj.macho-arm
MACHO-ARM-NEXT: Format: Mach-O arm
MACHO-ARM-NEXT: Arch: arm
MACHO-ARM-NEXT: AddressSize: 32bit
MACHO-ARM-NEXT: MachHeader {
MACHO-ARM-NEXT: Magic: Magic (0xFEEDFACE)
MACHO-ARM-NEXT: CpuType: Arm (0xC)
MACHO-ARM-NEXT: CpuSubType: CPU_SUBTYPE_ARM_V7 (0x9)
MACHO-ARM-NEXT: FileType: Relocatable (0x1)
MACHO-ARM-NEXT: NumOfLoadCommands: 3
MACHO-ARM-NEXT: SizeOfLoadCommands: 636
MACHO-ARM-NEXT: Flags [ (0x2000)
MACHO-ARM-NEXT: MH_SUBSECTIONS_VIA_SYMBOLS (0x2000)
MACHO-ARM-NEXT: ]
MACHO-ARM-NEXT: }
PE32: File: {{(.*[/\\])?}}trivial.exe.coff-i386
PE32-NEXT: Format: COFF-i386
PE32-NEXT: Arch: i386