From 0ba5a9325ba1abc4e84c3790f3a8f8b214c38eab Mon Sep 17 00:00:00 2001 From: Andreas Schwab Date: Sat, 9 Sep 2006 23:07:32 +0000 Subject: [PATCH 1/1] * m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of `move.l %R,-(%sp)'. --- gdb/ChangeLog | 5 +++++ gdb/m68k-tdep.c | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 60394f242c..ec35909c4e 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 168eef1cb3..fb6d73d298 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; -- 2.34.1