From: Kevin Enderby Date: Fri, 10 Feb 2017 19:27:10 +0000 (+0000) Subject: Yet another fix llvm-objdump so it picks a good CPU based for Mach-O files, X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0aa6910479cfc868667f3a926edf8d52dd91974d;p=llvm Yet another fix llvm-objdump so it picks a good CPU based for Mach-O files, in this case for CPU_SUBTYPE_ARM64_ALL. For this cpusubtype it should default to a cyclone CPU to give proper disassembly without a -mcpu= flag. rdar://27767188 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@294771 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Object/MachOObjectFile.cpp b/lib/Object/MachOObjectFile.cpp index c6ce5b0a586..928998330df 100644 --- a/lib/Object/MachOObjectFile.cpp +++ b/lib/Object/MachOObjectFile.cpp @@ -2477,6 +2477,8 @@ Triple MachOObjectFile::getArchTriple(uint32_t CPUType, uint32_t CPUSubType, case MachO::CPU_TYPE_ARM64: switch (CPUSubType & ~MachO::CPU_SUBTYPE_MASK) { case MachO::CPU_SUBTYPE_ARM64_ALL: + if (McpuDefault) + *McpuDefault = "cyclone"; if (ArchFlag) *ArchFlag = "arm64"; return Triple("arm64-apple-darwin"); diff --git a/test/tools/llvm-objdump/AArch64/Inputs/print-armv8crypto.obj.macho-aarch64 b/test/tools/llvm-objdump/AArch64/Inputs/print-armv8crypto.obj.macho-aarch64 new file mode 100644 index 00000000000..b6ea824431c Binary files /dev/null and b/test/tools/llvm-objdump/AArch64/Inputs/print-armv8crypto.obj.macho-aarch64 differ diff --git a/test/tools/llvm-objdump/AArch64/mach-print-armv8crypto.test b/test/tools/llvm-objdump/AArch64/mach-print-armv8crypto.test new file mode 100644 index 00000000000..e5ac0cb453e --- /dev/null +++ b/test/tools/llvm-objdump/AArch64/mach-print-armv8crypto.test @@ -0,0 +1,3 @@ +RUN: llvm-objdump -d -m -no-show-raw-insn %p/Inputs/print-armv8crypto.obj.macho-aarch64 | FileCheck %s + +CHECK: 0: sha1su0.4s v0, v1, v2 diff --git a/test/tools/llvm-objdump/AArch64/macho-print-mrs.test b/test/tools/llvm-objdump/AArch64/macho-print-mrs.test index cc1d14faf8d..c629a4de387 100644 --- a/test/tools/llvm-objdump/AArch64/macho-print-mrs.test +++ b/test/tools/llvm-objdump/AArch64/macho-print-mrs.test @@ -1,3 +1,3 @@ RUN: llvm-objdump -d -m -no-show-raw-insn %p/Inputs/print-mrs.obj.macho-aarch64 | FileCheck %s -CHECK: 0: mrs x0, S3_7_C15_C2_0 +CHECK: 0: mrs x0, CPM_IOACC_CTL_EL3