summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
diff options
context:
space:
mode:
authorJason Molenda <jmolenda@apple.com>2019-03-07 03:16:45 +0000
committerJason Molenda <jmolenda@apple.com>2019-03-07 03:16:45 +0000
commita583486065db89ef12bb3f0fb460878cd19b8f93 (patch)
tree05a1dd6e868ac5e202406339bcf3c77b261bcd74 /lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
parent815a05ca6ba8a846d842b875eece804be94168a5 (diff)
downloadbcm5719-llvm-a583486065db89ef12bb3f0fb460878cd19b8f93.tar.gz
bcm5719-llvm-a583486065db89ef12bb3f0fb460878cd19b8f93.zip
When disassembling Aarch64 target and vendor Apple, set the cpu to
"apple-latest" which llvm uses to indicate the newest supported ISA. Add a unit test; I'm only testing an armv8.1 instruction in this unit test which would already be disassembled correctly because we set the disassembler to ARM v8.2 mode, but it ensures that nothing has been broken by adding this cpu spec. <rdar://problem/38714781> llvm-svn: 355578
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 ca53a18e146..49fd1d8d981 100644
--- a/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
+++ b/lldb/source/Plugins/Disassembler/llvm/DisassemblerLLVMC.cpp
@@ -1196,6 +1196,11 @@ DisassemblerLLVMC::DisassemblerLLVMC(const ArchSpec &arch,
if (triple.getArch() == llvm::Triple::aarch64)
features_str += "+v8.2a";
+ if (triple.getArch() == llvm::Triple::aarch64
+ && triple.getVendor() == llvm::Triple::Apple) {
+ cpu = "apple-latest";
+ }
+
// We use m_disasm_up.get() to tell whether we are valid or not, so if this
// isn't good for some reason, we won't be valid and FindPlugin will fail and
// we won't get used.
OpenPOWER on IntegriCloud