[llvm-readobj] Improve printouts for COFF ARM64 binaries

Differential Revision: https://reviews.llvm.org/D34835

llvm-svn: 306795
This commit is contained in:
Martin Storsjo 2017-06-30 07:02:13 +00:00
parent 8ae07ac837
commit 43c854535e
4 changed files with 19 additions and 1 deletions

View File

@ -883,7 +883,7 @@ base_reloc_iterator COFFObjectFile::base_reloc_end() const {
}
uint8_t COFFObjectFile::getBytesInAddress() const {
return getArch() == Triple::x86_64 ? 8 : 4;
return getArch() == Triple::x86_64 || getArch() == Triple::aarch64 ? 8 : 4;
}
StringRef COFFObjectFile::getFileFormatName() const {

View File

@ -1,5 +1,7 @@
RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-arm \
RUN: | FileCheck %s -check-prefix COFF-ARM
RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-arm64 \
RUN: | FileCheck %s -check-prefix COFF-ARM64
RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-i386 \
RUN: | FileCheck %s -check-prefix COFF32
RUN: llvm-readobj -h %p/Inputs/trivial.obj.coff-x86-64 \
@ -47,6 +49,21 @@ COFF-ARM-NEXT: Characteristics [ (0x0)
COFF-ARM-NEXT: ]
COFF-ARM-NEXT: }
COFF-ARM64: File: {{(.*[/\\])?}}trivial.obj.coff-arm64
COFF-ARM64-NEXT: Format: COFF-ARM64
COFF-ARM64-NEXT: Arch: aarch64
COFF-ARM64-NEXT: AddressSize: 64bit
COFF-ARM64-NEXT: ImageFileHeader {
COFF-ARM64-NEXT: Machine: IMAGE_FILE_MACHINE_ARM64 (0xAA64)
COFF-ARM64-NEXT: SectionCount: 1
COFF-ARM64-NEXT: TimeDateStamp: 1970-01-01 00:00:00 (0x0)
COFF-ARM64-NEXT: PointerToSymbolTable: 0x44
COFF-ARM64-NEXT: SymbolCount: 3
COFF-ARM64-NEXT: OptionalHeaderSize: 0
COFF-ARM64-NEXT: Characteristics [ (0x0)
COFF-ARM64-NEXT: ]
COFF-ARM64-NEXT: }
COFF32: File: {{(.*[/\\])?}}trivial.obj.coff-i386
COFF32-NEXT: Format: COFF-i386
COFF32-NEXT: Arch: i386

View File

@ -335,6 +335,7 @@ static const EnumEntry<COFF::MachineTypes> ImageFileMachineType[] = {
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_AM33 ),
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_AMD64 ),
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_ARM ),
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_ARM64 ),
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_ARMNT ),
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_EBC ),
LLVM_READOBJ_ENUM_ENT(COFF, IMAGE_FILE_MACHINE_I386 ),