Latest upstream llvm-project added support for btf_decl_tag attributes for typedef declarations ([1], [2]). Similar to other btf_decl_tag cases, func/func_param/global_var/struct/union/field, btf_decl_tag with typedef declaration can carry information from kernel source to clang compiler and then to dwarf/BTF, for bpf verification or other use cases. This patch set added kernel support for BTF_KIND_DECL_TAG to typedef declaration (Patch 1). Additional selftests are added to cover unit testing, dedup, or bpf program usage of btf_decl_tag with typedef. (Patches 2, 3 and 4). The btf documentation is updated to include BTF_KIND_DECL_TAG typedef (Patch 5). [1] https://reviews.llvm.org/D110127 [2] https://reviews.llvm.org/D112259 Yonghong Song (5): bpf: add BTF_KIND_DECL_TAG typedef support selftests/bpf: add BTF_KIND_DECL_TAG typedef unit tests selftests/bpf: test deduplication for BTF_KIND_DECL_TAG typedef selftests/bpf: add BTF_KIND_DECL_TAG typedef example in tag.c docs/bpf: update documentation for BTF_KIND_DECL_TAG typedef support Documentation/bpf/btf.rst | 6 +- kernel/bpf/btf.c | 4 +- tools/testing/selftests/bpf/prog_tests/btf.c | 83 ++++++++++++++++++-- tools/testing/selftests/bpf/progs/tag.c | 9 ++- 4 files changed, 89 insertions(+), 13 deletions(-) -- 2.30.2