bpf_object__open_buffer() API is deprecated, use the unified opts bpf_object__open_mem() API in perf instead. This requires at least libbpf 6.0. Signed-off-by: Christy Lee <christylee@xxxxxx> --- tools/perf/tests/llvm.c | 2 +- tools/perf/util/bpf-event.c | 10 ++++++++++ tools/perf/util/bpf-loader.c | 10 ++++++++-- 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tools/perf/tests/llvm.c b/tools/perf/tests/llvm.c index 8ac0a3a457ef..0bc25a56cfef 100644 --- a/tools/perf/tests/llvm.c +++ b/tools/perf/tests/llvm.c @@ -13,7 +13,7 @@ static int test__bpf_parsing(void *obj_buf, size_t obj_buf_sz) { struct bpf_object *obj; - obj = bpf_object__open_buffer(obj_buf, obj_buf_sz, NULL); + obj = bpf_object__open_mem(obj_buf, obj_buf_sz, NULL); if (libbpf_get_error(obj)) return TEST_FAIL; bpf_object__close(obj); diff --git a/tools/perf/util/bpf-event.c b/tools/perf/util/bpf-event.c index a517eaa51eb3..fd5469bf4ac2 100644 --- a/tools/perf/util/bpf-event.c +++ b/tools/perf/util/bpf-event.c @@ -51,6 +51,16 @@ bpf_object__next_map(const struct bpf_object *obj, const struct bpf_map *prev) #pragma GCC diagnostic pop } +struct bpf_object * __weak +bpf_object__open_mem(const void *obj_buf, size_t obj_buf_sz, + const struct bpf_object_open_opts *opts) +{ +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + return bpf_object__open_buffer(obj_buf, obj_buf_sz, opts->object_name); +#pragma GCC diagnostic pop +} + const void * __weak btf__raw_data(const struct btf *btf_ro, __u32 *size) { diff --git a/tools/perf/util/bpf-loader.c b/tools/perf/util/bpf-loader.c index 4631cac3957f..e92b17ad9d89 100644 --- a/tools/perf/util/bpf-loader.c +++ b/tools/perf/util/bpf-loader.c @@ -54,6 +54,9 @@ static bool libbpf_initialized; struct bpf_object * bpf__prepare_load_buffer(void *obj_buf, size_t obj_buf_sz, const char *name) { + DECLARE_LIBBPF_OPTS(bpf_object_open_opts, opts, + .object_name = name + ); struct bpf_object *obj; if (!libbpf_initialized) { @@ -61,7 +64,7 @@ bpf__prepare_load_buffer(void *obj_buf, size_t obj_buf_sz, const char *name) libbpf_initialized = true; } - obj = bpf_object__open_buffer(obj_buf, obj_buf_sz, name); + obj = bpf_object__open_mem(obj_buf, obj_buf_sz, &opts); if (IS_ERR_OR_NULL(obj)) { pr_debug("bpf: failed to load buffer\n"); return ERR_PTR(-EINVAL); @@ -72,6 +75,9 @@ bpf__prepare_load_buffer(void *obj_buf, size_t obj_buf_sz, const char *name) struct bpf_object *bpf__prepare_load(const char *filename, bool source) { + DECLARE_LIBBPF_OPTS(bpf_object_open_opts, opts, + .object_name = filename + ); struct bpf_object *obj; if (!libbpf_initialized) { @@ -94,7 +100,7 @@ struct bpf_object *bpf__prepare_load(const char *filename, bool source) return ERR_PTR(-BPF_LOADER_ERRNO__COMPILE); } else pr_debug("bpf: successful builtin compilation\n"); - obj = bpf_object__open_buffer(obj_buf, obj_buf_sz, filename); + obj = bpf_object__open_mem(obj_buf, obj_buf_sz, &opts); if (!IS_ERR_OR_NULL(obj) && llvm_param.dump_obj) llvm__dump_obj(filename, obj_buf, obj_buf_sz); -- 2.30.2