diff options
author | Andrew Cagney <cagney@redhat.com> | 2003-04-14 19:16:13 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2003-04-14 19:16:13 +0000 |
commit | e227b13c6743a3769a164cd9b656eb97bf027b86 (patch) | |
tree | 280f4f42b020fcd8a781152c408f6b3ce91eff04 /gdb/mips-tdep.c | |
parent | 36712a20aad57709975438ceae0b4cc802635a19 (diff) | |
download | gdb-e227b13c6743a3769a164cd9b656eb97bf027b86.zip gdb-e227b13c6743a3769a164cd9b656eb97bf027b86.tar.gz gdb-e227b13c6743a3769a164cd9b656eb97bf027b86.tar.bz2 |
2003-04-14 Andrew Cagney <cagney@redhat.com>
* 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.
Diffstat (limited to 'gdb/mips-tdep.c')
-rw-r--r-- | gdb/mips-tdep.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c index e653312..7956be49 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); |