This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: PATCH: invalid IFUNC DW_AT_linkage_name: memmove strstr time
> On Wed, Aug 8, 2012 at 4:04 PM, Roland McGrath <roland@hack.frob.com> wrote:
> >> We should avoid put IFUNC symbols in DW_AT_linkage_name.
> >
> > Please elaborate.
>
> Jan, can you provide more back ground info on
>
> http://sourceware.org/bugzilla/show_bug.cgi?id=14166
That bug does give enough for me to guess, though it could indeed use an
explanation of what the real problem is. (My guess is that for inferior
calls GDB tries first to look up the name in DWARF info, and thus it finds
e.g. the "memmove" that is defined as the linkage name for memmove_ifunc,
and uses that PC as the target based on the entry_pc in the DIE. It
doesn't double-check the ELF symbol table entry for the linkage name, and
so fails to realize that PC is the IFUNC entry point rather than the
resolved function entry point.)
But each and every time you post a patch, you should say at least a few
sentences about what the bug is and why this fixes it, as well as referring
to the bug number where more details may be found.
Thanks,
Roland