[PATCH] D34835: [llvm-readobj] Improve printouts for COFF ARM64 binaries
Martin Storsjö via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 29 14:54:32 PDT 2017
mstorsjo updated this revision to Diff 104745.
mstorsjo retitled this revision from "[COFF] Classify AArch64 as 64 bit as well" to "[llvm-readobj] Improve printouts for COFF ARM64 binaries".
mstorsjo edited the summary of this revision.
mstorsjo added a comment.
Herald added a subscriber: javed.absar.
Whoops, included the wrong diff previously.
Updated with tests and another printout correction.
https://reviews.llvm.org/D34835
Files:
lib/Object/COFFObjectFile.cpp
test/tools/llvm-readobj/Inputs/trivial.obj.coff-arm64
test/tools/llvm-readobj/file-headers.test
tools/llvm-readobj/COFFDumper.cpp
Index: tools/llvm-readobj/COFFDumper.cpp
===================================================================
--- tools/llvm-readobj/COFFDumper.cpp
+++ tools/llvm-readobj/COFFDumper.cpp
@@ -335,6 +335,7 @@
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 ),
Index: test/tools/llvm-readobj/file-headers.test
===================================================================
--- test/tools/llvm-readobj/file-headers.test
+++ test/tools/llvm-readobj/file-headers.test
@@ -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: ]
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
Index: lib/Object/COFFObjectFile.cpp
===================================================================
--- lib/Object/COFFObjectFile.cpp
+++ lib/Object/COFFObjectFile.cpp
@@ -883,7 +883,7 @@
}
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 {
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34835.104745.patch
Type: text/x-patch
Size: 2412 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20170629/e14b3814/attachment.bin>
More information about the llvm-commits
mailing list