mirror of
https://git.yoctoproject.org/poky
synced 2026-04-17 09:32:12 +02:00
elfutils: Fix build with libcurl >= 7.87
(From OE-Core rev: 3916c5f3cb0f2e0ff349ea266197e31ddceb12d2) Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -21,6 +21,8 @@ SRC_URI = "https://sourceware.org/elfutils/ftp/${PV}/${BP}.tar.bz2 \
|
||||
file://0001-skip-the-test-when-gcc-not-deployed.patch \
|
||||
file://ptest.patch \
|
||||
file://0001-tests-Makefile.am-compile-test_nlist-with-standard-C.patch \
|
||||
file://0001-PR29926-debuginfod-Fix-usage-of-deprecated-CURLINFO_.patch \
|
||||
file://0002-debuginfod-client-Use-CURLOPT_PROTOCOLS_STR-for-libc.patch \
|
||||
"
|
||||
SRC_URI:append:libc-musl = " \
|
||||
file://0003-musl-utils.patch \
|
||||
@@ -33,8 +35,6 @@ inherit autotools gettext ptest pkgconfig
|
||||
EXTRA_OECONF = "--program-prefix=eu-"
|
||||
|
||||
BUILD_CFLAGS += "-Wno-error=stringop-overflow"
|
||||
# compatibility with curl 7.87; can be removed when elfutils upstream fixes the deprecation fails
|
||||
CFLAGS:append = " -Wno-error=deprecated-declarations"
|
||||
|
||||
DEPENDS_BZIP2 = "bzip2-replacement-native"
|
||||
DEPENDS_BZIP2:class-target = "bzip2"
|
||||
|
||||
@@ -0,0 +1,49 @@
|
||||
From d2bf497b12fbd49b4996ccf0744303ffd67735b1 Mon Sep 17 00:00:00 2001
|
||||
From: Andrew Paprocki <andrew@ishiboo.com>
|
||||
Date: Wed, 21 Dec 2022 11:15:00 -0500
|
||||
Subject: [PATCH] PR29926: debuginfod: Fix usage of deprecated CURLINFO_*
|
||||
|
||||
The `CURLINFO_SIZE_DOWNLOAD_T` and `CURLINFO_CONTENT_LENGTH_DOWNLOAD_T`
|
||||
identifiers are `enum`s, not pre-processor definitions, so the current
|
||||
`#ifdef` logic is not selecting the newer API. This results in the
|
||||
older identifiers being used and they now generate errors when compiled
|
||||
against Curl 7.87, which has silently deprecated them, causing GCC to
|
||||
emit `-Werror=deprecated-declarations`.
|
||||
|
||||
Instead, the newer identifiers were added in Curl 7.55, so explicitly
|
||||
check for `CURL_AT_LEAST_VERSION(7, 55, 0)` instead of the current
|
||||
logic. This eliminates the error when compiling against Curl 7.87.
|
||||
|
||||
Ref: https://github.com/curl/curl/pull/1511
|
||||
|
||||
Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=d2bf497b12fbd49b4996ccf0744303ffd67735b1]
|
||||
Signed-off-by: Andrew Paprocki <andrew@ishiboo.com>
|
||||
---
|
||||
debuginfod/debuginfod-client.c | 4 ++--
|
||||
2 files changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
|
||||
index 8873fcc8..692aecce 100644
|
||||
--- a/debuginfod/debuginfod-client.c
|
||||
+++ b/debuginfod/debuginfod-client.c
|
||||
@@ -1456,7 +1456,7 @@ debuginfod_query_server (debuginfod_client *c,
|
||||
deflate-compressing proxies, this number is likely to be
|
||||
unavailable, so -1 may show. */
|
||||
CURLcode curl_res;
|
||||
-#ifdef CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
|
||||
+#if CURL_AT_LEAST_VERSION(7, 55, 0)
|
||||
curl_off_t cl;
|
||||
curl_res = curl_easy_getinfo(target_handle,
|
||||
CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
|
||||
@@ -1491,7 +1491,7 @@ debuginfod_query_server (debuginfod_client *c,
|
||||
if (target_handle) /* we've committed to a server; report its download progress */
|
||||
{
|
||||
CURLcode curl_res;
|
||||
-#ifdef CURLINFO_SIZE_DOWNLOAD_T
|
||||
+#if CURL_AT_LEAST_VERSION(7, 55, 0)
|
||||
curl_off_t dl;
|
||||
curl_res = curl_easy_getinfo(target_handle,
|
||||
CURLINFO_SIZE_DOWNLOAD_T,
|
||||
--
|
||||
2.39.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 6560fb26a62ef135a804357ef4f15a47de3e49b3 Mon Sep 17 00:00:00 2001
|
||||
From: Mark Wielaard <mark@klomp.org>
|
||||
Date: Tue, 10 Jan 2023 23:20:41 +0100
|
||||
Subject: [PATCH] debuginfod-client: Use CURLOPT_PROTOCOLS_STR for libcurl >= 7.85.0
|
||||
|
||||
https://sourceware.org/bugzilla/show_bug.cgi?id=29926
|
||||
|
||||
Upstream-Status: Backport [https://sourceware.org/git/?p=elfutils.git;a=commit;h=6560fb26a62ef135a804357ef4f15a47de3e49b3]
|
||||
Signed-off-by: Mark Wielaard <mark@klomp.org>
|
||||
---
|
||||
debuginfod/debuginfod-client.c | 5 +++++
|
||||
2 files changed, 10 insertions(+)
|
||||
|
||||
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
|
||||
index a16165bd..1ce45632 100644
|
||||
--- a/debuginfod/debuginfod-client.c
|
||||
+++ b/debuginfod/debuginfod-client.c
|
||||
@@ -1336,8 +1336,13 @@ debuginfod_query_server (debuginfod_client *c,
|
||||
|
||||
/* Only allow http:// + https:// + file:// so we aren't being
|
||||
redirected to some unsupported protocol. */
|
||||
+#if CURL_AT_LEAST_VERSION(7, 85, 0)
|
||||
+ curl_easy_setopt_ck(data[i].handle, CURLOPT_PROTOCOLS_STR,
|
||||
+ "http,https,file");
|
||||
+#else
|
||||
curl_easy_setopt_ck(data[i].handle, CURLOPT_PROTOCOLS,
|
||||
(CURLPROTO_HTTP | CURLPROTO_HTTPS | CURLPROTO_FILE));
|
||||
+#endif
|
||||
curl_easy_setopt_ck(data[i].handle, CURLOPT_URL, data[i].url);
|
||||
if (vfd >= 0)
|
||||
curl_easy_setopt_ck(data[i].handle, CURLOPT_ERRORBUFFER,
|
||||
--
|
||||
2.39.1
|
||||
|
||||
Reference in New Issue
Block a user