Re: warning: (Internal error: pc 0xd00 in read in psymtab, but not in symtab.)

Daniel Jacobowitz
2005-11-16T02:53:54Z

On Tue, Nov 15, 2005 at 05:33:28PM -0800, Jim Blandy wrote:
> On 11/15/05, Daniel Jacobowitz <drow@false.org> wrote:
> > > When we drop a linkonce section, we also drop all relocs referring to
> > > symbols defined in that section, or the section's STT_SECTION symbol.
> > > (Or do we just make the relocs use STN_UNDEF as their symbol?) If the
> >
> > Neither, quite. We specifically fail to resolve them because they are
> > in .debug_info; otherwise this would be a fatal error.
>
> Do we need some sort of annotation in the debug information itself,
> indicating that it's referring to stuff that might go away?

Sourceware hiccuped my last copy.... I wrote:

If you're going to change the toolchain to solve this problem, this
isn't the way to do it. Just put the .debug_info section in a COMDAT
group with the section to be discarded. This should be a pretty
trivial change nowadays, since the linker has grown proper COMDAT
support.

Inter-compilation-unit references make this feasible.

--
Daniel Jacobowitz
CodeSourcery, LLC