aboutsummaryrefslogtreecommitdiff
path: root/gdb/mips-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2004-02-08 21:04:39 +0000
committerAndrew Cagney <cagney@redhat.com>2004-02-08 21:04:39 +0000
commit58dfe9ff598452395a21b5f886ac38eba9b44ebb (patch)
tree9cec53a2881cf1a76946574357902c28cc3519d9 /gdb/mips-tdep.c
parent1152e35e879dc17287a4a549f397b0a39ae05c9d (diff)
downloadgdb-58dfe9ff598452395a21b5f886ac38eba9b44ebb.zip
gdb-58dfe9ff598452395a21b5f886ac38eba9b44ebb.tar.gz
gdb-58dfe9ff598452395a21b5f886ac38eba9b44ebb.tar.bz2
2004-02-08 Andrew Cagney <cagney@redhat.com>
* mips-tdep.c (mips_unwind_pc): New function. (mips_gdbarch_init): Set mips_unwind_pc.
Diffstat (limited to 'gdb/mips-tdep.c')
-rw-r--r--gdb/mips-tdep.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 28e3dc1..254c4fb 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -810,6 +810,12 @@ mips_read_pc (ptid_t ptid)
return read_signed_register_pid (mips_regnum (current_gdbarch)->pc, ptid);
}
+static CORE_ADDR
+mips_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
+{
+ return frame_unwind_register_signed (next_frame, mips_regnum (gdbarch)->pc);
+}
+
static void
mips_write_pc (CORE_ADDR pc, ptid_t ptid)
{
@@ -6030,6 +6036,8 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
ensure that all 32 bit addresses are sign extended to 64 bits. */
set_gdbarch_addr_bits_remove (gdbarch, mips_addr_bits_remove);
+ /* Unwind the frame. */
+ set_gdbarch_unwind_pc (gdbarch, mips_unwind_pc);
#if 0
#else
set_gdbarch_deprecated_target_read_fp (gdbarch, mips_read_sp); /* Draft FRAME base. */