aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2006-09-09 23:07:32 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2006-09-09 23:07:32 +0000
commit0ba5a9325ba1abc4e84c3790f3a8f8b214c38eab (patch)
treedbea96c2e13cb7605673b27996246c74314704ea
parent98cfafa3990043c675f6ef835bbcc6dd438f07df (diff)
downloadbinutils-0ba5a9325ba1abc4e84c3790f3a8f8b214c38eab.zip
binutils-0ba5a9325ba1abc4e84c3790f3a8f8b214c38eab.tar.gz
binutils-0ba5a9325ba1abc4e84c3790f3a8f8b214c38eab.tar.bz2
* m68k-tdep.c (m68k_analyze_register_saves): Fix decoding of
`move.l %R,-(%sp)'.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/m68k-tdep.c6
2 files changed, 8 insertions, 3 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 60394f2..ec35909 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -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
diff --git a/gdb/m68k-tdep.c b/gdb/m68k-tdep.c
index 168eef1..fb6d73d 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;