On Wed, Feb 22, 2023 at 10:05 AM David Faust <david.faust@xxxxxxxxxx> wrote: > > > > On 2/21/23 14:57, Eduard Zingerman wrote: > > On Tue, 2023-02-21 at 11:38 -0800, David Faust wrote: > > [...] > >> Very nice. > >> Keeping the 0x6000 tag and instead changing the name sounds good to us. > >> > >> From the GCC side, support for BTF tags will be new either way but > >> conserving DWARF tag numbers is a good idea. > > > > Great, thank you! > > > >>> Both [1] and [2] are in a workable state, but [2] lacks support for > >>> subroutine types and "void *" for now. If you are onboard with this change > >>> I'll proceed with finalizing [1] and [2]. (Also, ":v2" suffix might be not > >>> the best, I'm open to naming suggestions). > >> > >> As for the name, I am not sure the ":v2" suffix is a good idea. > >> > >> If we need a new name anyway, this could be a good opportunity to use > >> something more generic. The annotation DIEs, especially with the new > >> format, could be more widely useful than exclusively for producing BTF. > >> > >> For example, some other tool may want to process these same user > >> annotations which are now recorded in DWARF, but may not involve BPF/BTF > >> at all. Tying "btf" into the name seems to unnecessarily discourage > >> those use cases. > >> > >> What do you think about something like "debug_type_tag" or > >> "debug_type_annotation" (and a similar update for the decl tags)? > >> The translation into BTF records would be the same, but the DWARF info > >> would stand on its own without being tied to BTF. > >> > >> (Naming is a bit tricky since terms like 'tag' are already in use by > >> DWARF, e.g. "type tag" in the context of DWARF DIEs makes me think of > >> DW_TAG_xxxx_type...) > >> > >> As far as I understand, early proposals for the tags were more generic > >> but the LLVM reviewers wished for something more specific due to the > >> relatively limited use of the tags at the time. Now that the tags and > >> their DWARF format have matured I think a good case can be made to > >> make these generic. We'd be happy to help push for such change. > > > > On the other hand, BTF is a thing we are using this annotation for. > > Any other tool can reuse DW_TAG_LLVM_annotation, but it will need a > > way to distinguish it's annotations from BTF annotations. And this can > > be done by using a different DW_AT_name. So, it seems logical to > > retain "btf" in the DW_AT_name. What do you think? > > OK I can understand keeping it BTF specific. > > Other than that, I don't come up with any significantly different idea > than to use the ":v2" suffix, so let's go with "btf_type_tag:v2"? I don't like v2 suffix either. Please come up with something else.