1. 20 Feb, 2022 1 commit
    • Yonghong Song's avatar
      selftests/bpf: Fix a clang deprecated-declarations compilation error · a33c0c79
      Yonghong Song authored
      Build the kernel and selftest with clang compiler with LLVM=1,
        make -j LLVM=1
        make -C tools/testing/selftests/bpf -j LLVM=1
      
      I hit the following selftests/bpf compilation error:
        In file included from test_cpp.cpp:3:
        /.../tools/testing/selftests/bpf/tools/include/bpf/libbpf.h:73:8:
          error: 'relaxed_core_relocs' is deprecated: libbpf v0.6+: field has no effect [-Werror,-Wdeprecated-declarations]
        struct bpf_object_open_opts {
               ^
        test_cpp.cpp:56:2: note: in implicit move constructor for 'bpf_object_open_opts' first required here
                LIBBPF_OPTS(bpf_object_open_opts, opts);
                ^
        /.../tools/testing/selftests/bpf/tools/include/bpf/libbpf_common.h:77:3: note: expanded from macro 'LIBBPF_OPTS'
                        (struct TYPE) {                                             \
                        ^
        /.../tools/testing/selftests/bpf/tools/include/bpf/libbpf.h:90:2: note: 'relaxed_core_relocs' has been explicitly marked deprecated here
                LIBBPF_DEPRECATED_SINCE(0, 6, "field has no effect")
                ^
        /.../tools/testing/selftests/bpf/tools/include/bpf/libbpf_common.h:24:4: note: expanded from macro 'LIBBPF_DEPRECATED_SINCE'
                        (LIBBPF_DEPRECATED("libbpf v" # major "." # minor "+: " msg))
                         ^
        /.../tools/testing/selftests/bpf/tools/include/bpf/libbpf_common.h:19:47: note: expanded from macro 'LIBBPF_DEPRECATED'
        #define LIBBPF_DEPRECATED(msg) __attribute__((deprecated(msg)))
      
      There are two ways to fix the issue, one is to use GCC diagnostic ignore pragma, and the
      other is to open code bpf_object_open_opts instead of using LIBBPF_OPTS.
      Since in general LIBBPF_OPTS is preferred, the patch fixed the issue by
      adding proper GCC diagnostic ignore pragmas.
      Signed-off-by: default avatarYonghong Song <yhs@fb.com>
      Signed-off-by: default avatarAndrii Nakryiko <andrii@kernel.org>
      Link: https://lore.kernel.org/bpf/20220217194005.2765348-1-yhs@fb.com
      a33c0c79
  2. 18 Feb, 2022 27 commits
  3. 17 Feb, 2022 12 commits