From ee6aba16351163d5c2ca3fb189312e3884339431 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Jul 28 2020 11:09:35 +0000 Subject: import elfutils-0.180-1.el8 --- diff --git a/.elfutils.metadata b/.elfutils.metadata index 4e09f27..47e5453 100644 --- a/.elfutils.metadata +++ b/.elfutils.metadata @@ -1 +1 @@ -5f52d04105a89e50caf69cea40629c323c1eccd9 SOURCES/elfutils-0.178.tar.bz2 +c1ed871515b0f7fcdf2d94fea23e4b8ba67e8fe3 SOURCES/elfutils-0.180.tar.bz2 diff --git a/.gitignore b/.gitignore index 259576d..7da1245 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/elfutils-0.178.tar.bz2 +SOURCES/elfutils-0.180.tar.bz2 diff --git a/SOURCES/elfutils-0.178-compressed-vmlinuz.patch b/SOURCES/elfutils-0.178-compressed-vmlinuz.patch deleted file mode 100644 index 1df54a1..0000000 --- a/SOURCES/elfutils-0.178-compressed-vmlinuz.patch +++ /dev/null @@ -1,62 +0,0 @@ -commit 4a90cb11140a6bb3712228861a32e4035013ad85 -Author: Mark Wielaard -Date: Thu Dec 5 15:03:54 2019 +0100 - - libdwfl: Find and handle compressed vmlinuz image. - - Both the dwfl_linux_kernel_find_elf callback and the - dwfl_linux_kernel_report_offline reporting function only handled - vmlinix images possibly compressed with .gz, .bz2 or .xz extension. - They did not find or handle the much more common vmlinuz compressed - images. - - It is not completely clear why we didn't up to now. Support for - compressed ELF files was added in 2009 and the code was updated to - to try to find the .gz, .bz2 or .xz extension variants in 2011. - But not the vmlinuz named variant. - - Reported-by: Aaron Merey - Tested-by: Frank Ch. Eigler - Signed-off-by: Mark Wielaard - -diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c -index d46ab5aa..48fb1ff0 100644 ---- a/libdwfl/linux-kernel-modules.c -+++ b/libdwfl/linux-kernel-modules.c -@@ -174,6 +174,8 @@ kernel_release (void) - static int - find_kernel_elf (Dwfl *dwfl, const char *release, char **fname) - { -+ /* First try to find an uncompressed vmlinux image. Possibly -+ including debuginfo. */ - if ((release[0] == '/' - ? asprintf (fname, "%s/vmlinux", release) - : asprintf (fname, "/boot/vmlinux-%s", release)) < 0) -@@ -188,6 +190,27 @@ find_kernel_elf (Dwfl *dwfl, const char *release, char **fname) - fd = try_kernel_name (dwfl, fname, true); - } - -+ /* There might be a compressed vmlinuz image. Probably without -+ debuginfo, but try to find it under the debug path also, just in -+ case. */ -+ if (fd < 0) -+ { -+ free (*fname); -+ if ((release[0] == '/' -+ ? asprintf (fname, "%s/vmlinuz", release) -+ : asprintf (fname, "/boot/vmlinuz-%s", release)) < 0) -+ return -1; -+ -+ fd = try_kernel_name (dwfl, fname, true); -+ if (fd < 0 && release[0] != '/') -+ { -+ free (*fname); -+ if (asprintf (fname, MODULEDIRFMT "/vmlinuz", release) < 0) -+ return -1; -+ fd = try_kernel_name (dwfl, fname, true); -+ } -+ } -+ - return fd; - } - diff --git a/SOURCES/elfutils-0.178-curl-code-gcc-10.patch b/SOURCES/elfutils-0.178-curl-code-gcc-10.patch deleted file mode 100644 index a1e2741..0000000 --- a/SOURCES/elfutils-0.178-curl-code-gcc-10.patch +++ /dev/null @@ -1,53 +0,0 @@ -commit 374fbed3da0197f794a904e78e75e961c7e2e92c -Author: Mark Wielaard -Date: Wed Dec 4 00:39:26 2019 +0100 - - debuginfod: Fix implicit conversion from 'CURLcode' to 'CURLMcode' - - GCC10 warns when converting the value of one enum type into another: - - debuginfod-client.c:530:24: error: implicit conversion from ‘CURLcode’ - to ‘CURLMcode’ [-Werror=enum-conversion] - 530 | curl_res = curl_easy_getinfo(target_handle, - | ^ - - libcurl has different error code enums. The "easy" interfaces return - a CURLcode error. The "multi" interface functions return a CURLMcode. - - Signed-off-by: Mark Wielaard - -diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c -index 6e62b86c..302ea2dc 100644 ---- a/debuginfod/debuginfod-client.c -+++ b/debuginfod/debuginfod-client.c -@@ -509,8 +509,6 @@ debuginfod_query_server (debuginfod_client *c, - long loops = 0; - do - { -- CURLMcode curl_res; -- - if (c->progressfn) /* inform/check progress callback */ - { - loops ++; -@@ -518,6 +516,7 @@ debuginfod_query_server (debuginfod_client *c, - long pb = 0; - if (target_handle) /* we've committed to a server; report its download progress */ - { -+ CURLcode curl_res; - #ifdef CURLINFO_SIZE_DOWNLOAD_T - curl_off_t dl; - curl_res = curl_easy_getinfo(target_handle, -@@ -564,10 +563,10 @@ debuginfod_query_server (debuginfod_client *c, - if (data[i].handle != target_handle) - curl_multi_remove_handle(curlm, data[i].handle); - -- curl_res = curl_multi_perform(curlm, &still_running); -- if (curl_res != CURLM_OK) -+ CURLMcode curlm_res = curl_multi_perform(curlm, &still_running); -+ if (curlm_res != CURLM_OK) - { -- switch (curl_res) -+ switch (curlm_res) - { - case CURLM_CALL_MULTI_PERFORM: continue; - case CURLM_OUT_OF_MEMORY: rc = -ENOMEM; break; diff --git a/SOURCES/elfutils-0.178-debuginfod-no-cache.patch b/SOURCES/elfutils-0.178-debuginfod-no-cache.patch deleted file mode 100644 index a05336b..0000000 --- a/SOURCES/elfutils-0.178-debuginfod-no-cache.patch +++ /dev/null @@ -1,67 +0,0 @@ -commit d8bad02afc7b7f30402b4e0e458df874a6d600da -Author: Mark Wielaard -Date: Mon Dec 9 19:38:19 2019 +0100 - - debuginfod: Check the DEBUGINFOD_URLS environment variable early in client. - - If the debuginfod-client isn't configured we should do as little - as possible. Simply return early with ENOSYS if no servers are - configured. This means we won't check - - This does change the behavior of the debuginfod_find calls slightly. - Previously we would setup and check the cache if the given build-id - was valid. Which might have provided a result if an earlier client - had run with the same cache and valid server URLs which knew about - that particular build-id. Now we don't return any cached results - unless at least one server is configured. - - This prevents selinux errors when the library is used in a confined - setup. - - Signed-off-by: Mark Wielaard - -diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c -index 302ea2dc..ab7b4e13 100644 ---- a/debuginfod/debuginfod-client.c -+++ b/debuginfod/debuginfod-client.c -@@ -301,6 +301,16 @@ debuginfod_query_server (debuginfod_client *c, - char target_cache_tmppath[PATH_MAX*5]; - char suffix[PATH_MAX*2]; - char build_id_bytes[MAX_BUILD_ID_BYTES * 2 + 1]; -+ int rc; -+ -+ /* Is there any server we can query? If not, don't do any work, -+ just return with ENOSYS. Don't even access the cache. */ -+ urls_envvar = getenv(server_urls_envvar); -+ if (urls_envvar == NULL || urls_envvar[0] == '\0') -+ { -+ rc = -ENOSYS; -+ goto out; -+ } - - /* Copy lowercase hex representation of build_id into buf. */ - if ((build_id_len >= MAX_BUILD_ID_BYTES) || -@@ -373,7 +383,7 @@ debuginfod_query_server (debuginfod_client *c, - /* XXX combine these */ - snprintf(interval_path, sizeof(interval_path), "%s/%s", cache_path, cache_clean_interval_filename); - snprintf(maxage_path, sizeof(maxage_path), "%s/%s", cache_path, cache_max_unused_age_filename); -- int rc = debuginfod_init_cache(cache_path, interval_path, maxage_path); -+ rc = debuginfod_init_cache(cache_path, interval_path, maxage_path); - if (rc != 0) - goto out; - rc = debuginfod_clean_cache(c, cache_path, interval_path, maxage_path); -@@ -390,14 +400,6 @@ debuginfod_query_server (debuginfod_client *c, - return fd; - } - -- -- urls_envvar = getenv(server_urls_envvar); -- if (urls_envvar == NULL || urls_envvar[0] == '\0') -- { -- rc = -ENOSYS; -- goto out; -- } -- - if (getenv(server_timeout_envvar)) - server_timeout = atoi (getenv(server_timeout_envvar)); - diff --git a/SOURCES/elfutils-0.178-pt-gnu-prop.patch b/SOURCES/elfutils-0.178-pt-gnu-prop.patch deleted file mode 100644 index 917765b..0000000 --- a/SOURCES/elfutils-0.178-pt-gnu-prop.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/src/elflint.c b/src/elflint.c -index 810c8bd..1acf1bc 100644 ---- a/src/elflint.c -+++ b/src/elflint.c -@@ -4483,8 +4483,13 @@ only executables, shared objects, and core files can have program headers\n")); - continue; - } - -+#ifndef PT_GNU_PROPERTY -+#define PT_GNU_PROPERTY (PT_LOOS + 0x474e553) -+#endif -+ - if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME - && phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO -+ && phdr->p_type != PT_GNU_PROPERTY - /* Check for a known machine-specific type. */ - && ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL) - ERROR (gettext ("\ diff --git a/SPECS/elfutils.spec b/SPECS/elfutils.spec index e6d96b2..54d1b2e 100644 --- a/SPECS/elfutils.spec +++ b/SPECS/elfutils.spec @@ -1,6 +1,6 @@ Name: elfutils -Version: 0.178 -%global baserelease 6 +Version: 0.180 +%global baserelease 1 Release: %{baserelease}%{?dist} URL: http://elfutils.org/ %global source_url ftp://sourceware.org/pub/elfutils/%{version}/ @@ -42,6 +42,7 @@ BuildRequires: pkgconfig(libarchive) >= 3.1.2 BuildRequires: bzip2 # For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss BuildRequires: iproute +BuildRequires: bsdtar BuildRequires: curl %global _gnu %{nil} @@ -54,10 +55,6 @@ BuildRequires: curl %endif # Patches -Patch1: elfutils-0.178-pt-gnu-prop.patch -Patch2: elfutils-0.178-debuginfod-no-cache.patch -Patch3: elfutils-0.178-curl-code-gcc-10.patch -Patch4: elfutils-0.178-compressed-vmlinuz.patch %description Elfutils is a collection of utilities, including stack (to show @@ -225,8 +222,8 @@ Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires(pre): shadow-utils -# For /usr/bin/cpio2rpm -Requires: rpm +# To extract .deb files with a bsdtar (= libarchive) subshell +Requires: bsdtar %description debuginfod-client The elfutils-debuginfod-client package contains shared libraries @@ -249,10 +246,6 @@ such servers to download those files on demand. %setup -q # Apply patches -%patch1 -p1 -b .pt-gnu-prop -%patch2 -p1 -b .debuginfod-client-cache -%patch3 -p1 -b .curl-gcc-10 -%patch4 -p1 -b .vmlinuz # In case the above patches added any new test scripts, make sure they # are executable. @@ -430,6 +423,13 @@ exit 0 %systemd_postun_with_restart debuginfod.service %changelog +* Thu Jun 11 2020 Mark Wielaard - 0.180-1 +- New upstream release. + +* Fri Jan 10 2020 Mark Wielaard - 0.178-7 +- Add elfutils-0.178-debuginfod-timeoutprogress.patch +- Add elfutils-0.178-libasm-ebl.patch + * Fri Dec 13 2019 Mark Wielaard - 0.178-6 - Add elfutils-0.178-curl-code-gcc-10.patch - Add elfutils-0.178-compressed-vmlinuz.patch