From 411fe79789a9b36aa784870177586598954b8549 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Sun, 12 Dec 2010 15:12:17 +0000 Subject: [PATCH] - Add definition for return address register type. - Add TODO wrt default instruction pointer rule. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39821 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/apps/debugger/arch/Architecture.cpp | 3 +++ src/apps/debugger/arch/Register.h | 1 + 2 files changed, 4 insertions(+) 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