Thread (11 messages) 11 messages, 3 authors, 2021-11-26

Re: [PATCH dwarves v2 0/4] btf: support btf_type_tag attribute

From: Andrii Nakryiko <hidden>
Date: 2021-11-24 04:49:30

On Tue, Nov 23, 2021 at 3:36 PM Arnaldo Carvalho de Melo
[off-list ref] wrote:
Em Tue, Nov 23, 2021 at 10:32:18AM -0800, Andrii Nakryiko escreveu:
quoted
On Mon, Nov 22, 2021 at 8:56 PM Yonghong Song [off-list ref] wrote:
quoted
btf_type_tag is a new llvm type attribute which is used similar
to kernel __user/__rcu attributes. The format of btf_type_tag looks like
  __attribute__((btf_type_tag("tag1")))
For the case where the attribute applied to a pointee like
  #define __tag1 __attribute__((btf_type_tag("tag1")))
  #define __tag2 __attribute__((btf_type_tag("tag2")))
  int __tag1 * __tag1 __tag2 *g;
the information will be encoded in dwarf.

In BTF, the attribute is encoded as a new kind
BTF_KIND_TYPE_TAG and latest bpf-next supports it.

The patch added support in pahole, specifically
converts llvm dwarf btf_type_tag attributes to
BTF types. Please see individual patches for details.

Changelog:
  v1 -> v2:
     - reorg an if condition to reduce nesting level.
     - add more comments to explain how to chain type tag types.

Yonghong Song (4):
  libbpf: sync with latest libbpf repo
  dutil: move DW_TAG_LLVM_annotation definition to dutil.h
  dwarf_loader: support btf_type_tag attribute
  btf_encoder: support btf_type_tag attribute
I thought that v1 was already applied, but either way LGTM. I'm not
To the next branch, and the libbpf pahole CI is failing, since a few
days, can you please take a look?
We've had Clang regression which Yonghong fixed very quickly, but then
we were blocked on Clang nightly builds being broken for days. Seems
like we got a new Clang today, so hopefully libbpf CI will be back to
green again.
quoted
super familiar with the DWARF loader parts, so I mostly just read it
very superficially :)
I replaced the patches that changed, re-added the S-o-B for Yonghong and
tested it with llvm-project HEAD.
quoted
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Adding it to the csets.

Thanks!

- Arnaldo
quoted
quoted
 btf_encoder.c  |   7 +++
 dutil.h        |   4 ++
 dwarf_loader.c | 140 ++++++++++++++++++++++++++++++++++++++++++++++---
 dwarves.h      |  38 +++++++++++++-
 lib/bpf        |   2 +-
 pahole.c       |   8 +++
 6 files changed, 190 insertions(+), 9 deletions(-)

--
2.30.2
--

- Arnaldo
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help