summaryrefslogtreecommitdiffstats
path: root/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
diff options
context:
space:
mode:
authorTom Tan <Tom.Tan@microsoft.com>2019-06-03 00:48:16 +0000
committerTom Tan <Tom.Tan@microsoft.com>2019-06-03 00:48:16 +0000
commit382320ea025ff5c2c4d54389c822c6b817d67d4a (patch)
tree846184ca023960b8e51dc92ed2487c0dc415c8ee /lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
parent38f11825d18eab5bc140f891dc4c024e45283a90 (diff)
downloadbcm5719-llvm-382320ea025ff5c2c4d54389c822c6b817d67d4a.tar.gz
bcm5719-llvm-382320ea025ff5c2c4d54389c822c6b817d67d4a.zip
[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
Diffstat (limited to 'lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp')
-rw-r--r--lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp b/lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp
index 405d0157a1c..79dd010ff31 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<llvm::EnumEntry<uint16_t>> register_names =
- llvm::codeview::getRegisterNames();
+ llvm::codeview::getRegisterNames(cpu_type);
auto it = llvm::find_if(
register_names,
[&reg_name](const llvm::EnumEntry<uint16_t> &register_entry) {
OpenPOWER on IntegriCloud