commit 16eb6b2db49e6cf2fdca56efd37689fcc170cd37 Author: Leszek Swirski Date: Mon Aug 7 16:40:38 2017 +0200 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. gdb/ChangeLog: * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt. ### a/gdb/ChangeLog ### b/gdb/ChangeLog ## -1,3 +1,7 @@ +2017-08-07 Leszek Swirski + + * dwarf2read.c (dwarf2_string_attr): Allow DW_FORM_GNU_strp_alt. + 2017-08-07 Simon Marchi * remote-sim.c (gdbsim_load): Remove char **argv local variable. --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -17623,7 +17623,8 @@ 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 || DW_FORM_GNU_str_index + || attr->form == DW_FORM_GNU_strp_alt) str = DW_STRING (attr); else complaint (&symfile_complaints, commit b33404388e5bbd8a1fddfde73cd4593ae2b557e8 Author: H.J. Lu Date: Wed Aug 9 05:01:55 2017 -0700 gdb: Fix build failure with GCC 7 Fix: /export/gnu/import/git/sources/binutils-gdb/gdb/dwarf2read.c: In function ‘const char* dwarf2_string_attr(die_info*, unsigned int, dwarf2_cu*)’: /export/gnu/import/git/sources/binutils-gdb/gdb/dwarf2read.c:17626:39: error: enum constant in boolean context [-Werror=int-in-bool-context] || attr->form == DW_FORM_string || DW_FORM_GNU_str_index * dwarf2read.c (dwarf2_string_attr): Fix a typo. ### a/gdb/ChangeLog ### b/gdb/ChangeLog ## -1,3 +1,7 @@ +2017-08-09 H.J. Lu + + * dwarf2read.c (dwarf2_string_attr): Fix a typo. + 2017-08-09 Alex Lindsay Yao Qi --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -17623,7 +17623,8 @@ 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 || DW_FORM_GNU_str_index + || attr->form == DW_FORM_string + || attr->form == DW_FORM_GNU_str_index || attr->form == DW_FORM_GNU_strp_alt) str = DW_STRING (attr); else