]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Import patch from mainline to fix decoding DWARF information in the BFD library.
authorNick Clifton <nickc@redhat.com>
Thu, 24 Sep 2020 12:42:04 +0000 (13:42 +0100)
committerNick Clifton <nickc@redhat.com>
Thu, 24 Sep 2020 12:42:04 +0000 (13:42 +0100)
PR 26520
* dwarf2.c (scan_unit_for_symbols): Add member entries to the
variable table.

bfd/ChangeLog
bfd/dwarf2.c

index da976cac0fe6832ba5b12b69bde335b28265f6cf..49232b84c5e8ebd6f0575f29db838aece591dbb3 100644 (file)
@@ -1,3 +1,12 @@
+2020-09-24  Nick Clifton  <nickc@redhat.com>
+
+       Import from mainline:
+       2020-08-29  Nick Clifton  <nickc@redhat.com>
+
+       PR 26520
+       * dwarf2.c (scan_unit_for_symbols): Add member entries to the
+       variable table.
+
 2020-09-24  Alan Modra  <amodra@gmail.com>
 
        PR 26656
index b8f0008a10da531c8119d154b03cf5713f6d76b4..977bf43a6a181d97fa3ae71329478f9f263b090f 100644 (file)
@@ -3404,7 +3404,8 @@ scan_unit_for_symbols (struct comp_unit *unit)
       else
        {
          func = NULL;
-         if (abbrev->tag == DW_TAG_variable)
+         if (abbrev->tag == DW_TAG_variable
+             || abbrev->tag == DW_TAG_member)
            {
              size_t amt = sizeof (struct varinfo);
              var = (struct varinfo *) bfd_zalloc (abfd, amt);
@@ -3516,7 +3517,7 @@ scan_unit_for_symbols (struct comp_unit *unit)
                      spec_var = lookup_var_by_offset (attr.u.val,
                                                       unit->variable_table);
                      if (spec_var == NULL)
-                       {       
+                       {
                          _bfd_error_handler (_("DWARF error: could not find "
                                                "variable specification "
                                                "at offset %lx"),