* m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of
authorAndreas Schwab <schwab@linux-m68k.org>
Sat, 9 Sep 2006 23:07:32 +0000 (23:07 +0000)
committerAndreas Schwab <schwab@linux-m68k.org>
Sat, 9 Sep 2006 23:07:32 +0000 (23:07 +0000)
`move.l %R,-(%sp)'.

gdb/ChangeLog
gdb/m68k-tdep.c

index 60394f242cfba6c75543beea44fb69ebc6523518..ec35909c4eb4f3028cd9936743cdcb7d84ac28a7 100644 (file)
@@ -1,3 +1,8 @@
+2006-09-10  Andreas Schwab  <schwab@suse.de>
+
+       * m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of
+       `move.l %R,-(%sp)'.
+
 2006-09-07  Vladimir Prus  <vladimir@codesourcery.com>
 
         * mi/mi-cmd-stack.c (mi_cmd_stack_list_frames): Don't emit 
index 168eef1cb32f75e1ac42c2ca6e9e7119897393ec..fb6d73d298ab49960b5df857d062215614500351 100644 (file)
@@ -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;