From e227b13c6743a3769a164cd9b656eb97bf027b86 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Mon, 14 Apr 2003 19:16:13 +0000 Subject: [PATCH] 2003-04-14 Andrew Cagney * mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE, return the fully sign-extended register value. (get_frame_pointer): Ditto. (mips_pop_frame): Initialize "proc_desc" after checking for a dummy frame. --- gdb/ChangeLog | 8 ++++++++ gdb/mips-tdep.c | 12 ++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 12c213dd5db..081d73ce26e 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,11 @@ +2003-04-14 Andrew Cagney + + * mips-tdep.c (mips_read_sp): Do not apply ADDR_BITS_REMOVE, + return the fully sign-extended register value. + (get_frame_pointer): Ditto. + (mips_pop_frame): Initialize "proc_desc" after checking for a + dummy frame. + 2003-04-14 Andrew Cagney * mips-tdep.c (mips_push_dummy_frame): Delete function. diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index e65331208a7..7956be49249 100644 --- a/gdb/mips-tdep.c +++ b/gdb/mips-tdep.c @@ -659,7 +659,7 @@ mips_register_virtual_type (int reg) static CORE_ADDR mips_read_sp (void) { - return ADDR_BITS_REMOVE (read_register (SP_REGNUM)); + return read_signed_register (SP_REGNUM); } /* Should the upper word of 64-bit addresses be zeroed? */ @@ -2442,10 +2442,9 @@ static CORE_ADDR get_frame_pointer (struct frame_info *frame, mips_extra_func_info_t proc_desc) { - return ADDR_BITS_REMOVE (read_next_frame_reg (frame, - PROC_FRAME_REG (proc_desc)) + - PROC_FRAME_OFFSET (proc_desc) - - PROC_FRAME_ADJUST (proc_desc)); + return (read_next_frame_reg (frame, PROC_FRAME_REG (proc_desc)) + + PROC_FRAME_OFFSET (proc_desc) + - PROC_FRAME_ADJUST (proc_desc)); } static mips_extra_func_info_t cached_proc_desc; @@ -3753,7 +3752,7 @@ mips_pop_frame (void) register int regnum; struct frame_info *frame = get_current_frame (); CORE_ADDR new_sp = get_frame_base (frame); - mips_extra_func_info_t proc_desc = get_frame_extra_info (frame)->proc_desc; + mips_extra_func_info_t proc_desc; if (DEPRECATED_PC_IN_CALL_DUMMY (get_frame_pc (frame), 0, 0)) { @@ -3762,6 +3761,7 @@ mips_pop_frame (void) return; } + proc_desc = get_frame_extra_info (frame)->proc_desc; write_register (PC_REGNUM, DEPRECATED_FRAME_SAVED_PC (frame)); if (get_frame_saved_regs (frame) == NULL) DEPRECATED_FRAME_INIT_SAVED_REGS (frame); -- 2.30.2