import debugedit-5.0-3.el9
This commit is contained in:
commit
2a3dd9d2ff
2
.debugedit.metadata
Normal file
2
.debugedit.metadata
Normal file
@ -0,0 +1,2 @@
|
||||
e15e23409266e2a0be8b3748235b126bedbc7b6b SOURCES/debugedit-5.0.tar.xz
|
||||
4c6ca620f5b14e24492616195f7848df0029451c SOURCES/gpgkey-5C1D1AA44BE649DE760A.gpg
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
SOURCES/debugedit-5.0.tar.xz
|
||||
SOURCES/gpgkey-5C1D1AA44BE649DE760A.gpg
|
@ -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
|
||||
|
BIN
SOURCES/debugedit-5.0.tar.xz.sig
Normal file
BIN
SOURCES/debugedit-5.0.tar.xz.sig
Normal file
Binary file not shown.
114
SPECS/debugedit.spec
Normal file
114
SPECS/debugedit.spec
Normal file
@ -0,0 +1,114 @@
|
||||
Name: debugedit
|
||||
Version: 5.0
|
||||
Release: 3%{?dist}
|
||||
Summary: Tools for debuginfo creation
|
||||
License: GPLv3+ and GPLv2+ and LGPLv2+
|
||||
URL: https://sourceware.org/debugedit/
|
||||
Source0: https://sourceware.org/pub/debugedit/%{version}/%{name}-%{version}.tar.xz
|
||||
Source1: https://sourceware.org/pub/debugedit/%{version}/%{name}-%{version}.tar.xz.sig
|
||||
Source2: gpgkey-5C1D1AA44BE649DE760A.gpg
|
||||
|
||||
BuildRequires: make gcc
|
||||
BuildRequires: pkgconfig(libelf)
|
||||
BuildRequires: pkgconfig(libdw)
|
||||
BuildRequires: help2man
|
||||
BuildRequires: gnupg2
|
||||
|
||||
# For the testsuite.
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
|
||||
# The find-debuginfo.sh script has a couple of tools it needs at runtime.
|
||||
# For strip_to_debug, eu-strip
|
||||
Requires: elfutils
|
||||
# For add_minidebug, readelf, awk, nm, sort, comm, objcopy, xz
|
||||
Requires: binutils, gawk, coreutils, xz
|
||||
# For find and xargs
|
||||
Requires: findutils
|
||||
# For do_file, gdb_add_index
|
||||
# We only need gdb-add-index, so suggest gdb-minimal (full gdb is also ok)
|
||||
Requires: /usr/bin/gdb-add-index
|
||||
Suggests: gdb-minimal
|
||||
# For run_job, sed
|
||||
Requires: sed
|
||||
# For dwz
|
||||
Requires: dwz
|
||||
# For append_uniq, grep
|
||||
Requires: grep
|
||||
|
||||
%global _hardened_build 1
|
||||
|
||||
Patch1: 0001-tests-Handle-zero-directory-entry-in-.debug_line-DWA.patch
|
||||
|
||||
%description
|
||||
The debugedit project provides programs and scripts for creating
|
||||
debuginfo and source file distributions, collect build-ids and rewrite
|
||||
source paths in DWARF data for debugging, tracing and profiling.
|
||||
|
||||
It is based on code originally from the rpm project plus libiberty and
|
||||
binutils. It depends on the elfutils libelf and libdw libraries to
|
||||
read and write ELF files, DWARF data and build-ids.
|
||||
|
||||
%prep
|
||||
%{gpgverify} --keyring='%{SOURCE2}' --signature='%{SOURCE1}' --data='%{SOURCE0}'
|
||||
%autosetup -p1
|
||||
|
||||
%build
|
||||
autoreconf -f -v -i
|
||||
%configure
|
||||
%make_build
|
||||
|
||||
%install
|
||||
%make_install
|
||||
# Temp symlink to make sure things don't break.
|
||||
cd %{buildroot}%{_bindir}
|
||||
ln -s find-debuginfo find-debuginfo.sh
|
||||
|
||||
%check
|
||||
# The testsuite should be zero fail.
|
||||
# It uses its own CFLAGS and LDFLAGS settings.
|
||||
sed -i 's/^\(C\|LD\)FLAGS=.*/\1FLAGS=""/' tests/atlocal
|
||||
make check %{?_smp_mflags}
|
||||
|
||||
%files
|
||||
%license COPYING COPYING3 COPYING.LIB
|
||||
%doc README
|
||||
%{_bindir}/debugedit
|
||||
%{_bindir}/sepdebugcrcfix
|
||||
%{_bindir}/find-debuginfo
|
||||
%{_bindir}/find-debuginfo.sh
|
||||
%{_mandir}/man1/debugedit.1*
|
||||
%{_mandir}/man1/sepdebugcrcfix.1*
|
||||
%{_mandir}/man1/find-debuginfo.1*
|
||||
|
||||
%changelog
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 5.0-3
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
|
||||
* 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
|
||||
- Upgrade to upstream 5.0 release.
|
||||
- Removes find-debuginfo .sh suffix.
|
||||
- This release still has a find-debuginfo.sh -> find-debuginfo symlink.
|
||||
|
||||
* Wed May 5 2021 Mark Wielaard <mjw@fedoraproject.org> - 0.2-1
|
||||
- Update to upstream 0.2 pre-release. Adds documentation.
|
||||
|
||||
* Wed Apr 28 2021 Mark Wielaard <mjw@fedoraproject.org> - 0.1-5
|
||||
- Add dist to Release. Use file dependency for /usr/bin/gdb-add-index.
|
||||
|
||||
* Tue Apr 27 2021 Mark Wielaard <mjw@fedoraproject.org> - 0.1-4
|
||||
- Use numbered Sources and https.
|
||||
|
||||
* Mon Apr 26 2021 Mark Wielaard <mjw@fedoraproject.org> - 0.1-3
|
||||
- Fix some rpmlint issues, add comments, add license and doc,
|
||||
gpg verification, use pkgconfig BuildRequires, enable _hardened_build
|
||||
|
||||
* Mon Mar 29 2021 Panu Matilainen <pmatilai@redhat.com>
|
||||
- Add pile of missing runtime utility dependencies
|
||||
|
||||
* Tue Mar 23 2021 Panu Matilainen <pmatilai@redhat.com>
|
||||
- Initial packaging
|
Loading…
Reference in New Issue
Block a user