Index: i386-tdep.c =================================================================== RCS file: /cvs/src/src/gdb/i386-tdep.c,v retrieving revision 1.181 diff -u -p -r1.181 i386-tdep.c --- i386-tdep.c 23 Mar 2004 14:47:56 -0000 1.181 +++ i386-tdep.c 31 Mar 2004 23:25:52 -0000 @@ -175,8 +175,10 @@ 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. + ebp and esp (4, 5) are reversed with respect to gdb and DWARF. */ + + return (reg & 6) == 4 ? reg ^ 1 : reg; } else if (reg >= 12 && reg <= 19) {