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]

Internal error in GDB


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?

Regards,
Steven Johnson



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