This is the mail archive of the elfutils-devel@sourceware.org mailing list for the elfutils 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] Use executable_for_core in dwfl_build_id_find_elf


On Tue, 2013-12-17 at 21:32 +0100, Jan Kratochvil wrote:
> I believe if executable_for_core is set it means the Dwfl is really for a core
> file and the executable has been explicitly set by the user.  Therefore it
> should override/precede any searches.

Agreed.

> I was experimenting also with replacing [exe]/[pie] by executable_for_core but
> I do not see any end-user visible benefit from it and it is also an unrelated
> patch.

Yeah.

> OK for check-in?

Yes, with one small nitpick about the moved comment.

> libdwfl/
> 2013-12-17  Jan Kratochvil  <jan.kratochvil@redhat.com>
> 
> 	* argp-std.c (offline_find_elf): Remove.
> 	(offline_callbacks): Use dwfl_build_id_find_elf instead.
> 	* dwfl_build_id_find_elf.c (dwfl_build_id_find_elf): Move here the code
> 	removed above.
> [...]
> >  static const Dwfl_Callbacks proc_callbacks =
> > diff --git a/libdwfl/dwfl_build_id_find_elf.c b/libdwfl/dwfl_build_id_find_elf.c
> > index 9272c1f..86e97d0 100644
> > --- a/libdwfl/dwfl_build_id_find_elf.c
> > +++ b/libdwfl/dwfl_build_id_find_elf.c
> > @@ -116,6 +116,23 @@ dwfl_build_id_find_elf (Dwfl_Module *mod,
> >  			char **file_name, Elf **elfp)
> >  {
> >    *elfp = NULL;
> > +  if (modname != NULL && mod->dwfl->executable_for_core != NULL
> > +      && (strcmp (modname, "[exe]") == 0 || strcmp (modname, "[pie]") == 0))
> > +    {
> > +      /* When both --core and --executable are given dwfl_core_file_report is
> > +         called first and this callback will replace the Dwfl_Module main.name
> > +         with the recorded --executable file when the modname is [exe] or [pie]
> > +         (which then triggers opening and reporting of the executable).  */

This should now mention "When dwfl_core_file_report was called with a
non-NULL executable file name..." instead of the argp argument switches.

Thanks,

Mark


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