perf: Mute libbpf API deprecations temporarily
authorAndrii Nakryiko <andrii@kernel.org>
Fri, 3 Dec 2021 00:46:40 +0000 (16:46 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 3 Dec 2021 19:54:51 +0000 (11:54 -0800)
Libbpf development version was bumped to 0.7 in c93faaaf2f67
("libbpf: Deprecate bpf_prog_load_xattr() API"), activating a bunch of
previously scheduled deprecations. Most APIs are pretty straightforward
to replace with newer APIs, but perf has a complicated mixed setup with
libbpf used both as static and shared configurations, which makes it
non-trivial to migrate the APIs.

Further, bpf_program__set_prep() needs more involved refactoring, which
will require help from Arnaldo and/or Jiri.

So for now, mute deprecation warnings and work on migrating perf off of
deprecated APIs separately with the input from owners of the perf tool.

Fixes: c93faaaf2f67 ("libbpf: Deprecate bpf_prog_load_xattr() API")
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20211203004640.2455717-1-andrii@kernel.org
tools/perf/tests/bpf.c
tools/perf/util/bpf-loader.c

index 2bf146e..c52bf10 100644 (file)
@@ -312,9 +312,13 @@ static int check_env(void)
                return err;
        }
 
+/* temporarily disable libbpf deprecation warnings */
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
        err = bpf_load_program(BPF_PROG_TYPE_KPROBE, insns,
                               sizeof(insns) / sizeof(insns[0]),
                               license, kver_int, NULL, 0);
+#pragma GCC diagnostic pop
        if (err < 0) {
                pr_err("Missing basic BPF support, skip this test: %s\n",
                       strerror(errno));
index fbb3c40..528aeb0 100644 (file)
@@ -29,6 +29,9 @@
 
 #include <internal/xyarray.h>
 
+/* temporarily disable libbpf deprecation warnings */
+#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
+
 static int libbpf_perf_print(enum libbpf_print_level level __attribute__((unused)),
                              const char *fmt, va_list args)
 {