diff --git a/disable-run-readelf-self-test.patch b/disable-run-readelf-self-test.patch deleted file mode 100644 index ba6f41a..0000000 --- a/disable-run-readelf-self-test.patch +++ /dev/null @@ -1,58 +0,0 @@ -diff --git a/tests/Makefile.am b/tests/Makefile.am -index c145720..7a1e05a 100644 ---- a/tests/Makefile.am -+++ b/tests/Makefile.am -@@ -115,7 +115,7 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \ - run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \ - run-find-prologues.sh run-allregs.sh run-addrcfi.sh \ - run-dwarfcfi.sh run-nm-syms.sh \ -- run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \ -+ run-nm-self.sh run-readelf-info-plus.sh \ - run-readelf-compressed.sh \ - run-readelf-const-values.sh \ - run-varlocs-self.sh run-exprlocs-self.sh \ -@@ -250,7 +250,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \ - run-ranlib-test3.sh run-ranlib-test4.sh \ - run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \ - run-nm-syms.sh testfilesyms32.bz2 testfilesyms64.bz2 \ -- run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \ -+ run-nm-self.sh run-readelf-info-plus.sh \ - run-readelf-compressed.sh \ - run-readelf-compressed-zstd.sh \ - run-readelf-const-values.sh testfile-const-values.debug.bz2 \ -diff --git a/tests/Makefile.in b/tests/Makefile.in -index 7fc04cc..2ade94f 100644 ---- a/tests/Makefile.in -+++ b/tests/Makefile.in -@@ -154,7 +154,7 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile$(EXEEXT) \ - run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \ - run-find-prologues.sh run-allregs.sh run-addrcfi.sh \ - run-dwarfcfi.sh run-nm-syms.sh run-nm-self.sh \ -- run-readelf-self.sh run-readelf-info-plus.sh \ -+ run-readelf-info-plus.sh \ - run-readelf-compressed.sh run-readelf-const-values.sh \ - run-varlocs-self.sh run-exprlocs-self.sh run-readelf-test1.sh \ - run-readelf-test2.sh run-readelf-test3.sh run-readelf-test4.sh \ -@@ -1295,7 +1295,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \ - run-ranlib-test3.sh run-ranlib-test4.sh \ - run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \ - run-nm-syms.sh testfilesyms32.bz2 testfilesyms64.bz2 \ -- run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \ -+ run-nm-self.sh run-readelf-info-plus.sh \ - run-readelf-compressed.sh \ - run-readelf-compressed-zstd.sh \ - run-readelf-const-values.sh testfile-const-values.debug.bz2 \ -@@ -3061,13 +3061,6 @@ run-nm-self.sh.log: run-nm-self.sh - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ - "$$tst" $(AM_TESTS_FD_REDIRECT) --run-readelf-self.sh.log: run-readelf-self.sh -- @p='run-readelf-self.sh'; \ -- b='run-readelf-self.sh'; \ -- $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ -- --log-file $$b.log --trs-file $$b.trs \ -- $(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \ -- "$$tst" $(AM_TESTS_FD_REDIRECT) - run-readelf-info-plus.sh.log: run-readelf-info-plus.sh - @p='run-readelf-info-plus.sh'; \ - b='run-readelf-info-plus.sh'; \ diff --git a/elfutils-0.185.tar.bz2 b/elfutils-0.185.tar.bz2 deleted file mode 100644 index 7aa31c3..0000000 --- a/elfutils-0.185.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:dc8d3e74ab209465e7f568e1b3bb9a5a142f8656e2b57d10049a73da2ae6b5a6 -size 9187627 diff --git a/elfutils-0.185.tar.bz2.sig b/elfutils-0.185.tar.bz2.sig deleted file mode 100644 index c3109ba..0000000 Binary files a/elfutils-0.185.tar.bz2.sig and /dev/null differ diff --git a/elfutils-0.186.tar.bz2 b/elfutils-0.186.tar.bz2 new file mode 100644 index 0000000..612c731 --- /dev/null +++ b/elfutils-0.186.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7f6fb9149b1673d38d9178a0d3e0fb8a1ec4f53a9f4c2ff89469609879641177 +size 9230491 diff --git a/elfutils-0.186.tar.bz2.sig b/elfutils-0.186.tar.bz2.sig new file mode 100644 index 0000000..bdf4a70 Binary files /dev/null and b/elfutils-0.186.tar.bz2.sig differ diff --git a/elfutils-debuginfod.changes b/elfutils-debuginfod.changes index 4118f3b..840aab8 100644 --- a/elfutils-debuginfod.changes +++ b/elfutils-debuginfod.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Thu Nov 11 08:56:25 UTC 2021 - Martin Liška + +- Update to version 0.185: + debuginfod-client: Default $DEBUGINFOD_URLS is computed from drop-in files + etc/debuginfod*.urls rather than hardcoded into the + /etc/profile.d/debuginfod* scripts. + Add $DEBUGINFOD_MAXSIZE and $DEBUGINFOD_MAXTIME settings + for skipping large/slow transfers. + Add $DEBUGINFOD_RETRY for retrying aborted lookups. + + debuginfod: Supply extra HTTP response headers, describing archive/file + names that satisfy the requested buildid content. + Support -d :memory: option for in-memory databases. + Protect against loops in federated server configurations. + Add -r option to use -I/-X regexes for grooming stale files. + Protect against wasted CPU from duplicate concurrent requests. + Limit the duration of groom ops roughly to rescan (-t) times. + Add --passive mode for serving from read-only database. + Several other performance improvements & prometheus metrics. + + libdw: Support for the NVIDIA Cuda line map extensions. + DW_LNE_NVIDIA_inlined_call and DW_LNE_NVIDIA_set_function_name + are defined in dwarf.h. New functions dwarf_linecontext and + dwarf_linefunctionname + +- Remove tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch + and disable-run-readelf-self-test.patch. +- Remove -flto-partition=none -Wno-error=stack-usage= from _lto_flags + ------------------------------------------------------------------- Tue Oct 5 06:02:09 UTC 2021 - Stephan Kulow diff --git a/elfutils-debuginfod.spec b/elfutils-debuginfod.spec index 5899410..d5b0c14 100644 --- a/elfutils-debuginfod.spec +++ b/elfutils-debuginfod.spec @@ -17,7 +17,7 @@ Name: elfutils-debuginfod -Version: 0.185 +Version: 0.186 Release: 0 Summary: Debuginfod server provided by elfutils License: GPL-3.0-or-later @@ -28,8 +28,6 @@ Source: https://fedorahosted.org/releases/e/l/elfutils/%{version}/elfuti Source1: https://fedorahosted.org/releases/e/l/elfutils/%{version}/elfutils-%{version}.tar.bz2.sig Source2: elfutils.changes Source3: elfutils.keyring -Patch0: disable-run-readelf-self-test.patch -Patch1: tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch Patch2: harden_debuginfod.service.patch BuildRequires: autoconf BuildRequires: automake @@ -81,6 +79,7 @@ Summary: Libraries and headers to build debuginfod client applications Group: Development/Libraries/C and C++ Conflicts: libdebuginfod-dummy-devel = %{version} License: GPL-2.0-or-later OR LGPL-3.0-or-later +Requires: libdebuginfod1 = %{version} %description -n libdebuginfod-devel The libdebuginfod-devel package contains the libraries @@ -100,7 +99,6 @@ The elfutils-debuginfod-client package contains a command-line frontend. %autosetup -n elfutils-%version -p1 %build -%global _lto_cflags %{_lto_cflags} -flto-partition=none -Wno-error=stack-usage= # Change DATE/TIME macros to use last change time of elfutils.changes # See http://lists.opensuse.org/opensuse-factory/2011-05/msg00304.html modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" @@ -112,7 +110,7 @@ find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g MODVERSION="suse-build `eval echo ${DATE} ${TIME}`" sed --in-place "s/^MODVERSION=.*\$/MODVERSION=\"${MODVERSION}\"/" configure.ac export CFLAGS="%optflags" -CFLAGS+=" -g" # make tests pass when user does not want debuginfo (boo#1031556) +CFLAGS+=" -g" # tests need debug info enabled (boo#1031556) %ifarch %sparc # Small PIC model not sufficient CFLAGS+=" -fPIC" @@ -181,6 +179,8 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %{_libdir}/libdebuginfod-%{version}.so %config %{_sysconfdir}/profile.d/debuginfod.sh %config %{_sysconfdir}/profile.d/debuginfod.csh +%dir %{_sysconfdir}/debuginfod +%config %{_sysconfdir}/debuginfod/elfutils.urls %files -n libdebuginfod-devel %{_libdir}/pkgconfig/libdebuginfod.pc @@ -192,6 +192,7 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files -n debuginfod-client %{_bindir}/debuginfod-find %{_mandir}/man1/debuginfod-find.1* +%{_mandir}/man7/debuginfod-client-config.7* %pre getent group debuginfod >/dev/null || %{_sbindir}/groupadd -r debuginfod diff --git a/elfutils.changes b/elfutils.changes index 0e98d76..bcc8b36 100644 --- a/elfutils.changes +++ b/elfutils.changes @@ -1,3 +1,33 @@ +------------------------------------------------------------------- +Thu Nov 11 08:56:25 UTC 2021 - Martin Liška + +- Update to version 0.185: + debuginfod-client: Default $DEBUGINFOD_URLS is computed from drop-in files + etc/debuginfod*.urls rather than hardcoded into the + /etc/profile.d/debuginfod* scripts. + Add $DEBUGINFOD_MAXSIZE and $DEBUGINFOD_MAXTIME settings + for skipping large/slow transfers. + Add $DEBUGINFOD_RETRY for retrying aborted lookups. + + debuginfod: Supply extra HTTP response headers, describing archive/file + names that satisfy the requested buildid content. + Support -d :memory: option for in-memory databases. + Protect against loops in federated server configurations. + Add -r option to use -I/-X regexes for grooming stale files. + Protect against wasted CPU from duplicate concurrent requests. + Limit the duration of groom ops roughly to rescan (-t) times. + Add --passive mode for serving from read-only database. + Several other performance improvements & prometheus metrics. + + libdw: Support for the NVIDIA Cuda line map extensions. + DW_LNE_NVIDIA_inlined_call and DW_LNE_NVIDIA_set_function_name + are defined in dwarf.h. New functions dwarf_linecontext and + dwarf_linefunctionname + +- Remove tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch + and disable-run-readelf-self-test.patch. +- Remove -flto-partition=none -Wno-error=stack-usage= from _lto_flags + ------------------------------------------------------------------- Tue Oct 5 06:02:09 UTC 2021 - Stephan Kulow diff --git a/elfutils.spec b/elfutils.spec index 2b9adab..52ce5c9 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -17,7 +17,7 @@ Name: elfutils -Version: 0.185 +Version: 0.186 Release: 0 Summary: Higher-level library to access ELF files License: GPL-3.0-or-later @@ -31,8 +31,6 @@ Source3: %{name}.changes Source4: https://fedorahosted.org/releases/e/l/%{name}/%{version}/%{name}-%{version}.tar.bz2.sig Source5: %{name}.keyring Source6: elfutils-rpmlintrc -Patch0: disable-run-readelf-self-test.patch -Patch1: tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch BuildRequires: autoconf BuildRequires: automake BuildRequires: bison @@ -127,6 +125,7 @@ Summary: Libraries and headers to build debuginfod client applications Group: Development/Libraries/C and C++ Provides: libdebuginfod-devel = %{version} License: GPL-2.0-or-later OR LGPL-3.0-or-later +Requires: libdebuginfod1-dummy = %{version} %description -n libdebuginfod-dummy-devel The libdebuginfod-devel package contains the libraries @@ -148,7 +147,7 @@ The package is dummy. %autosetup -p1 %build -%global _lto_cflags %{_lto_cflags} -flto-partition=none -Wno-error=stack-usage= -ffat-lto-objects +%global _lto_cflags %{_lto_cflags} -ffat-lto-objects # Change DATE/TIME macros to use last change time of elfutils.changes # See http://lists.opensuse.org/opensuse-factory/2011-05/msg00304.html modified="$(sed -n '/^----/n;s/ - .*$//;p;q' "%{_sourcedir}/%{name}.changes")" @@ -160,7 +159,7 @@ find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i "s/__DATE__/${DATE}/g MODVERSION="suse-build `eval echo ${DATE} ${TIME}`" sed --in-place "s/^MODVERSION=.*\$/MODVERSION=\"${MODVERSION}\"/" configure.ac export CFLAGS="%optflags" -CFLAGS+=" -g" # make tests pass when user does not want debuginfo (boo#1031556) +CFLAGS+=" -g" # tests need debug info enabled (boo#1031556) %ifarch %sparc # Small PIC model not sufficient CFLAGS+=" -fPIC" @@ -272,6 +271,7 @@ export XFAIL_TESTS="dwfl-proc-attach run-backtrace-dwarf.sh run-backtrace-native %files -n debuginfod-dummy-client %{_bindir}/debuginfod-find %{_mandir}/man1/debuginfod-find.1* +%{_mandir}/man7/debuginfod-client-config.7* %files lang -f %{name}.lang diff --git a/tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch b/tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch deleted file mode 100644 index 50012c8..0000000 --- a/tests-Allow-an-extra-pthread_kill-frame-in-backtrace.patch +++ /dev/null @@ -1,131 +0,0 @@ -From 9aee0992d6e6ec4cce2c015d8da4b61022c6f6dd Mon Sep 17 00:00:00 2001 -From: Mark Wielaard -Date: Wed, 4 Aug 2021 21:01:27 +0200 -Subject: [PATCH] tests: Allow an extra pthread_kill frame in backtrace tests - -glibc 2.34 calls pthread_kill from the raise function. Before raise -directly called the (tg)kill syscall. So allow pthread_kill to be the -first frame in a backtrace where raise is expected. Also change some -asserts to fprintf plus abort to make it more clear why the testcase -fails. - -https://sourceware.org/bugzilla/show_bug.cgi?id=28190 - -Signed-off-by: Mark Wielaard ---- - tests/ChangeLog | 6 +++++ - tests/backtrace.c | 61 +++++++++++++++++++++++++++++++++++++++++------ - 2 files changed, 60 insertions(+), 7 deletions(-) - -diff --git a/tests/backtrace.c b/tests/backtrace.c -index 36c8b8c4..afc12fb9 100644 ---- a/tests/backtrace.c -+++ b/tests/backtrace.c -@@ -97,6 +97,9 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc, - static bool reduce_frameno = false; - if (reduce_frameno) - frameno--; -+ static bool pthread_kill_seen = false; -+ if (pthread_kill_seen) -+ frameno--; - if (! use_raise_jmp_patching && frameno >= 2) - frameno += 2; - const char *symname2 = NULL; -@@ -107,11 +110,26 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc, - && (strcmp (symname, "__kernel_vsyscall") == 0 - || strcmp (symname, "__libc_do_syscall") == 0)) - reduce_frameno = true; -+ else if (! pthread_kill_seen && symname -+ && strstr (symname, "pthread_kill") != NULL) -+ pthread_kill_seen = true; - else -- assert (symname && strcmp (symname, "raise") == 0); -+ { -+ if (!symname || strcmp (symname, "raise") != 0) -+ { -+ fprintf (stderr, -+ "case 0: expected symname 'raise' got '%s'\n", symname); -+ abort (); -+ } -+ } - break; - case 1: -- assert (symname != NULL && strcmp (symname, "sigusr2") == 0); -+ if (symname == NULL || strcmp (symname, "sigusr2") != 0) -+ { -+ fprintf (stderr, -+ "case 1: expected symname 'sigusr2' got '%s'\n", symname); -+ abort (); -+ } - break; - case 2: // x86_64 only - /* __restore_rt - glibc maybe does not have to have this symbol. */ -@@ -120,11 +138,21 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc, - if (use_raise_jmp_patching) - { - /* Verify we trapped on the very first instruction of jmp. */ -- assert (symname != NULL && strcmp (symname, "jmp") == 0); -+ if (symname == NULL || strcmp (symname, "jmp") != 0) -+ { -+ fprintf (stderr, -+ "case 3: expected symname 'raise' got '%s'\n", symname); -+ abort (); -+ } - mod = dwfl_addrmodule (dwfl, pc - 1); - if (mod) - symname2 = dwfl_module_addrname (mod, pc - 1); -- assert (symname2 == NULL || strcmp (symname2, "jmp") != 0); -+ if (symname2 == NULL || strcmp (symname2, "jmp") != 0) -+ { -+ fprintf (stderr, -+ "case 3: expected symname2 'jmp' got '%s'\n", symname2); -+ abort (); -+ } - break; - } - FALLTHROUGH; -@@ -137,11 +165,22 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc, - duplicate_sigusr2 = true; - break; - } -- assert (symname != NULL && strcmp (symname, "stdarg") == 0); -+ if (symname == NULL || strcmp (symname, "stdarg") != 0) -+ { -+ fprintf (stderr, -+ "case 4: expected symname 'stdarg' got '%s'\n", symname); -+ abort (); -+ } - break; - case 5: - /* Verify we trapped on the very last instruction of child. */ -- assert (symname != NULL && strcmp (symname, "backtracegen") == 0); -+ if (symname == NULL || strcmp (symname, "backtracegen") != 0) -+ { -+ fprintf (stderr, -+ "case 5: expected symname 'backtracegen' got '%s'\n", -+ symname); -+ abort (); -+ } - mod = dwfl_addrmodule (dwfl, pc); - if (mod) - symname2 = dwfl_module_addrname (mod, pc); -@@ -151,7 +190,15 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc, - // instructions or even inserts some padding instructions at the end - // (which apparently happens on ppc64). - if (use_raise_jmp_patching) -- assert (symname2 == NULL || strcmp (symname2, "backtracegen") != 0); -+ { -+ if (symname2 != NULL && strcmp (symname2, "backtracegen") == 0) -+ { -+ fprintf (stderr, -+ "use_raise_jmp_patching didn't expect symname2 " -+ "'backtracegen'\n"); -+ abort (); -+ } -+ } - break; - } - } --- -2.32.0 -