eddyz87 added a comment.

> ! In D143967#4197142 <https://reviews.llvm.org/D143967#4197142>, @jemarch 
> wrote:
>  ...
>  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.

It's not only the BTF generated for BPF programs. There are two ways
to obtain BTF that we should worry about:

1. BTF generated for BPF programs by compiler;
2. BTF generated during kernel build for the whole kernel, this one is 
generated by `pahole` from DWARF.

> 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?

Are there any? I just tried the following code with GDB:

  volatile int __attribute__((btf_type_tag("__a"))) a = 1;
  
  void foo(void) {
    a = 2;
  }
  
  int main(int argc, char **argv) {
    foo();
    return 0;
  }

No warnings, `a` can be inspected.

I think there are two sides to this:

- conceptual: is it ok to allow annotations for CVR modifiers?
- technical: what is the point where such reordering is easiest to implement? 
For LLVM / pahole stack the path of least resistance is to modify DWARF 
generation (but again @dblaikie might disagree). How hard is it to adjust DI 
generation in GCC in this way?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143967/new/

https://reviews.llvm.org/D143967

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to