summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHe Zhe <zhe.he@windriver.com>2022-07-12 15:47:57 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2022-07-12 23:56:06 +0100
commit13d2bf6a34f4182c5c8bdd280d1ffd4caac3844a (patch)
tree6cb3facdb16ab850d6fd0462a58cf24ddf223155
parente169cce3615acf5adccedaa47411453775853d28 (diff)
downloadopenembedded-core-contrib-13d2bf6a34f4182c5c8bdd280d1ffd4caac3844a.tar.gz
curl: Fix build failure for qemuriscv64
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>
-rw-r--r--meta/recipes-support/curl/curl_7.84.0.bb1
-rw-r--r--meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch37
2 files changed, 38 insertions, 0 deletions
diff --git a/meta/recipes-support/curl/curl_7.84.0.bb b/meta/recipes-support/curl/curl_7.84.0.bb
index 0d829cdf23..28b09ef017 100644
--- a/meta/recipes-support/curl/curl_7.84.0.bb
+++ b/meta/recipes-support/curl/curl_7.84.0.bb
@@ -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
index 0000000000..878839a5e3
--- /dev/null
+++ b/meta/recipes-support/curl/files/0001-easy_lock-switch-to-using-atomic_int-instead-of-bool.patch
@@ -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
+