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

Daniel Jacobowitz
2005-11-16T00:38:21Z

On Tue, Nov 15, 2005 at 04:12:14PM -0800, Jim Blandy wrote:
> On 11/15/05, Daniel Jacobowitz <drow@false.org> wrote:
> > No, that doesn't work. The high address is probably
> > .gnu.linkonce.foo+0x104, which may show up as 0x104 depending on the
> > relocation format in use.
>
> Checking my understanding:
>
> 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.

> architecture uses RELA relocs, then there's probably a zero sitting in
> the code itself, but if it uses REL, then the addend is in the code,
> so we'll see it when we read the value in GDB.

Yes, that's exactly what I meant.

--
Daniel Jacobowitz
CodeSourcery, LLC