aganea created this revision. aganea added reviewers: TomTan, labath, tstellar. aganea added a project: LLDB. aganea edited reviewers, added: stella.stamenova; removed: tstellar.
Repository: rLLDB LLDB https://reviews.llvm.org/D62785 Files: source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp Index: source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp =================================================================== --- source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp +++ source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp @@ -23,10 +23,16 @@ using namespace lldb_private; using namespace lldb_private::postfix; -static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, llvm::Triple::ArchType arch_type) { +static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, + llvm::Triple::ArchType arch_type) { + bool isARM64 = arch_type == llvm::Triple::aarch64 || + arch_type == llvm::Triple::aarch64_32 || + arch_type == llvm::Triple::aarch64_be; // lookup register name to get lldb register number llvm::ArrayRef<llvm::EnumEntry<uint16_t>> register_names = - llvm::codeview::getRegisterNames(); + llvm::codeview::getRegisterNames( + isARM64 ? llvm::codeview::CPUType::ARM64 + : llvm::codeview::CPUType::Intel8086); auto it = llvm::find_if( register_names, [®_name](const llvm::EnumEntry<uint16_t> ®ister_entry) {
Index: source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp =================================================================== --- source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp +++ source/Plugins/SymbolFile/NativePDB/PdbFPOProgramToDWARFExpression.cpp @@ -23,10 +23,16 @@ using namespace lldb_private; using namespace lldb_private::postfix; -static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, llvm::Triple::ArchType arch_type) { +static uint32_t ResolveLLDBRegisterNum(llvm::StringRef reg_name, + llvm::Triple::ArchType arch_type) { + bool isARM64 = arch_type == llvm::Triple::aarch64 || + arch_type == llvm::Triple::aarch64_32 || + arch_type == llvm::Triple::aarch64_be; // lookup register name to get lldb register number llvm::ArrayRef<llvm::EnumEntry<uint16_t>> register_names = - llvm::codeview::getRegisterNames(); + llvm::codeview::getRegisterNames( + isARM64 ? llvm::codeview::CPUType::ARM64 + : llvm::codeview::CPUType::Intel8086); 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