Re: internal error: pc 0x0 in read in psymtab, but not in symtab

Jim Blandy
2006-11-10T01:18:59Z

Turny Dávid <Turny.David@stud.u-szeged.hu> writes:
> I try to debug a program on a remote ARM target. I use the openOCD and the
> arm-elf-gdb (GNUARM) or the arm-none-eabi-gdb (SOURCERY). I have got
> an error message:
>
> internal error: pc 0x0 in read in psymtab, but not in symtab
>
> I have got is a lot of times... If I can reach somehow the main then
> it is working, but if I like to use the arm-elf-insight then these
> messages come in windows and I have to click on the ok button and I
> cant reach the main.
> How can I avoid this?
> Thank you!
>
> Oh, and I think there is something wrong with the .data
> section...please check the corresponding part of the main.dmp file.
> /the size of that is not ok I think.../
> Thank You very much!!!

I think this problem is related to GDB's handling of sections that
are loaded at address zero; see this thread:

http://sourceware.org/ml/gdb/2006-06/msg00051.html

Your problem may have been addressed by the following change:

2006-07-24 Frederic Riss <frederic.riss@st.com>

* dwarf2read.c (struct dwarf2_per_objfile): Add has_section_at_zero
field.
(dwarf2_locate_sections): Initialize
dwarf2_per_objfile->has_section_at_zero.
(dwarf2_get_pc_bounds): Use dwarf2_per_objfile->has_section_at_zero
instead of HAS_RELOC test.
(read_partial_die): Ditto.

Could you try a GDB built from the current CVS sources, and see if
this problem is still there?