Clang patch ([1]) added support for btf_tag attributes with typedef
types. This patch added llvm support including dwarf generation.
For example, for typedef
typedef unsigned __attribute__((btf_tag("tag1"))) * __u;
__u u;
the following shows llvm-dwarfdump result:
0x00000033: DW_TAG_typedef
DW_AT_type (0x00000048 "unsigned int *")
DW_AT_name ("__u")
DW_AT_decl_file ("/home/yhs/work/tests/llvm/btf_tag/t.c")
DW_AT_decl_line (1)
0x0000003e: DW_TAG_LLVM_annotation
DW_AT_name ("btf_tag")
DW_AT_const_value ("tag1")
0x00000047: NULL
[1] https://reviews.llvm.org/D110127