On Thu, 2024-11-28 at 01:24 +0000, Ihor Solodrai wrote: > Add a function pointer to conf_load, which is called immediately after > Elf is extracted from Dwfl_Module in cus__proces_dwflmod. > > This is a preparation for making elf_functions table shared between > encoders. Shared table can be built as soon as the relevant Elf is > available. > > Signed-off-by: Ihor Solodrai <ihor.solodrai@xxxxx> > --- > dwarf_loader.c | 14 +++++++------- > dwarves.h | 11 +++++++++-- > 2 files changed, 16 insertions(+), 9 deletions(-) > > diff --git a/dwarf_loader.c b/dwarf_loader.c > index 598fde4..5d55649 100644 > --- a/dwarf_loader.c > +++ b/dwarf_loader.c > @@ -3796,13 +3796,6 @@ static int cus__load_module(struct cus *cus, struct conf_load *conf, > return DWARF_CB_OK; > } > > -struct process_dwflmod_parms { > - struct cus *cus; > - struct conf_load *conf; > - const char *filename; > - uint32_t nr_dwarf_sections_found; > -}; > - This is probably a leftover, moving this structure is not necessary. > static int cus__process_dwflmod(Dwfl_Module *dwflmod, > void **userdata __maybe_unused, > const char *name __maybe_unused, > @@ -3826,11 +3819,18 @@ static int cus__process_dwflmod(Dwfl_Module *dwflmod, > Dwarf *dw = dwfl_module_getdwarf(dwflmod, &dwbias); > > int err = DWARF_CB_OK; > + if (parms->conf->pre_load_module) { > + err = parms->conf->pre_load_module(dwflmod, elf); > + if (err) > + return DWARF_CB_ABORT; > + } > + > if (dw != NULL) { > ++parms->nr_dwarf_sections_found; > err = cus__load_module(cus, parms->conf, dwflmod, dw, elf, > parms->filename); > } > + Nit: useless white space change. > /* > * XXX We will fall back to try finding other debugging > * formats (CTF), so no point in telling this to the user [...]