From: Andreas Schwab Date: Sat, 9 Sep 2006 23:07:32 +0000 (+0000) Subject: * m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=0ba5a9325ba1abc4e84c3790f3a8f8b214c38eab;p=binutils-gdb.git * m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of `move.l %R,-(%sp)'. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 60394f242cf..ec35909c4eb 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,8 @@ +2006-09-10 Andreas Schwab + + * m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of + `move.l %R,-(%sp)'. + 2006-09-07 Vladimir Prus * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Don't emit diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c index 168eef1cb32..fb6d73d298a 100644 --- a/gdb/m68k-tdep.c +++ b/gdb/m68k-tdep.c @@ -1,7 +1,7 @@ /* Target-dependent code for the Motorola 68000 series. Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, - 2001, 2002, 2003, 2004, 2005 Free Software Foundation, Inc. + 2001, 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc. This file is part of GDB. @@ -677,10 +677,10 @@ m68k_analyze_register_saves (CORE_ADDR pc, CORE_ADDR current_pc, else break; } - else if ((op & 0170677) == P_MOVEL_SP) + else if ((op & 0177760) == P_MOVEL_SP) { /* move.l %R,-(%sp) */ - regno = ((op & 07000) >> 9) | ((op & 0100) >> 3); + regno = op & 017; cache->saved_regs[regno] = offset; offset -= 4; pc += 2;