LLVM has implemented btf_tag attribute ([1]) which intended to provide a "string" tag for struct/union or its member, var, a func or its parameter. Such a "string" tag will be encoded in dwarf. For non-BPF target like x86_64, pahole needs to convert those dwarf btf_tag annotations to BTF so kernel can utilize these "string" tags for bpf program verification, etc. Patch 1 enhanced dwarf_loader to encode DW_TAG_LLVM_annotation tags into internal data structure and Patch 2 will encode such information to BTF with BTF_KIND_TAGs. [1] https://reviews.llvm.org/D106614 Yonghong Song (2): dwarf_loader: parse dwarf tag DW_TAG_LLVM_annotation btf_encoder: generate BTF_KIND_TAG from llvm annotations btf_encoder.c | 45 ++++++++++++++++++++++++++ dwarf_loader.c | 85 ++++++++++++++++++++++++++++++++++++++++++++++---- dwarves.h | 10 ++++++ pahole.c | 8 +++++ 4 files changed, 142 insertions(+), 6 deletions(-) -- 2.30.2