diff options
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/m32r-tdep.c | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index ac6f3e2..7d0fddf 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2007-10-16 Kevin Buettner <kevinb@redhat.com> + + * m32r-tdep.c (decode_prologue): Sign extend offset for + "addi sp, xx" case. + (m32r_frame_unwind_cache): Likewise. + 2007-10-15 Thiago Jung Bauermann <bauerman@br.ibm.com> * rs6000-tdep.c (skip_prologue): Restore comment with diff --git a/gdb/m32r-tdep.c b/gdb/m32r-tdep.c index b646372..c0973e8 100644 --- a/gdb/m32r-tdep.c +++ b/gdb/m32r-tdep.c @@ -349,7 +349,7 @@ decode_prologue (CORE_ADDR start_pc, CORE_ADDR scan_limit, if ((insn >> 8) == 0x4f) /* addi sp, xx */ /* add 8 bit sign-extended offset */ { - int stack_adjust = (gdb_byte) (insn & 0xff); + int stack_adjust = (signed char) (insn & 0xff); /* there are probably two of these stack adjustments: 1) A negative one in the prologue, and @@ -578,7 +578,7 @@ m32r_frame_unwind_cache (struct frame_info *next_frame, else if ((op & 0xff00) == 0x4f00) { /* addi sp, xx */ - int n = (gdb_byte) (op & 0xff); + int n = (signed char) (op & 0xff); info->sp_offset += n; } else if (op == 0x1d8f) |