]> Cypherpunks repositories - gostls13.git/commitdiff
[dev.debug] cmd/internal/dwarf: add DWARF abbrevs with location lists
authorHeschi Kreinick <heschi@google.com>
Mon, 24 Jul 2017 17:37:04 +0000 (13:37 -0400)
committerHeschi Kreinick <heschi@google.com>
Wed, 26 Jul 2017 18:39:57 +0000 (18:39 +0000)
Location lists require new DWARF abbrev entries. Add them before
CL 41770 to enable binary comparison.

Change-Id: If99461f6896db902f2774e0718065eb3d3522026
Reviewed-on: https://go-review.googlesource.com/50881
Reviewed-by: Josh Bleecher Snyder <josharian@gmail.com>
src/cmd/internal/dwarf/dwarf.go

index 325836119f9c8e0ba0778fbb149e60e8428dce15..b58052beb3d90a6cf191296db76d9441ab8716d9 100644 (file)
@@ -213,7 +213,9 @@ const (
        DW_ABRV_FUNCTION
        DW_ABRV_VARIABLE
        DW_ABRV_AUTO
+       DW_ABRV_AUTO_LOCLIST
        DW_ABRV_PARAM
+       DW_ABRV_PARAM_LOCLIST
        DW_ABRV_LEXICAL_BLOCK_RANGES
        DW_ABRV_LEXICAL_BLOCK_SIMPLE
        DW_ABRV_STRUCTFIELD
@@ -297,6 +299,17 @@ var abbrevs = [DW_NABRV]dwAbbrev{
                },
        },
 
+       /* AUTO_LOCLIST */
+       {
+               DW_TAG_variable,
+               DW_CHILDREN_no,
+               []dwAttrForm{
+                       {DW_AT_name, DW_FORM_string},
+                       {DW_AT_location, DW_FORM_sec_offset},
+                       {DW_AT_type, DW_FORM_ref_addr},
+               },
+       },
+
        /* PARAM */
        {
                DW_TAG_formal_parameter,
@@ -307,6 +320,18 @@ var abbrevs = [DW_NABRV]dwAbbrev{
                        {DW_AT_type, DW_FORM_ref_addr},
                },
        },
+
+       /* PARAM_LOCLIST */
+       {
+               DW_TAG_formal_parameter,
+               DW_CHILDREN_no,
+               []dwAttrForm{
+                       {DW_AT_name, DW_FORM_string},
+                       {DW_AT_location, DW_FORM_sec_offset},
+                       {DW_AT_type, DW_FORM_ref_addr},
+               },
+       },
+
        /* LEXICAL_BLOCK_RANGES */
        {
                DW_TAG_lexical_block,