diff options
| author | Tom Tan <Tom.Tan@microsoft.com> | 2019-06-03 00:48:16 +0000 |
|---|---|---|
| committer | Tom Tan <Tom.Tan@microsoft.com> | 2019-06-03 00:48:16 +0000 |
| commit | 382320ea025ff5c2c4d54389c822c6b817d67d4a (patch) | |
| tree | 846184ca023960b8e51dc92ed2487c0dc415c8ee /lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp | |
| parent | 38f11825d18eab5bc140f891dc4c024e45283a90 (diff) | |
| download | bcm5719-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.cpp | 13 |
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, [®_name](const llvm::EnumEntry<uint16_t> ®ister_entry) { |

