This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Internal error in GDB
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Steven Johnson <sjohnson at neurizon dot net>
- Cc: gdb at sources dot redhat dot com
- Date: Thu, 14 Nov 2002 10:15:28 -0500
- Subject: Re: Internal error in GDB
- References: <3DD351ED.7000409@neurizon.net>
On Thu, Nov 14, 2002 at 05:34:05PM +1000, Steven Johnson wrote:
> Im getting the error:
>
> Internal error: pc 0x0 in read in psymtab, but not in symtab.
>
> from a very recent CVS build of GDB (As of 11th November).
>
> It happens when I set breakpoints in an assembler file, that has been
> assembled through GCC, using the C Preprocessor (.S file, not .s file).
>
> It does nothing wrong, except pop up all the time and hence interfere
> with debugging significantly. (Im using insight and have to keep
> pressing OK to continue).
>
> I searched the code and it seems to be coming from
> symtab.c:find_pc_sect_symtab (last if in the function)
>
> The comment in the code indicates that this error may want to stop GDB
> cold. Thankfully it isn't, cause I seem to be getting it in error.
>
> Also, the code here seems to be wrong, it prints the error, and then
> proceeds to look it up anyway. As in:
>
> if (ps->readin)
> warning("Internal error: pc 0x%s in read in psymtab, but not in
> symtab.",paddr_nz(pc));
>
> s = PSYMTAB_TO_SYMTAB(s)
>
> I would have expected, from the error, it not to try and
> PSYMTAB_TO_SYMTAB, as it is saying it isn't in the SYMTAB. as in:
>
> if (ps->readin)
> warning("Internal error: pc 0x%s in read in psymtab, but not in
> symtab.",paddr_nz(pc));
> else
> s = PSYMTAB_TO_SYMTAB(s)
>
> Anyway, what is going on here? What do i need to do to my assembler
> file to prevent this warning?
Do you have an assembler file you can post that triggers the warning?
I'd like to see it.
--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer