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> 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 ®ister_entry) {