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: warning: (Internal error: pc 0xd00 in read in psymtab, but not in symtab.)


On Sun, Nov 13, 2005 at 12:39:04PM -0500, Daniel Jacobowitz wrote:
> What debugging format are you using - stabs or dwarf2?  I don't know
> offhand what could be causing this, and it's unlikely that a newer
> snapshot will make a difference - that's pretty current.

I think it is dwarf2 (there are no sections with "stab" in the name,
just using -g).  I am using gcc-4.0.2 (also happens with gcc-4.0.1) with
binutils 2.16.1 and newlib 1.13.0, all the latest (released) versions,
in case that matters at all.

By the way, I did try a newer snapshot but still got the same result, as
you suspected.  I ran the cross gdb under a native gdb to try to see
what was happening.  With a breakpoint on find_pc_sect_symtab() in
symtab.c and a single command input of "disas 0xd00 0xd04" there are
several calls to this function.  I can re-run the test to get specific
input values if that would help.  If I remember correctly, the call that
resulted in the warning message being printed had inputs of pc=0 and
section=0.

If I enter "disas main" instead, no warnings are printed.  There is a
symbol at 0xd00 named trace_exc and "disas trace_exc" also generates the
warnings.  Note that the trace exception handler is written in assembly
(GNU as) and normally resides in a custom section named "excvectbl".
However, I changed that to ".text" just to make sure it wasn't the
custom section that was causing grief and that didn't help.

Anything else I should look at?

Thanks!

Ron McCall


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