From e9d4739a3075ec093f357cfd0a933aa1df3df558 Mon Sep 17 00:00:00 2001 From: Jan Kratochvil Date: Aug 18 2017 12:05:27 +0000 Subject: Merge remote-tracking branch 'origin/master' into f26 --- diff --git a/gdb-upstream.patch b/gdb-upstream.patch index 28fda28..6af0998 100644 --- a/gdb-upstream.patch +++ b/gdb-upstream.patch @@ -469,3 +469,82 @@ Date: Tue Jul 25 11:38:50 2017 +0100 # End of tests. return 0 + + + +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 diff --git a/gdb.spec b/gdb.spec index 26d95b9..a123a48 100644 --- a/gdb.spec +++ b/gdb.spec @@ -26,7 +26,7 @@ Version: 8.0 # The release always contains a leading reserved number, start it at 1. # `upstream' is not a part of `name' to stay fully rpm dependencies compatible for the testing. -Release: 20%{?dist} +Release: 22%{?dist} License: GPLv3+ and GPLv3+ with exceptions and GPLv2+ and GPLv2+ with exceptions and GPL+ and LGPLv2+ and LGPLv3+ and BSD and Public Domain and GFDL Group: Development/Debuggers @@ -40,6 +40,10 @@ URL: http://gnu.org/software/gdb/ %global gdb_src %{tarname} %global gdb_build build-%{_target_platform} +# error: Installed (but unpackaged) file(s) found: /usr/lib/debug/usr/bin/gdb-gdb.py +# https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/PBOJDOFMWTRV3ZOKNV5HN7IBX5EPHDHF/ +%undefine _debuginfo_subpackages + # For DTS RHEL<=7 GDB it is better to use none than a Requires dependency. %if 0%{!?rhel:1} || 0%{?rhel} > 7 Recommends: %{?scl_prefix}gcc-gdb-plugin%{?_isa} @@ -110,9 +114,13 @@ Recommends: default-yama-scope %if 0%{?el7:1} %global librpmver 3 %else +%if 0%{?fedora} >= 27 +%global librpmver 8 +%else %global librpmver 7 %endif %endif +%endif %if 0%{?__isa_bits} == 64 %global librpmname librpm.so.%{librpmver}()(64bit) %else @@ -1635,6 +1643,13 @@ then fi %changelog +* Fri Aug 18 2017 Jan Kratochvil - 8.0-22.fc26 +- Backport a fix for clang && -gsplit-dwarf debuggees (RH BZ 1482892). + +* Sun Aug 13 2017 Jan Kratochvil - 8.0-21.fc26 +- Fix compatibility with F-27 debuginfo packaging. +- Fix compatibility with F-27 librpm version 8. + * Thu Aug 3 2017 Jan Kratochvil - 8.0-20.fc26 - Two fixes from upstream stable branch 8.0.