Subject: Re: [PATCH] perf tools: Do not use deprecated bpf_program__title

From: Jiri Olsa <[email-masked]>
Date: Mon, 7 Sep 2020 18:22:49 +0200

On Mon, Sep 07, 2020 at 05:59:46PM +0200, Tobias Klauser wrote:
> On 2020-09-07 at 13:05:49 +0200, Jiri Olsa <[email-masked]> wrote:
> > On Mon, Sep 07, 2020 at 01:02:37PM +0200, Jiri Olsa wrote:
> > > The bpf_program__title function got deprecated in libbpf,
> > > use the suggested alternative.
> > > 
> > > Fixes: 521095842027 ("libbpf: Deprecate notion of BPF program "title" in favor of "section name"")
> > > Signed-off-by: Jiri Olsa <[email-masked]>
> > 
> > Arnaldo,
> > the commit in 'Fixes' is not yet in your tree yet and the patch
> > below will make the perf compilation fail in your perf/core..
> > 
> > it fixes perf compilation on top of bpf-next tree.. so I think it
> > should go in through bpf-next tree
> > 
> > thanks,
> > jirka
> > 
> > > ---
> > >  tools/perf/util/bpf-loader.c | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c
> > > index 2feb751516ab..73de3973c8ec 100644
> > > --- a/tools/perf/util/bpf-loader.c
> > > +++ b/tools/perf/util/bpf-loader.c
> > > @@ -328,7 +328,7 @@ config_bpf_program(struct bpf_program *prog)
> > >  	probe_conf.no_inlines = false;
> > >  	probe_conf.force_add = false;
> > >  
> > > -	config_str = bpf_program__title(prog, false);
> > > +	config_str = bpf_program__section_name(prog);
> > >  	if (IS_ERR(config_str)) {
> > >  		pr_debug("bpf: unable to get title for program\n");
> > >  		return PTR_ERR(config_str);
> > > @@ -454,7 +454,7 @@ preproc_gen_prologue(struct bpf_program *prog, int n,
> > >  	if (err) {
> > >  		const char *title;
> > >  
> > > -		title = bpf_program__title(prog, false);
> > > +		title = bpf_program__section_name(prog);
> > >  		if (!title)
> > >  			title = "[unknown]";
> 
> I think bpf_program__title at line 457 in preproc_gen_prologue also needs to be
> changed given the following build failure:

hum, that's where the 2nd hunk, right? I dont see any other instance
of bpf_program__title after the patch is applied

thanks,
jirka

> 
> util/bpf-loader.c: In function 'preproc_gen_prologue':
> util/bpf-loader.c:457:3: error: 'bpf_program__title' is deprecated: BPF program title is confusing term; please use bpf_program__section_name() instead [-Werror=deprecated-declarations]
>   457 |   title = bpf_program__title(prog, false);
>       |   ^~~~~
> In file included from util/bpf-loader.c:10:
> /home/tklauser/src/linux/tools/lib/bpf/libbpf.h:203:13: note: declared here
>   203 | const char *bpf_program__title(const struct bpf_program *prog, bool needs_copy);
>       |             ^~~~~~~~~~~~~~~~~~
>