GDB broken?

Lukas Ertl le at FreeBSD.org
Fri Apr 16 09:05:24 PDT 2004


On Fri, 16 Apr 2004, Daniel O'Connor wrote:

> Hi,
> I was helping someone test patches in -current and got a crash dump, but GDB
> doesn't like reading it..

Same symptoms here.  I tracked down the particular commit that causes
this:

<http://lists.freebsd.org/pipermail/cvs-src/2004-March/020682.html>

Revert the change, and everything should go fine.

Alexander Kabaev has proposed a different fix, I don't know if this one
works:

--8<--
Index: i386-tdep.c
===================================================================
RCS file: /home/ncvs/src/contrib/gdb/gdb/i386-tdep.c,v
retrieving revision 1.3
diff -u -r1.3 i386-tdep.c
--- i386-tdep.c	28 Jun 2002 00:14:01 -0000	1.3
+++ i386-tdep.c	1 Apr 2004 06:01:52 -0000
@@ -685,8 +685,8 @@

 /* Return PC of first real instruction.  */

-int
-i386_skip_prologue (int pc)
+CORE_ADDR
+i386_skip_prologue (CORE_ADDR pc)
 {
   unsigned char op;
   int i;
Index: config/i386/tm-i386.h
===================================================================
RCS file: /home/ncvs/src/contrib/gdb/gdb/config/i386/tm-i386.h,v
retrieving revision 1.1.1.3
diff -u -r1.1.1.3 tm-i386.h
--- config/i386/tm-i386.h	27 Jun 2002 23:04:07 -0000	1.1.1.3
+++ config/i386/tm-i386.h	1 Apr 2004 05:58:35 -0000
@@ -61,7 +61,7 @@

 #define SKIP_PROLOGUE(frompc)   (i386_skip_prologue (frompc))

-extern int i386_skip_prologue (int);
+extern CORE_ADDR i386_skip_prologue (CORE_ADDR);

 /* Immediately after a function call, return the saved pc.  */
--8<--

cheers,
le

-- 
Lukas Ertl                           http://mailbox.univie.ac.at/~le/
le at FreeBSD.org                       http://people.freebsd.org/~le/


More information about the freebsd-current mailing list