Em Wed, Feb 08, 2023 at 02:19:20PM +0100, Jiri Olsa escreveu: > On Tue, Feb 07, 2023 at 05:14:59PM +0000, Alan Maguire wrote: > > SNIP > > > + > > /* > > * This corresponds to the same macro defined in > > * include/linux/kallsyms.h > > @@ -818,6 +901,11 @@ static int functions_cmp(const void *_a, const void *_b) > > const struct elf_function *a = _a; > > const struct elf_function *b = _b; > > > > + /* if search key allows prefix match, verify target has matching > > + * prefix len and prefix matches. > > + */ > > + if (a->prefixlen && a->prefixlen == b->prefixlen) > > + return strncmp(a->name, b->name, b->prefixlen); > > return strcmp(a->name, b->name); > > } > > > > @@ -850,14 +938,22 @@ static int btf_encoder__collect_function(struct btf_encoder *encoder, GElf_Sym * > > } > > > > encoder->functions.entries[encoder->functions.cnt].name = name; > > + if (strchr(name, '.')) { > > + const char *suffix = strchr(name, '.'); > > + > > + encoder->functions.suffix_cnt++; > > + encoder->functions.entries[encoder->functions.cnt].prefixlen = suffix - name; > > + } > > encoder->functions.entries[encoder->functions.cnt].generated = false; > > + encoder->functions.entries[encoder->functions.cnt].function = NULL; > > should we zero functions.state in here? next patch adds other stuff > like got_parameter_names and parameter_names in it, so looks like it > could actually matter Probably, but that can come as a followup patch, right? I've applied the patches, combining the patches documenting the two new command line options with the patches where those options are introduced. Testing everything now. Thanks, - Arnaldo > jirka > > > encoder->functions.cnt++; > > return 0; > > } > > > > -static struct elf_function *btf_encoder__find_function(const struct btf_encoder *encoder, const char *name) > > +static struct elf_function *btf_encoder__find_function(const struct btf_encoder *encoder, > > + const char *name, size_t prefixlen) > > { > > - struct elf_function key = { .name = name }; > > + struct elf_function key = { .name = name, .prefixlen = prefixlen }; > > > > SNIP -- - Arnaldo