progs/verifier_netfilter_retcode.c:42:1: error: unknown attribute 'btf_decl_tag' ignored

发布时间 2023-10-22 17:30:21作者: 摩斯电码

平台

ubuntu20.04

问题

在linux内核源码目录下执行下面的命令时:

root@ubuntu-vm:/mnt/linux-6.5/tools/testing/selftests/bpf# make

报如下错误:

progs/verifier_netfilter_retcode.c:41:1: error: unknown attribute 'btf_decl_tag' ignored [-Werror,-Wunknown-attributes]
__description("bpf_exit with invalid return code. test4")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
progs/bpf_misc.h:64:44: note: expanded from macro '__description'
#define __description(desc)     __attribute__((btf_decl_tag("comment:test_description=" desc)))
                                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

原因

目前我是用的是clang12,而btf_decl_tag是在clang14才开始支持的:

https://releases.llvm.org/14.0.0/tools/clang/docs/AttributeReference.html#btf-decl-tag

解决

优先用第三种,如果没有跟自己的HOST匹配的,那么用第二种。