Hi all, After merging the bpf-next tree, today's linux-next build (native perf) failed like this: tests/bpf.c: In function 'check_env': tests/bpf.c:299:2: error: 'bpf_load_program' is deprecated: libbpf v0.7+: use bpf_prog_load() instead [-Werror=deprecated-declarations] 299 | err = bpf_load_program(BPF_PROG_TYPE_KPROBE, insns, | ^~~ In file included from tests/bpf.c:28: tools/lib/bpf/bpf.h:204:16: note: declared here 204 | LIBBPF_API int bpf_load_program(enum bpf_prog_type type, | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors util/bpf-loader.c: In function 'bpf__clear': util/bpf-loader.c:115:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 115 | bpf_object__for_each_safe(obj, tmp) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:115:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 115 | bpf_object__for_each_safe(obj, tmp) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:115:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 115 | bpf_object__for_each_safe(obj, tmp) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c: In function 'hook_load_preprocessor': util/bpf-loader.c:621:2: error: 'bpf_program__set_prep' is deprecated: libbpf v0.7+: use bpf_program__insns() for getting bpf_program instructions [-Werror=deprecated-declarations] 621 | err = bpf_program__set_prep(prog, priv->nr_types, | ^~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:467:16: note: declared here 467 | LIBBPF_API int bpf_program__set_prep(struct bpf_program *prog, int nr_instance, | ^~~~~~~~~~~~~~~~~~~~~ util/bpf-loader.c: In function 'bpf__foreach_event': util/bpf-loader.c:776:5: error: 'bpf_program__nth_fd' is deprecated: libbpf v0.7+: multi-instance bpf_program support is deprecated [-Werror=deprecated-declarations] 776 | fd = bpf_program__nth_fd(prog, type); | ^~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:471:16: note: declared here 471 | LIBBPF_API int bpf_program__nth_fd(const struct bpf_program *prog, int n); | ^~~~~~~~~~~~~~~~~~~ util/bpf-loader.c: In function 'bpf__apply_obj_config': util/bpf-loader.c:1501:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1501 | bpf_object__for_each_safe(obj, tmp) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1501:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1501 | bpf_object__for_each_safe(obj, tmp) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1501:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1501 | bpf_object__for_each_safe(obj, tmp) { | ^~~~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c: In function 'bpf__setup_output_event': util/bpf-loader.c:1529:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1529 | bpf__for_each_map_named(map, obj, tmp, name) { | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1529:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1529 | bpf__for_each_map_named(map, obj, tmp, name) { | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1529:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1529 | bpf__for_each_map_named(map, obj, tmp, name) { | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1565:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1565 | bpf__for_each_map_named(map, obj, tmp, name) { | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1565:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1565 | bpf__for_each_map_named(map, obj, tmp, name) { | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ util/bpf-loader.c:1565:2: error: 'bpf_object__next' is deprecated: libbpf v0.7+: track bpf_objects in application code instead [-Werror=deprecated-declarations] 1565 | bpf__for_each_map_named(map, obj, tmp, name) { | ^~~~~~~~~~~~~~~~~~~~~~~ In file included from util/bpf-loader.c:10: tools/lib/bpf/libbpf.h:176:20: note: declared here 176 | struct bpf_object *bpf_object__next(struct bpf_object *prev); | ^~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors I am not sure what caused this, but I have just used the bpf-next tree from next-20211202 for today. -- Cheers, Stephen Rothwell
Attachment:
pgpBtMkCyOiZm.pgp
Description: OpenPGP digital signature