kusmour updated this revision to Diff 202585. kusmour added a comment. fix switch statement
Repository: rLLDB LLDB CHANGES SINCE LAST ACTION https://reviews.llvm.org/D62771/new/ https://reviews.llvm.org/D62771 Files: lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp Index: lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp +++ lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp @@ -24,9 +24,19 @@ using namespace lldb_private::postfix; static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, llvm::Triple::ArchType arch_type) { + llvm::codeview::CPUType cpu; + switch(arch_type) { + case llvm::Triple::ArchType::aarch64: + case llvm::Triple::ArchType::aarch64_be: + case llvm::Triple::ArchType::aarch64_32: + cpu = llvm::codeview::CPUType::ARM64; + break; + default: + cpu = llvm::codeview::CPUType::X64; + } // lookup register name to get lldb register number llvm::ArrayRef<llvm::EnumEntry<uint16_t>> register_names = - llvm::codeview::getRegisterNames(); + llvm::codeview::getRegisterNames(cpu); auto it = llvm::find_if( register_names, [®_name](const llvm::EnumEntry<uint16_t> ®ister_entry) {
Index: lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp =================================================================== --- lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp +++ lldb/source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp @@ -24,9 +24,19 @@ using namespace lldb_private::postfix; static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, llvm::Triple::ArchType arch_type) { + llvm::codeview::CPUType cpu; + switch(arch_type) { + case llvm::Triple::ArchType::aarch64: + case llvm::Triple::ArchType::aarch64_be: + case llvm::Triple::ArchType::aarch64_32: + cpu = llvm::codeview::CPUType::ARM64; + break; + default: + cpu = llvm::codeview::CPUType::X64; + } // lookup register name to get lldb register number llvm::ArrayRef<llvm::EnumEntry<uint16_t>> register_names = - llvm::codeview::getRegisterNames(); + llvm::codeview::getRegisterNames(cpu); auto it = llvm::find_if( register_names, [®_name](const llvm::EnumEntry<uint16_t> ®ister_entry) {
_______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits