Object: add IMAGE_FILE_MACHINE_ARM64

The official specifications state that the value of IMAGE_FILE_MACHINE_ARM64
is 0xAA64 (as per the Microsoft Portable Executable and Common Object Format
Specification v8.3).

Reviewers: rnk

Subscribers: llvm-commits, compnerd, ruiu

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@243434 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Martell Malone
2015-07-28 16:18:17 +00:00
parent 456b44fc98
commit 751664fd1b
4 changed files with 7 additions and 0 deletions

View File

@@ -65,6 +65,7 @@ Here's a simplified Kwalify_ schema with an extension to allow alternate types.
, IMAGE_FILE_MACHINE_AMD64 , IMAGE_FILE_MACHINE_AMD64
, IMAGE_FILE_MACHINE_ARM , IMAGE_FILE_MACHINE_ARM
, IMAGE_FILE_MACHINE_ARMNT , IMAGE_FILE_MACHINE_ARMNT
, IMAGE_FILE_MACHINE_ARM64
, IMAGE_FILE_MACHINE_EBC , IMAGE_FILE_MACHINE_EBC
, IMAGE_FILE_MACHINE_I386 , IMAGE_FILE_MACHINE_I386
, IMAGE_FILE_MACHINE_IA64 , IMAGE_FILE_MACHINE_IA64

View File

@@ -88,6 +88,7 @@ namespace COFF {
IMAGE_FILE_MACHINE_AMD64 = 0x8664, IMAGE_FILE_MACHINE_AMD64 = 0x8664,
IMAGE_FILE_MACHINE_ARM = 0x1C0, IMAGE_FILE_MACHINE_ARM = 0x1C0,
IMAGE_FILE_MACHINE_ARMNT = 0x1C4, IMAGE_FILE_MACHINE_ARMNT = 0x1C4,
IMAGE_FILE_MACHINE_ARM64 = 0xAA64,
IMAGE_FILE_MACHINE_EBC = 0xEBC, IMAGE_FILE_MACHINE_EBC = 0xEBC,
IMAGE_FILE_MACHINE_I386 = 0x14C, IMAGE_FILE_MACHINE_I386 = 0x14C,
IMAGE_FILE_MACHINE_IA64 = 0x200, IMAGE_FILE_MACHINE_IA64 = 0x200,

View File

@@ -744,6 +744,8 @@ StringRef COFFObjectFile::getFileFormatName() const {
return "COFF-x86-64"; return "COFF-x86-64";
case COFF::IMAGE_FILE_MACHINE_ARMNT: case COFF::IMAGE_FILE_MACHINE_ARMNT:
return "COFF-ARM"; return "COFF-ARM";
case COFF::IMAGE_FILE_MACHINE_ARM64:
return "COFF-ARM64";
default: default:
return "COFF-<unknown arch>"; return "COFF-<unknown arch>";
} }
@@ -757,6 +759,8 @@ unsigned COFFObjectFile::getArch() const {
return Triple::x86_64; return Triple::x86_64;
case COFF::IMAGE_FILE_MACHINE_ARMNT: case COFF::IMAGE_FILE_MACHINE_ARMNT:
return Triple::thumb; return Triple::thumb;
case COFF::IMAGE_FILE_MACHINE_ARM64:
return Triple::aarch64;
default: default:
return Triple::UnknownArch; return Triple::UnknownArch;
} }

View File

@@ -56,6 +56,7 @@ void ScalarEnumerationTraits<COFF::MachineTypes>::enumeration(
ECase(IMAGE_FILE_MACHINE_AMD64); ECase(IMAGE_FILE_MACHINE_AMD64);
ECase(IMAGE_FILE_MACHINE_ARM); ECase(IMAGE_FILE_MACHINE_ARM);
ECase(IMAGE_FILE_MACHINE_ARMNT); ECase(IMAGE_FILE_MACHINE_ARMNT);
ECase(IMAGE_FILE_MACHINE_ARM64);
ECase(IMAGE_FILE_MACHINE_EBC); ECase(IMAGE_FILE_MACHINE_EBC);
ECase(IMAGE_FILE_MACHINE_I386); ECase(IMAGE_FILE_MACHINE_I386);
ECase(IMAGE_FILE_MACHINE_IA64); ECase(IMAGE_FILE_MACHINE_IA64);