[PATCH] D143967: [DebugInfo][BPF] Add 'btf:type_tag' annotation in DWARF

Jose E. Marchesi via cfe-commits cfe-commits at lists.llvm.org
Wed Mar 15 10:39:53 PDT 2023


> eddyz87 added a comment.
>
> In D143967#4197041 <https://reviews.llvm.org/D143967#4197041>, @dfaust wrote:
>
>> The way I see it both 'volatile' and the type tag are modifying
>> 'int' type here, so the annotation DIE more properly fits as a child
>> of 'int' rather than the 'volatile'.
>>
>> I don't think we discussed this particular case, and I'm not sure whether there is any precedent here.
>>
>> WDYT @eddyz87, @jemarch ?
>
> This is related to my previous comment. Kernel BTF parser wants all
> type tags to precede modifiers (see this
> <https://elixir.bootlin.com/linux/latest/source/kernel/bpf/btf.c#L5348>
> code). So such reordering will have to happen either during DWARF
> generation or by `pahole`. Currently `pahole` is "dumb" in a sense
> that it reflects DWARF structure in BTF effectively one-to-one. Adding
> such rewrite at a `pahole` level is possible but one-to-one mapping to
> DWARF would be lost, so the tool would require significant changes.
>
> So, at least for LLVM its a tradeoff, either do it in the compiler
> (less code), or in the pahole (more code). I opted for less code :) If
> you think that this is conceptually unacceptable, I'll do the change
> on the pahole side (DI maintainers on LLVM side might agree, the patch
> has not been reviewed yet).
>
> Another option would be to modify the kernel, but this might impede backwards compatibility.

In GCC we also translate from the internal DWARF structures into BTF.
So, for us, it would also imply to reoder (before generating the BTF
from the interal DWARF) in case we wanted to use a different approach in
DWARF than in BTF.

I think the question is: what are the consequences of having the
annotation DIE as a child of the qualifiers instead of the qualified
type?

>
> Repository:
>   rG LLVM Github Monorepo
>
> CHANGES SINCE LAST ACTION
>   https://reviews.llvm.org/D143967/new/
>
> https://reviews.llvm.org/D143967


More information about the cfe-commits mailing list