5.0-2 - Add testsuite fix for GCC 11.2.1
Resolves: #1988366 debugedit: FTBFS after toolchain updates
This commit is contained in:
parent
3778c9fc52
commit
8a72138983
130
0001-tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch
Normal file
130
0001-tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
From ae27211cbbfb63a0ad3c141cd1310d7f583ec40e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark Wielaard <mark@klomp.org>
|
||||||
|
Date: Fri, 30 Jul 2021 18:09:46 +0200
|
||||||
|
Subject: [PATCH] tests: Handle zero directory entry in .debug_line DWARF5
|
||||||
|
debugedit.at
|
||||||
|
|
||||||
|
We were skipping the zero directory entry, because it was always
|
||||||
|
the same as the directory entry at position one. But that isn't
|
||||||
|
true anymore with gcc 11.2.1. There the zero dir entry is unique.
|
||||||
|
Fix the debugedit.at .debug_line testcases using DWARF5 to also
|
||||||
|
include dir entry zero.
|
||||||
|
|
||||||
|
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||||
|
---
|
||||||
|
configure.ac | 14 ++++++++++++++
|
||||||
|
tests/atlocal.in | 1 +
|
||||||
|
tests/debugedit.at | 18 ++++++++++++------
|
||||||
|
3 files changed, 27 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/configure.ac b/configure.ac
|
||||||
|
index e5c9230..6a53365 100644
|
||||||
|
--- a/configure.ac
|
||||||
|
+++ b/configure.ac
|
||||||
|
@@ -87,6 +87,20 @@ CFLAGS="$save_CFLAGS"
|
||||||
|
GDWARF_5_FLAG=$ac_cv_gdwarf_5
|
||||||
|
AC_SUBST([GDWARF_5_FLAG])
|
||||||
|
|
||||||
|
+AC_CACHE_CHECK([whether -gdwarf-5 produced DWARF5 .debug_line], ac_cv_dwarf_5_debugline, [dnl
|
||||||
|
+save_CFLAGS="$CFLAGS"
|
||||||
|
+CFLAGS="-gdwarf-5"
|
||||||
|
+AC_COMPILE_IFELSE([AC_LANG_SOURCE([[int i=0;]],[[/* empty main */]])],
|
||||||
|
+ [if readelf --debug-dump=line conftest.o 2>&1 | \
|
||||||
|
+ grep "DWARF Version:" 2>&1 | grep "5" > /dev/null 2>&1; \
|
||||||
|
+ then ac_cv_dwarf_5_debugline=yes; \
|
||||||
|
+ else ac_cv_dwarf_5_debugline=no; fi],
|
||||||
|
+ ac_cv_dwarf_5_debugline=no)
|
||||||
|
+CFLAGS="$save_CFLAGS"
|
||||||
|
+])
|
||||||
|
+DWARF_5_DEBUGLINE=$ac_cv_dwarf_5_debugline
|
||||||
|
+AC_SUBST([DWARF_5_DEBUGLINE])
|
||||||
|
+
|
||||||
|
AC_CACHE_CHECK([whether gcc supports -gz=none], ac_cv_gz_none, [dnl
|
||||||
|
save_CFLAGS="$CFLAGS"
|
||||||
|
CFLAGS="-gz=none"
|
||||||
|
diff --git a/tests/atlocal.in b/tests/atlocal.in
|
||||||
|
index 8399f8d..d916301 100644
|
||||||
|
--- a/tests/atlocal.in
|
||||||
|
+++ b/tests/atlocal.in
|
||||||
|
@@ -13,3 +13,4 @@ READELF="@READELF@"
|
||||||
|
|
||||||
|
GDWARF_5_FLAG=@GDWARF_5_FLAG@
|
||||||
|
GZ_NONE_FLAG=@GZ_NONE_FLAG@
|
||||||
|
+DWARF_5_DEBUGLINE=@DWARF_5_DEBUGLINE@
|
||||||
|
diff --git a/tests/debugedit.at b/tests/debugedit.at
|
||||||
|
index 0311d26..725e68e 100644
|
||||||
|
--- a/tests/debugedit.at
|
||||||
|
+++ b/tests/debugedit.at
|
||||||
|
@@ -488,10 +488,12 @@ AT_CLEANUP
|
||||||
|
AT_SETUP([debugedit .debug_line objects DWARF5])
|
||||||
|
AT_KEYWORDS([debuginfo] [debugedit])
|
||||||
|
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
|
||||||
|
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
|
||||||
|
DEBUGEDIT_SETUP([-gdwarf-5])
|
||||||
|
|
||||||
|
AT_DATA([expout],
|
||||||
|
[foo/bar/baz
|
||||||
|
+foo/bar/baz/subdir_bar
|
||||||
|
foo/bar/baz/subdir_headers
|
||||||
|
])
|
||||||
|
|
||||||
|
@@ -500,8 +502,8 @@ AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./subdir_bar/bar.o]])
|
||||||
|
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./baz.o]])
|
||||||
|
AT_CHECK([[
|
||||||
|
readelf --debug-dump=line foo.o subdir_bar/bar.o baz.o \
|
||||||
|
- | grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||||
|
- | cut -f2- -d/ | grep ^foo/ | sort
|
||||||
|
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
|
||||||
|
+ | cut -f2- -d/ | grep ^foo/ | sort -u
|
||||||
|
]],[0],[expout])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
@@ -535,18 +537,20 @@ AT_CLEANUP
|
||||||
|
AT_SETUP([debugedit .debug_line partial DWARF5])
|
||||||
|
AT_KEYWORDS([debuginfo] [debugedit])
|
||||||
|
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
|
||||||
|
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
|
||||||
|
DEBUGEDIT_SETUP([-gdwarf-5])
|
||||||
|
|
||||||
|
AT_DATA([expout],
|
||||||
|
[foo/bar/baz
|
||||||
|
+foo/bar/baz/subdir_bar
|
||||||
|
foo/bar/baz/subdir_headers
|
||||||
|
])
|
||||||
|
|
||||||
|
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.part.o]])
|
||||||
|
AT_CHECK([[
|
||||||
|
readelf --debug-dump=line ./foobarbaz.part.o \
|
||||||
|
- | grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||||
|
- | cut -f2- -d/ | grep ^foo/ | sort
|
||||||
|
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
|
||||||
|
+ | cut -f2- -d/ | grep ^foo/ | sort -u
|
||||||
|
]],[0],[expout])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
@@ -580,18 +584,20 @@ AT_CLEANUP
|
||||||
|
AT_SETUP([debugedit .debug_line exe DWARF5])
|
||||||
|
AT_KEYWORDS([debuginfo] [debugedit])
|
||||||
|
AT_SKIP_IF([test "$GDWARF_5_FLAG" = "no"])
|
||||||
|
+AT_SKIP_IF([test "$DWARF_5_DEBUGLINE" = "no"])
|
||||||
|
DEBUGEDIT_SETUP([-gdwarf-5])
|
||||||
|
|
||||||
|
AT_DATA([expout],
|
||||||
|
[foo/bar/baz
|
||||||
|
+foo/bar/baz/subdir_bar
|
||||||
|
foo/bar/baz/subdir_headers
|
||||||
|
])
|
||||||
|
|
||||||
|
AT_CHECK([[debugedit -b $(pwd) -d /foo/bar/baz ./foobarbaz.exe]])
|
||||||
|
AT_CHECK([[
|
||||||
|
readelf --debug-dump=line ./foobarbaz.exe \
|
||||||
|
- | grep -A5 "The Directory Table" | grep "^ [123]" \
|
||||||
|
- | cut -f2- -d/ | grep ^foo/ | sort
|
||||||
|
+ | grep -A5 "The Directory Table" | grep "^ [0123]" \
|
||||||
|
+ | cut -f2- -d/ | grep ^foo/ | sort -u
|
||||||
|
]],[0],[expout])
|
||||||
|
|
||||||
|
AT_CLEANUP
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: debugedit
|
Name: debugedit
|
||||||
Version: 5.0
|
Version: 5.0
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Tools for debuginfo creation
|
Summary: Tools for debuginfo creation
|
||||||
License: GPLv3+ and GPLv2+ and LGPLv2+
|
License: GPLv3+ and GPLv2+ and LGPLv2+
|
||||||
URL: https://sourceware.org/debugedit/
|
URL: https://sourceware.org/debugedit/
|
||||||
@ -11,9 +11,13 @@ Source2: gpgkey-5C1D1AA44BE649DE760A.gpg
|
|||||||
BuildRequires: make gcc
|
BuildRequires: make gcc
|
||||||
BuildRequires: pkgconfig(libelf)
|
BuildRequires: pkgconfig(libelf)
|
||||||
BuildRequires: pkgconfig(libdw)
|
BuildRequires: pkgconfig(libdw)
|
||||||
|
BuildRequires: help2man
|
||||||
BuildRequires: gnupg2
|
BuildRequires: gnupg2
|
||||||
|
|
||||||
|
# For the testsuite.
|
||||||
|
BuildRequires: autoconf
|
||||||
|
BuildRequires: automake
|
||||||
|
|
||||||
# The find-debuginfo.sh script has a couple of tools it needs at runtime.
|
# The find-debuginfo.sh script has a couple of tools it needs at runtime.
|
||||||
# For strip_to_debug, eu-strip
|
# For strip_to_debug, eu-strip
|
||||||
Requires: elfutils
|
Requires: elfutils
|
||||||
@ -34,6 +38,8 @@ Requires: grep
|
|||||||
|
|
||||||
%global _hardened_build 1
|
%global _hardened_build 1
|
||||||
|
|
||||||
|
Patch1: 0001-tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
The debugedit project provides programs and scripts for creating
|
The debugedit project provides programs and scripts for creating
|
||||||
debuginfo and source file distributions, collect build-ids and rewrite
|
debuginfo and source file distributions, collect build-ids and rewrite
|
||||||
@ -45,9 +51,10 @@ read and write ELF files, DWARF data and build-ids.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||||
%autosetup
|
%autosetup -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
autoreconf -f -v -i
|
||||||
%configure
|
%configure
|
||||||
%make_build
|
%make_build
|
||||||
|
|
||||||
@ -75,6 +82,9 @@ make check %{?_smp_mflags}
|
|||||||
%{_mandir}/man1/find-debuginfo.1*
|
%{_mandir}/man1/find-debuginfo.1*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Aug 3 2021 Mark Wielaard <mjw@redhat.com> - 5.0-2
|
||||||
|
- Add testsuite fix for GCC 11.2.1
|
||||||
|
|
||||||
* Mon Jul 26 2021 Mark Wielaard <mjw@redhat.com> - 5.0-1
|
* Mon Jul 26 2021 Mark Wielaard <mjw@redhat.com> - 5.0-1
|
||||||
- Upgrade to upstream 5.0 release.
|
- Upgrade to upstream 5.0 release.
|
||||||
- Removes find-debuginfo .sh suffix.
|
- Removes find-debuginfo .sh suffix.
|
||||||
|
Loading…
Reference in New Issue
Block a user