]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
curl: Fix build failure for qemuriscv64
authorHe Zhe <zhe.he@windriver.com>
Tue, 12 Jul 2022 07:47:57 +0000 (15:47 +0800)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Tue, 12 Jul 2022 22:56:06 +0000 (23:56 +0100)
Backport a patch from upstream to fix the following build failure.

tmp-glibc/work/riscv64-wrs-linux/curl/7.84.0-r0/recipe-sysroot-native/
usr/bin/riscv64-wrs-linux/../../libexec/riscv64-wrs-linux/gcc/
riscv64-wrs-linux/12.1.0/ld: ../lib/.libs/libcurl.so:
undefined reference to `__atomic_exchange_1'
collect2: error: ld returned 1 exit status

Signed-off-by: He Zhe <zhe.he@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/recipes-support/curl/curl_7.84.0.bb
meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch [new file with mode: 0644]

index 0d829cdf2385937530b7c8104efb46595ff4ee0a..28b09ef01736ea630cbeafd4ca2a0cd388cff840 100644 (file)
@@ -12,6 +12,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=190c514872597083303371684954f238"
 SRC_URI = " \
     https://curl.se/download/${BP}.tar.xz \
     file://0001-easy_lock.h-include-sched.h-if-available-to-fix-buil.patch \
+    file://0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch \
     file://run-ptest \
     file://disable-tests \
 "
diff --git a/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch b/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch
new file mode 100644 (file)
index 0000000..878839a
--- /dev/null
@@ -0,0 +1,37 @@
+From 50efb0822aa0e0ab165158dd0a26e65a2290e6d2 Mon Sep 17 00:00:00 2001
+From: Daniel Stenberg <daniel@haxx.se>
+Date: Tue, 28 Jun 2022 09:00:25 +0200
+Subject: [PATCH] easy_lock: switch to using atomic_int instead of bool
+
+To work with more compilers without requiring separate libs to
+link. Like with gcc-12 for RISC-V on Linux.
+
+Reported-by: Adam Sampson
+Fixes #9055
+Closes #9061
+
+Upstream-Status: Backport [50efb0822aa0e0ab165158dd0a26e65a2290e6d2]
+
+Signed-off-by: He Zhe <zhe.he@windriver.com>
+---
+ lib/easy_lock.h | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/lib/easy_lock.h b/lib/easy_lock.h
+index 07c85c5ff..9c11bc50c 100644
+--- a/lib/easy_lock.h
++++ b/lib/easy_lock.h
+@@ -40,8 +40,8 @@
+ #include <sched.h>
+ #endif
+-#define curl_simple_lock atomic_bool
+-#define CURL_SIMPLE_LOCK_INIT false
++#define curl_simple_lock atomic_int
++#define CURL_SIMPLE_LOCK_INIT 0
+ static inline void curl_simple_lock_lock(curl_simple_lock *lock)
+ {
+-- 
+2.25.1
+