Hi -
> > Thus my proposal, and RFC:
> >
> > ```
> > /* Let us mirror the debuginfod progressfn for dwfl and forward it to
> > the internal debuginfod client, if available.
> > This way, dwfl's usage of debuginfod can stay optional and we would not
> > need to link to debuginfod directly from code using dwfl.
> > */
> > typedef int (*dwfl_debuginfod_progressfn_t)(Dwfl *dwfl, long a, long b);
> > extern void dwfl_set_debuginfod_progressfn(Dwfl *dwfl,
> > dwfl_debuginfod_progressfn_t fn);
> > ```
(Don't quite see how this extension would let you disable or enable
debuginfod support on a given dwfl. By the time a progressfn is
called, some debuginfod traffic would be attempted.)n
> Alternately:
> [...]
> > /* We could just give full access to the internal client
> > but doing so may clash with future usages of e.g.
> > debuginfod_{set,get}_user_data in dwfl and users of dwfl.
> > Otherwise, this is obviously easiest and gives most flexibility.
> > We just need to forward get_client from debuginfod-client.c
> > */
> > extern debuginfod_client *dwfl_debuginfod_client (Dwfl *);
> > ```
> > What do you all think?
In order to -influence- things, would you not need to -change- the
client somehow? We don't have debuginfod-client apis to disable or
reconfigure any particular client object. Such an API wouldn't let
you replace it with a hook object of your own either.
So, dunno, could you perhaps remind us what your current usage
interests are?
To enable/disable it on a per-dwfl basis? If yes, and if statically,
maybe a new Dwfl_Callbacks option for .find_debuginfo() could be your
ticket: a dwfl_standard_find_debuginfo variant sans debuginfod at the
end.
- FChE