This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Line number problems with stabs and GCC 2.95.4 on FreeBSD/i386


   Date: Mon, 12 Aug 2002 18:55:25 -0400
   From: Daniel Jacobowitz <drow@mvista.com>

   On Tue, Aug 13, 2002 at 12:38:39AM +0200, Mark Kettenis wrote:
   > I'm seeing quite a few regressions on FreeBSD/i386 with its default
   > compiler (which is based on GCC 2.95.4); the number of unexpected
   > failures went up from 94 to 142.  Unfortunately I did not update my
   > source tree for a while, so I had some trouble tracking down the cause
   > of these regeressions.  However, I'm pretty sure they're caused by an
   > interaction between Daniel's 2002-07-11 patch and incorrect debugging
   > info.  It looks as if my version of GCC emits two N_FUN stabs for the
   > beginning of a function.  This causes GDB to create two block
   > definitions: one that covers the entire function and one that has an
   > ending address equal to its starting address.  The last one is bogus,
   > and causes breakpoints to be set before the end of a function
   > prologue.  I suspect that Daniel's patch changes the ordering of the
   > block definitions, such that the bogus definition is used where the
   > correct one was used before.

   That's possible... I didn't really consider this case.  That's the
   third creative way I've seen GCC break debug info recently...  Does GCC
   even end the second N_FUN?

Looks like this problem is caused by a patch made by the FreeBSD folks
to the GCC in the FreeBSD source tree.  Since the braindamage seems to
be too big to work around in GDB I'll try to get FreeBSD's GCC fixed instead.

Sorry to have bothered you,

Mark


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]