From 58dfe9ff598452395a21b5f886ac38eba9b44ebb Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Sun, 8 Feb 2004 21:04:39 +0000 Subject: [PATCH] 2004-02-08 Andrew Cagney * mips-tdep.c (mips_unwind_pc): New function. (mips_gdbarch_init): Set mips_unwind_pc. --- gdb/ChangeLog | 3 +++ gdb/mips-tdep.c | 8 ++++++++ 2 files changed, 11 insertions(+) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index cfddb8a..f61954f 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,8 @@ 2004-02-08 Andrew Cagney + * mips-tdep.c (mips_unwind_pc): New function. + (mips_gdbarch_init): Set mips_unwind_pc. + * frame.c (legacy_saved_regs_this_id): Return a null frame ID. (get_frame_id): Allow the UNKNOWN_FRAME. (frame_register_unwind, get_frame_type): Ditto. 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. */ -- 2.7.4