aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/i386-tdep.c9
2 files changed, 12 insertions, 2 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 7cc00a8..9129b7d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-07 Jim Blandy <jimb@redhat.com>
+
+ * i386-tdep.c (i386_stab_reg_to_regnum): Correct numbering for
+ %esp and %ebp
+
2004-04-07 Mark Kettenis <kettenis@gnu.org>
* config/sparc/linux.mt (TDEPFILES): Remove solib-legacy.o.
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index b3a2793..cfe426d 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -211,8 +211,13 @@ i386_stab_reg_to_regnum (int reg)
/* This implements what GCC calls the "default" register map. */
if (reg >= 0 && reg <= 7)
{
- /* General-purpose registers. */
- return reg;
+ /* General-purpose registers. The debug info calls %ebp
+ register 4, and %esp register 5. */
+ if (reg == 4)
+ return 5;
+ else if (reg == 5)
+ return 4;
+ else return reg;
}
else if (reg >= 12 && reg <= 19)
{