summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2017-12-22 00:16:04 +0000
committerJason Molenda <jmolenda@apple.com>2017-12-22 00:16:04 +0000
commita22e923106a8faabff9cfe5ab6d73f5eddfcfa71 (patch)
tree933002a59e9e16f9504a89f0ab2e8466fe07b4f0 /lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
parent1f8552abf37da52c0ec84fb77f5604098a792d81 (diff)
downloadbcm5719-llvm-a22e923106a8faabff9cfe5ab6d73f5eddfcfa71.tar.gz
bcm5719-llvm-a22e923106a8faabff9cfe5ab6d73f5eddfcfa71.zip
Change the default Aarch64 ISA to be v8.2 to correctly decode newer
instructions (e.g. on the new iphones). <rdar://problem/30585124> llvm-svn: 321328
Diffstat (limited to 'lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp')
-rw-r--r--lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
index 21e19bf2b12..a61abb9898a 100644
--- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
+++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
@@ -1127,6 +1127,11 @@ DisassemblerLLVMC::DisassemblerLLVMC(const ArchSpec &arch,
features_str += "+dspr2,";
}
+ // If any AArch64 variant, enable the ARMv8.2 ISA
+ // extensions so we can disassemble newer instructions.
+ if (triple.getArch() == llvm::Triple::aarch64)
+ features_str += "+v8.2a";
+
m_disasm_ap.reset(new LLVMCDisassembler(triple_str, cpu, features_str.c_str(),
flavor, *this));
if (!m_disasm_ap->IsValid()) {
OpenPOWER on IntegriCloud