From: Leszek Swirski Date: Thu, 26 Oct 2017 23:19:33 +0000 (-0400) Subject: Fix dwarf2_string_attr for -gsplit-dwarf X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=06848393c68c1b370cf2441756ed7413f4442515;p=thirdparty%2Fbinutils-gdb.git Fix dwarf2_string_attr for -gsplit-dwarf The dwarf2_string_attr did not allow DW_FORM_GNU_str_index as a form for string types. This manifested as null strings in the namespace_name lookup (replaced with "(anonymous namespace)") when debugging Fission-compiled code. (cherry picked from commits 16eb6b2db49e6cf2fdca56efd37689fcc170cd37 and b33404388e5bbd8a1fddfde73cd4593ae2b557e8) gdb/ChangeLog: PR symtab/20899 * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_str_index. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b77435ce7a3..bfa2359a35b 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2017-10-25 Leszek Swirski + + * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_str_index. + 2017-10-16 Walfred Tedeschi * features/Makefile (i386-avx-mpx-avx512-pku.dat): Add backslash diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 8503e6171ce..93ec5877870 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -17577,7 +17577,9 @@ dwarf2_string_attr (struct die_info *die, unsigned int name, struct dwarf2_cu *c if (attr != NULL) { if (attr->form == DW_FORM_strp || attr->form == DW_FORM_line_strp - || attr->form == DW_FORM_string || attr->form == DW_FORM_GNU_strp_alt) + || attr->form == DW_FORM_string + || attr->form == DW_FORM_GNU_str_index + || attr->form == DW_FORM_GNU_strp_alt) str = DW_STRING (attr); else complaint (&symfile_complaints,