poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] pickles: Update btf.pk


From: David Faust
Subject: Re: [PATCH] pickles: Update btf.pk
Date: Thu, 16 Dec 2021 10:04:42 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0



On 12/15/21 22:35, Jose E. Marchesi wrote:

Hi David.

Update BTF pickle with recent additions/changes to the format:
- BTF_KIND_DATASEC uses 'size' not 'type'
- Add BTF_KIND_FLOAT
- Add BTF_KIND_DECL_TAG and BTF_KIND_TYPE_TAG

2021-12-15  David Faust  <david.faust@oracle.com>

        * pickles/btf.pk (BTF_KIND_FLOAT): New kind.
        (BTF_KIND_DECL_TAG): Likewise.
        (BTF_KIND_TYPE_TAG): Likewise.
        (BTF_Decl_Tag): New type.
        (BTF_Type): Update `info` bits usage to accomodate new type kinds.
        BTF_KIND_DATASEC uses `size` variant of `attrs`.
        Add `decl_tag` variant to `data`.
---
  ChangeLog      | 10 ++++++++++
  pickles/btf.pk | 24 +++++++++++++++++++-----
  2 files changed, 29 insertions(+), 5 deletions(-)

diff --git a/pickles/btf.pk b/pickles/btf.pk
index 4832ada6..a23944db 100644
--- a/pickles/btf.pk
+++ b/pickles/btf.pk
@@ -35,12 +35,15 @@ var BTF_KIND_UNKNOWN = 0,
      BTF_KIND_FUNC = 12,
      BTF_KIND_FUNC_PROTO = 13,
      BTF_KIND_VAR = 14,
-    BTF_KIND_DATASEC = 15;
+    BTF_KIND_DATASEC = 15,
+    BTF_KIND_FLOAT = 16,
+    BTF_KIND_DECL_TAG = 17,
+    BTF_KIND_TYPE_TAG = 18;
var btf_kind_names =
    ["unkn", "int", "ptr", "array", "struct", "union", "enum",
     "fwd", "typedef", "volatile", "const", "restrict", "func",
-   "func_proto", "var", "datasec"];
+   "func_proto", "var", "datasec", "float", "decl_tag", "type_tag"];
type BTF_Type_Id = uint<32>; @@ -100,6 +103,14 @@ type BTF_Var_SecInfo =
      offset<uint<32>,B> size;
    };
+type BTF_Decl_Tag =
+  struct
+  {
+    /* -1 if the tag is applied to the type itself,
+       else the index of the tagged field/parameter/etc.  */
+    uint<32> component_idx;
+  };

Wouldn't that be 0xffff_ffff instead of -1?  In any case, it may be
useful for the user to have a variable like BTF_DECL_TAG_SELF defined to
this special value.

Thanks for pointing this out. Of course -1 doesn't make much sense here.

After double checking, this should indeed be a _signed_ int32. Looks like a small error in the format documentation which refers to it as unsigned (while also using the -1).

Fixed, added BTF_DECL_TAG_SELF, and pushed.
Thanks!


Other than that, the patch is OK for master.
Thanks.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]