aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2003-10-06 21:58:20 +0000
committerAndreas Schwab <schwab@linux-m68k.org>2003-10-06 21:58:20 +0000
commit7270b6ed5abaabe1977f44eb0489520047b6f8a0 (patch)
tree45ebd000f841d7b599fdffe22fc9584ca5d30154
parenta5d61f6618402e901b904512e13647d8fd5f62e3 (diff)
downloadfsf-binutils-gdb-7270b6ed5abaabe1977f44eb0489520047b6f8a0.zip
fsf-binutils-gdb-7270b6ed5abaabe1977f44eb0489520047b6f8a0.tar.gz
fsf-binutils-gdb-7270b6ed5abaabe1977f44eb0489520047b6f8a0.tar.bz2
* i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/subl
with %eax.
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386-tdep.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 5ad82d6..31413dd 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2003-10-06 Andreas Schwab <schwab@suse.de>
+
+ * i386-tdep.c (i386_analyze_frame_setup): Also handle xorl/subl
+ with %eax.
+
2003-10-06 Andrew Cagney <cagney@redhat.com>
* Makefile.in (ALLDEPFILES): Remove "z8k-tdep.c" and
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 27f3d27..d2baa75 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -499,12 +499,14 @@ i386_analyze_frame_setup (CORE_ADDR pc, CORE_ADDR current_pc,
xorl %ebx, %ebx
xorl %ecx, %ecx
xorl %edx, %edx
+ xorl %eax, %eax
and the equivalent
subl %ebx, %ebx
subl %ecx, %ecx
subl %edx, %edx
+ subl %eax, %eax
Make sure we only skip these instructions if we later see the
`movl %esp, %ebp' that actually sets up the frame. */
@@ -516,6 +518,7 @@ i386_analyze_frame_setup (CORE_ADDR pc, CORE_ADDR current_pc,
case 0xdb: /* %ebx */
case 0xc9: /* %ecx */
case 0xd2: /* %edx */
+ case 0xc0: /* %eax */
skip += 2;
break;
default: