This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

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


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