Index: source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h =================================================================== --- source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h +++ source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.h @@ -80,6 +80,12 @@ return SupportsEmulatingInstructionsOfTypeStatic (inst_type); } + uint32_t + ReadRegisterUnsigned (lldb::RegisterKind reg_kind, + uint32_t reg_num, + uint32_t fail_value, + bool *success_ptr); + bool ReadInstruction () override; Index: source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp =================================================================== --- source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp +++ source/Plugins/Instruction/MIPS/EmulateInstructionMIPS.cpp @@ -760,6 +760,20 @@ return false; } +uint32_t +EmulateInstructionMIPS::ReadRegisterUnsigned (lldb::RegisterKind reg_kind, + uint32_t reg_num, + uint32_t fail_value, + bool *success_ptr) +{ + RegisterValue reg_value; + if (ReadRegister (reg_kind, reg_num, reg_value)) + return reg_value.GetAsUInt32(fail_value, success_ptr); + if (success_ptr) + *success_ptr = false; + return fail_value; +} + bool EmulateInstructionMIPS::ReadInstruction () { @@ -817,7 +831,7 @@ if (opcode_data == NULL) return false; - uint64_t old_pc = 0, new_pc = 0; + uint32_t old_pc = 0, new_pc = 0; const bool auto_advance_pc = evaluate_options & eEmulateInstructionOptionAutoAdvancePC; if (auto_advance_pc)