* i386-tdep.c (i386_stab_reg_to_regnum): Correct numbering for
authorJim Blandy <jimb@codesourcery.com>
Wed, 7 Apr 2004 16:45:45 +0000 (16:45 +0000)
committerJim Blandy <jimb@codesourcery.com>
Wed, 7 Apr 2004 16:45:45 +0000 (16:45 +0000)
%esp and %ebp

gdb/ChangeLog
gdb/i386-tdep.c

index 7cc00a8..9129b7d 100644 (file)
@@ -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.
index b3a2793..cfe426d 100644 (file)
@@ -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)
     {