From: Nick Clifton Date: Sat, 29 Aug 2020 07:03:15 +0000 (+0100) Subject: Include members in the variable table used when resolving DW_AT_specification tags. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e6f04d55f681149a69102a73937d0987719c3f16;p=binutils-gdb.git Include members in the variable table used when resolving DW_AT_specification tags. PR 26520 * dwarf2.c (scan_unit_for_symbols): Add member entries to the variable table. --- diff --git a/bfd/ChangeLog b/bfd/ChangeLog index bb817a08efc..f3d204e1dc7 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2020-08-29 Nick Clifton + + PR 26520 + * dwarf2.c (scan_unit_for_symbols): Add member entries to the + variable table. + 2020-08-29 Alan Modra PR 26459 diff --git a/bfd/dwarf2.c b/bfd/dwarf2.c index b8f0008a10d..977bf43a6a1 100644 --- a/bfd/dwarf2.c +++ b/bfd/dwarf2.c @@ -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"),