Re: [PATCH perf] perf: ignore deprecation warning when using libbpf's btf__get_from_id()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 14, 2021 at 10:00:04AM -0700, Andrii Nakryiko wrote:
> Perf code re-implements libbpf's btf__load_from_kernel_by_id() API as
> a weak function, presumably to dynamically link against old version of
> libbpf shared library. Unfortunately this causes compilation warning
> when perf is compiled against libbpf v0.6+.
> 
> For now, just ignore deprecation warning, but there might be a better
> solution, depending on perf's needs.

HI,
the problem we tried to solve is when perf is using symbols
which are not yet available in released libbpf.. but it all
linkes in default perf build because it's linked statically
libbpf.a in the tree

so now we have weak function with that warning disabled locally,
which I guess could work?  also for future cases like that

jirka

> 
> Signed-off-by: Andrii Nakryiko <andrii@xxxxxxxxxx>
> ---
>  tools/perf/util/bpf-event.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/tools/perf/util/bpf-event.c b/tools/perf/util/bpf-event.c
> index 683f6d63560e..1a7112a87736 100644
> --- a/tools/perf/util/bpf-event.c
> +++ b/tools/perf/util/bpf-event.c
> @@ -24,7 +24,10 @@
>  struct btf * __weak btf__load_from_kernel_by_id(__u32 id)
>  {
>         struct btf *btf;
> +#pragma GCC diagnostic push
> +#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
>         int err = btf__get_from_id(id, &btf);
> +#pragma GCC diagnostic pop
>  
>         return err ? ERR_PTR(err) : btf;
>  }
> -- 
> 2.30.2
> 




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux