This is the mail archive of the gdb@sourceware.org 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: Questions on cross-gdb


On Wednesday 19 August 2009 05:35:40, Danny Backx wrote:

> Question 2 : I occasionally have a problem - see below - setting
> breakpoints. 
> 
> (gdb) break 65
> warning: (Internal error: pc 0xd4720040 in read in psymtab, but not in
> symtab.)

This is a bug in GDB, see below.  But, it may be some corner case
triggered by bad debug info.  Note that 0xd4720040 is over 0x80000000, so
it's itself suspicious.  I suggest checking if this PC itself is
bogus or not.  If not bogus another possibility could be a sign
extending problem somewhere in GDB.

> A pointer to what might be causing this would be appreciated so I
> can chase the bug. 

GDB builds partial symbol tables (psymtab) and full symbol
tables (symtab) out of the same debug info, in different phases.  It starts
by doing a "light" scan of the debug info, and building the
lighter psymtabs with just enough information to be able to locate and
read in the more expensive full symbol tables, when required, on demand.
What you're seeing is that GDB found the symbol for line 65 in the partial
symbol table, and was then trying to expand the corresponding full symbol
table, but, due to some bug, the same symbol wasn't found in the full
symbol table.  This should never happen by design.  First questions would
be: which GDB version are you working with? --- try CVS HEAD; which debug
info format is this?  STABS? DWARF?  Prefer DWARF.  You can select
a format at compile time with -gstabs+ or -gdwarf-2 .

-- 
Pedro Alves


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