Compare commits
15 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c147a763a2 | ||
|
|
51d4df2439 | ||
|
|
181f2d742f | ||
|
|
f263218747 | ||
|
|
c256956adc | ||
|
|
1860b7316d | ||
|
|
c84a61da8f | ||
|
|
3940f0f0ff | ||
|
|
510fcad8b0 | ||
|
|
aff444d022 | ||
|
|
9f5a314b50 | ||
|
|
199b97a9a9 | ||
|
|
a63a2aaaa2 | ||
|
|
969b34d0b4 | ||
|
|
4f00495eab |
4 changed files with 105 additions and 78 deletions
4
.gitignore
vendored
4
.gitignore
vendored
|
|
@ -20,3 +20,7 @@
|
|||
/elfutils-0.177.tar.bz2
|
||||
/elfutils-0.178.tar.bz2
|
||||
/elfutils-0.179.tar.bz2
|
||||
/elfutils-0.180.tar.bz2
|
||||
/elfutils-0.181.tar.bz2
|
||||
/elfutils-0.182.tar.bz2
|
||||
/elfutils-0.183.tar.bz2
|
||||
|
|
|
|||
|
|
@ -1,60 +0,0 @@
|
|||
From b1d2404cc6ca0d9ce786e229a87c24db49163cfe Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Thu, 30 Apr 2020 23:57:26 +0200
|
||||
Subject: [PATCH] libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
|
||||
|
||||
When we fall back to the debuginfod client then we need to do the
|
||||
same trick we do for local lookups in dwfl_build_id_find_debuginfo.
|
||||
If the debug file (dw) is already set, then we must be looking for
|
||||
the altfile. But we cannot use the actual file/path name given as
|
||||
hint. We'll have to lookup the alt file "build-id". Because the
|
||||
debuginfod client only handles build-ids.
|
||||
|
||||
Previously we would use the build-id of the main file which meant
|
||||
the debuginfod client would give us another copy of the debug file,
|
||||
which would then be set as its own altfile. This caused lots of
|
||||
confusion...
|
||||
|
||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||
---
|
||||
libdwfl/ChangeLog | 5 +++++
|
||||
libdwfl/find-debuginfo.c | 23 +++++++++++++++++++++--
|
||||
2 files changed, 26 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
|
||||
index 2dd11c48..4cfd0b8b 100644
|
||||
--- a/libdwfl/find-debuginfo.c
|
||||
+++ b/libdwfl/find-debuginfo.c
|
||||
@@ -398,8 +398,27 @@ dwfl_standard_find_debuginfo (Dwfl_Module *mod,
|
||||
free (canon);
|
||||
}
|
||||
|
||||
- if (fd < 0 && bits_len > 0)
|
||||
- fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
|
||||
+ /* Still nothing? Try if we can use the debuginfod client.
|
||||
+ But note that we might be looking for the alt file.
|
||||
+ We use the same trick as dwfl_build_id_find_debuginfo.
|
||||
+ If the debug file (dw) is already set, then we must be
|
||||
+ looking for the altfile. But we cannot use the actual
|
||||
+ file/path name given as hint. We'll have to lookup the
|
||||
+ alt file "build-id". Because the debuginfod client only
|
||||
+ handles build-ids. */
|
||||
+ if (fd < 0)
|
||||
+ {
|
||||
+ if (mod->dw != NULL)
|
||||
+ {
|
||||
+ const char *altname;
|
||||
+ bits_len = INTUSE(dwelf_dwarf_gnu_debugaltlink) (mod->dw, &altname,
|
||||
+ (const void **)
|
||||
+ &bits);
|
||||
+ }
|
||||
+
|
||||
+ if (bits_len > 0)
|
||||
+ fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
|
||||
+ }
|
||||
|
||||
return fd;
|
||||
}
|
||||
--
|
||||
2.18.2
|
||||
|
||||
117
elfutils.spec
117
elfutils.spec
|
|
@ -1,6 +1,6 @@
|
|||
Name: elfutils
|
||||
Version: 0.179
|
||||
%global baserelease 2
|
||||
Version: 0.183
|
||||
%global baserelease 1
|
||||
Release: %{baserelease}%{?dist}
|
||||
URL: http://elfutils.org/
|
||||
%global source_url ftp://sourceware.org/pub/elfutils/%{version}/
|
||||
|
|
@ -31,6 +31,7 @@ BuildRequires: flex
|
|||
BuildRequires: zlib-devel
|
||||
BuildRequires: bzip2-devel
|
||||
BuildRequires: xz-devel
|
||||
BuildRequires: libzstd-devel
|
||||
|
||||
# For debuginfod
|
||||
BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
|
||||
|
|
@ -40,11 +41,16 @@ BuildRequires: pkgconfig(libarchive) >= 3.1.2
|
|||
|
||||
# For tests need to bunzip2 test files.
|
||||
BuildRequires: bzip2
|
||||
# For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss
|
||||
BuildRequires: zstd
|
||||
# For the run-debuginfod-find.sh test case in %%check for /usr/sbin/ss
|
||||
BuildRequires: iproute
|
||||
BuildRequires: bsdtar
|
||||
BuildRequires: curl
|
||||
|
||||
BuildRequires: automake
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: gettext-devel
|
||||
|
||||
%global _gnu %{nil}
|
||||
%global _program_prefix eu-
|
||||
|
||||
|
|
@ -55,7 +61,6 @@ BuildRequires: curl
|
|||
%endif
|
||||
|
||||
# Patches
|
||||
Patch1: elfutils-0.179-debug-client-alt-link.patch
|
||||
|
||||
%description
|
||||
Elfutils is a collection of utilities, including stack (to show
|
||||
|
|
@ -219,6 +224,7 @@ Requires: elfutils-libs%{depsuffix} = %{version}-%{release}
|
|||
Requires: elfutils-libelf%{depsuffix} = %{version}-%{release}
|
||||
Requires: elfutils-debuginfod-client%{depsuffix} = %{version}-%{release}
|
||||
BuildRequires: systemd
|
||||
BuildRequires: make
|
||||
Requires(post): systemd
|
||||
Requires(preun): systemd
|
||||
Requires(postun): systemd
|
||||
|
|
@ -247,13 +253,22 @@ such servers to download those files on demand.
|
|||
%setup -q
|
||||
|
||||
# Apply patches
|
||||
%patch1 -p1 -b .debug-client-alt
|
||||
|
||||
autoreconf -f -v -i
|
||||
|
||||
# In case the above patches added any new test scripts, make sure they
|
||||
# are executable.
|
||||
find . -name \*.sh ! -perm -0100 -print | xargs chmod +x
|
||||
|
||||
%build
|
||||
# This package uses top level ASM constructs which are incompatible with LTO.
|
||||
# Top level ASMs are often used to implement symbol versioning. gcc-10
|
||||
# introduces a new mechanism for symbol versioning which works with LTO.
|
||||
# Converting packages to use that mechanism instead of toplevel ASMs is
|
||||
# recommended.
|
||||
# Disable LTO
|
||||
%define _lto_cflags %{nil}
|
||||
|
||||
# Remove -Wall from default flags. The makefiles enable enough warnings
|
||||
# themselves, and they use -Werror. Appending -Wall defeats the cases where
|
||||
# the makefiles disable some specific warnings for specific code.
|
||||
|
|
@ -266,14 +281,17 @@ RPM_OPT_FLAGS="${RPM_OPT_FLAGS} -Wformat"
|
|||
trap 'cat config.log' EXIT
|
||||
%configure CFLAGS="$RPM_OPT_FLAGS -fexceptions"
|
||||
trap '' EXIT
|
||||
make -s %{?_smp_mflags}
|
||||
%make_build -s
|
||||
|
||||
%install
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
make -s install DESTDIR=${RPM_BUILD_ROOT}
|
||||
%make_install -s
|
||||
|
||||
chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
|
||||
|
||||
# We don't have standard DEBUGINFOD_URLS yet.
|
||||
rm ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/debuginfod.sh
|
||||
rm ${RPM_BUILD_ROOT}%{_sysconfdir}/profile.d/debuginfod.csh
|
||||
|
||||
%find_lang %{name}
|
||||
|
||||
%if %{provide_yama_scope}
|
||||
|
|
@ -289,7 +307,7 @@ touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite
|
|||
# Record some build root versions in build.log
|
||||
uname -r; rpm -q binutils gcc glibc
|
||||
|
||||
make -s %{?_smp_mflags} check || (cat tests/test-suite.log; false)
|
||||
%make_build -s check || (cat tests/test-suite.log; false)
|
||||
|
||||
# Only the latest Fedora and EPEL have these scriptlets,
|
||||
# older Fedora and plain RHEL don't.
|
||||
|
|
@ -316,7 +334,6 @@ fi
|
|||
%endif
|
||||
|
||||
%files
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL
|
||||
%doc README TODO CONTRIBUTING
|
||||
%{_bindir}/eu-addr2line
|
||||
|
|
@ -339,7 +356,6 @@ fi
|
|||
%{_mandir}/man1/eu-*.1*
|
||||
|
||||
%files libs
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING-GPLV2 COPYING-LGPLV3
|
||||
%{_libdir}/libasm-%{version}.so
|
||||
%{_libdir}/libdw-%{version}.so
|
||||
|
|
@ -365,7 +381,6 @@ fi
|
|||
%{_libdir}/libasm.a
|
||||
|
||||
%files -f %{name}.lang libelf
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING-GPLV2 COPYING-LGPLV3
|
||||
%{_libdir}/libelf-%{version}.so
|
||||
%{_libdir}/libelf.so.*
|
||||
|
|
@ -387,29 +402,26 @@ fi
|
|||
%endif
|
||||
|
||||
%files debuginfod-client
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libdebuginfod-%{version}.so
|
||||
%{_libdir}/libdebuginfod.so.*
|
||||
%{_bindir}/debuginfod-find
|
||||
%{_mandir}/man1/debuginfod-find.1*
|
||||
|
||||
%files debuginfod-client-devel
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/pkgconfig/libdebuginfod.pc
|
||||
%{_mandir}/man3/debuginfod_*.3*
|
||||
%{_includedir}/elfutils/debuginfod.h
|
||||
%{_libdir}/libdebuginfod.so
|
||||
|
||||
%files debuginfod
|
||||
%defattr(-,root,root)
|
||||
%{_bindir}/debuginfod
|
||||
%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/debuginfod
|
||||
%config(noreplace) %{_sysconfdir}/sysconfig/debuginfod
|
||||
%{_unitdir}/debuginfod.service
|
||||
%{_sysconfdir}/sysconfig/debuginfod
|
||||
%{_mandir}/man8/debuginfod.8*
|
||||
|
||||
%dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod
|
||||
%verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite
|
||||
%ghost %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite
|
||||
|
||||
%pre debuginfod
|
||||
getent group debuginfod >/dev/null || groupadd -r debuginfod
|
||||
|
|
@ -425,6 +437,77 @@ exit 0
|
|||
%systemd_postun_with_restart debuginfod.service
|
||||
|
||||
%changelog
|
||||
* Mon Feb 8 2021 Mark Wielaard <mjw@fedoraproject.org> - 0.183-1
|
||||
- Upgrade to upstream 0.183
|
||||
- debuginfod: New thread-busy metric and more detailed error metrics.
|
||||
New --fdcache-mintmp and tracking of filesystem freespace.
|
||||
- debuginfod-client: DEBUGINFOD_SONAME macro added to debuginfod.h can
|
||||
be used to dlopen the libdebuginfod.so library.
|
||||
New function debuginfod_set_verbose_fd and DEBUGINFOD_VERBOSE
|
||||
environment variable.
|
||||
- config: profile.sh and profile.csh won't export DEBUGINFOD_URLS
|
||||
unless configured --enable-debuginfod-urls[=URLS]
|
||||
- elflint, readelf: Recognize SHF_GNU_RETAIN.
|
||||
Handle SHT_X86_64_UNWIND as valid relocation target type.
|
||||
|
||||
* Thu Dec 17 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.182-2
|
||||
- Add elfutils-0.182-s390-pid_memory_read.patch
|
||||
|
||||
* Sat Oct 31 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.182-1
|
||||
- Upgrade to upstream 0.182
|
||||
- backends: Support for tilegx has been removed.
|
||||
- config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS.
|
||||
- debuginfod: More efficient package traversal, tolerate various
|
||||
errors during scanning, grooming progress is more visible and
|
||||
interruptible, more prometheus metrics.
|
||||
- debuginfod-client: Now supports compressed (kernel) ELF images.
|
||||
- libdwfl: Add ZSTD compression support.
|
||||
|
||||
* Mon Oct 19 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.181-3
|
||||
- Add elfutils-0.181-array-param.patch.
|
||||
|
||||
* Fri Sep 18 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.181-2
|
||||
- Add ZSTD support elfutils-0.181-zstd.patch.
|
||||
|
||||
* Tue Sep 8 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.181-1
|
||||
- Upgrade to upstream 0.181
|
||||
- libelf: elf_update now compensates (fixes up) a bad sh_addralign
|
||||
for SHF_COMPRESSED sections.
|
||||
- libdebuginfod: configure now takes --enable-libdebuginfod=dummy or
|
||||
--disable-libdebuginfod for bootstrapping.
|
||||
DEBUGINFOD_URLS now accepts "scheme-free" urls
|
||||
(guessing at what the user meant, either http:// or file://)
|
||||
- readelf, elflint: Handle aarch64 bti, pac bits in dynamic table and
|
||||
gnu property notes.
|
||||
- libdw, readelf: Recognize DW_CFA_AARCH64_negate_ra_state. Allows
|
||||
unwinding on arm64 for code that is compiled for PAC
|
||||
(Pointer Authentication Code) as long as it isn't enabled.
|
||||
|
||||
* Tue Aug 25 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.180-7
|
||||
- Add elfutils-0.180-shf-compressed.patch
|
||||
|
||||
* Wed Jul 22 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.180-5
|
||||
- Remove duplicate listing of sysconfig/debuginfod (config) file.
|
||||
|
||||
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 0.180-4
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Fri Jul 3 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.180-3
|
||||
- Add elfutils-0.180-mhd-result.patch
|
||||
|
||||
* Wed Jul 1 2020 Jeff Law <law@redhat.com> - 0.180-2
|
||||
- Disable LTO
|
||||
|
||||
* Thu Jun 11 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.180-1
|
||||
- New upstream release.
|
||||
elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given.
|
||||
libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix.
|
||||
libdw: Use correct CU to resolve file names in dwarf_decl_file.
|
||||
libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
|
||||
size: Also obey radix printing for bsd format.
|
||||
nm: Explicitly print weak 'V' or 'T' and common 'C' symbols.
|
||||
|
||||
* Thu Apr 30 2020 Mark Wielaard <mjw@fedoraproject.org> - 0.179-2
|
||||
- Add elfutils-0.179-debug-client-alt-link.patch
|
||||
|
||||
|
|
|
|||
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
SHA512 (elfutils-0.179.tar.bz2) = ff2d96ad1db08e3a2ddaa60bd5a05e9b61ffa71d646f889cebb6bef51322e874930809c6dd0a257ced8c6e8de4b59ecf13ca6741dc68f9400293208278a0c052
|
||||
SHA512 (elfutils-0.183.tar.bz2) = bdafdd738a33cebe4f87849e5e6f1133881e77ef71b27faa0f0234ff80e9674f506957898326c2a55fd8438cbd189f7930597d0b4b9ca6c77921cc0cbd83b6b7
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue