From: Andrew Cagney Date: Mon, 14 Apr 2003 19:16:13 +0000 (+0000) Subject: 2003-04-14 Andrew Cagney X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e227b13c6743a3769a164cd9b656eb97bf027b86;p=binutils-gdb.git 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. --- 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);