public inbox for gcc-cvs@sourceware.org help / color / mirror / Atom feed
From: David Faust <dfaust@gcc.gnu.org> To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/dfaust/heads/btf-type-tag-new-rebase)] include: Add BTF tag defines to dwarf2 and btf Date: Fri, 7 Oct 2022 18:34:26 +0000 (GMT) [thread overview] Message-ID: <20221007183426.1915D3857403@sourceware.org> (raw) https://gcc.gnu.org/g:b6e7be91ec799f465f90c678bf4e1e8c4242a6b5 commit b6e7be91ec799f465f90c678bf4e1e8c4242a6b5 Author: David Faust <david.faust@oracle.com> Date: Wed Mar 2 14:59:35 2022 -0800 include: Add BTF tag defines to dwarf2 and btf include/ * btf.h: Add BTF_KIND_DECL_TAG and BTF_KIND_TYPE_TAG defines. Update comments. (struct btf_decl_tag): New. * dwarf2.def: Add new DWARF extension DW_TAG_GNU_annotation. Diff: --- include/btf.h | 17 +++++++++++++++-- include/dwarf2.def | 4 ++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/include/btf.h b/include/btf.h index 78b551ced23..37deaef8b48 100644 --- a/include/btf.h +++ b/include/btf.h @@ -69,7 +69,7 @@ struct btf_type /* SIZE is used by INT, ENUM, STRUCT, UNION, DATASEC kinds. TYPE is used by PTR, TYPEDEF, VOLATILE, CONST, RESTRICT, FUNC, - FUNC_PROTO and VAR kinds. */ + FUNC_PROTO, VAR and DECL_TAG kinds. */ union { uint32_t size; /* Size of the entire type, in bytes. */ @@ -109,7 +109,9 @@ struct btf_type #define BTF_KIND_VAR 14 /* Variable. */ #define BTF_KIND_DATASEC 15 /* Section such as .bss or .data. */ #define BTF_KIND_FLOAT 16 /* Floating point. */ -#define BTF_KIND_MAX BTF_KIND_FLOAT +#define BTF_KIND_DECL_TAG 17 /* Decl Tag. */ +#define BTF_KIND_TYPE_TAG 18 /* Type Tag. */ +#define BTF_KIND_MAX BTF_KIND_TYPE_TAG #define NR_BTF_KINDS (BTF_KIND_MAX + 1) /* For some BTF_KINDs, struct btf_type is immediately followed by @@ -190,6 +192,17 @@ struct btf_var_secinfo uint32_t size; /* Size (in bytes) of variable. */ }; +/* BTF_KIND_DECL_TAG is followed by a single struct btf_decl_tag, which + describes the tag location: + - If component_idx == -1, then the tag is applied to a struct, union, + variable or function. + - Otherwise it is applied to a struct/union member or function argument + with the given given index numbered 0..vlen-1. */ +struct btf_decl_tag +{ + int32_t component_idx; +}; + #ifdef __cplusplus } #endif diff --git a/include/dwarf2.def b/include/dwarf2.def index 530c6f849f9..a1f7a47a036 100644 --- a/include/dwarf2.def +++ b/include/dwarf2.def @@ -174,6 +174,10 @@ DW_TAG (DW_TAG_GNU_formal_parameter_pack, 0x4108) are properly part of DWARF 5. */ DW_TAG (DW_TAG_GNU_call_site, 0x4109) DW_TAG (DW_TAG_GNU_call_site_parameter, 0x410a) + +/* Extension for BTF annotations. */ +DW_TAG (DW_TAG_GNU_annotation, 0x6000) + /* Extensions for UPC. See: http://dwarfstd.org/doc/DWARF4.pdf. */ DW_TAG (DW_TAG_upc_shared_type, 0x8765) DW_TAG (DW_TAG_upc_strict_type, 0x8766)
reply other threads:[~2022-10-07 18:34 UTC|newest] Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221007183426.1915D3857403@sourceware.org \ --to=dfaust@gcc.gnu.org \ --cc=gcc-cvs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).