diff --git a/src/apps/debugger/arch/Architecture.cpp b/src/apps/debugger/arch/Architecture.cpp index a070221962..0189c22c7c 100644 --- a/src/apps/debugger/arch/Architecture.cpp +++ b/src/apps/debugger/arch/Architecture.cpp @@ -70,6 +70,9 @@ Architecture::InitRegisterRules(CfaContext& context) const if (dwarfReg < 0 || dwarfReg > CountRegisters() - 1) continue; + // TODO: on CPUs that have a return address register + // a default rule should be set up to use that to + // extract the instruction pointer switch (registers[i].Type()) { case REGISTER_TYPE_STACK_POINTER: { diff --git a/src/apps/debugger/arch/Register.h b/src/apps/debugger/arch/Register.h index 06ef5eb92a..a2f34db8db 100644 --- a/src/apps/debugger/arch/Register.h +++ b/src/apps/debugger/arch/Register.h @@ -17,6 +17,7 @@ enum register_format { enum register_type { REGISTER_TYPE_INSTRUCTION_POINTER, REGISTER_TYPE_STACK_POINTER, + REGISTER_TYPE_RETURN_ADDRESS, REGISTER_TYPE_GENERAL_PURPOSE, REGISTER_TYPE_SPECIAL_PURPOSE, REGISTER_TYPE_EXTENDED