mbox series

[dwarves,0/2] generate BTF_KIND_TAG types from DW_TAG_LLVM_annotation dwarf tags

Message ID 20210920003545.3524231-1-yhs@fb.com (mailing list archive)
Headers show
Series generate BTF_KIND_TAG types from DW_TAG_LLVM_annotation dwarf tags | expand

Message

Yonghong Song Sept. 20, 2021, 12:35 a.m. UTC
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(-)