From 382320ea025ff5c2c4d54389c822c6b817d67d4a Mon Sep 17 00:00:00 2001 From: Tom Tan Date: Mon, 3 Jun 2019 00:48:16 +0000 Subject: [PATCH] [COFF, ARM64] Fix CodeView API change for getRegisterNames Change rL362280 changed CodeView API getRegisterNames() by adding an input parameter in CPUType. It is called in LLDB and needs to be updated. Differential Revision: https://reviews.llvm.org/D62772 llvm-svn: 362349 --- .../SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp index 405d015..79dd010 100644 --- a/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp +++ b/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp @@ -25,8 +25,19 @@ using namespace lldb_private::postfix; static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, llvm::Triple::ArchType arch_type) { // lookup register name to get lldb register number + llvm::codeview::CPUType cpu_type; + switch (arch_type) { + case llvm::Triple::ArchType::aarch64: + cpu_type = llvm::codeview::CPUType::ARM64; + break; + + default: + cpu_type = llvm::codeview::CPUType::X64; + break; + } + llvm::ArrayRef> register_names = - llvm::codeview::getRegisterNames(); + llvm::codeview::getRegisterNames(cpu_type); auto it = llvm::find_if( register_names, [®_name](const llvm::EnumEntry ®ister_entry) { -- 2.7.4