kumquat-buildroot/package/libcurl/0002-configure-check-for-the-stdatomic.h-header-in-config.patch
Baruch Siach f81454db59 package/libcurl: fix build when !BR2_TOOLCHAIN_HAS_SYNC_1
On platform that do not provide __atomic_exchange_1(), and when
libatomic is not available (e.g., threads support disabled) link of
libcurl.so fails. To solve this use an indirect way to make HAVE_ATOMIC
undefined. Add an upstream patch for checking the stdatomic.h header,
and seed the 'no' answer.

Fixes:
http://autobuild.buildroot.net/results/8f695d4dbb91cfde8e93ab38e837b0a0042b986b/
http://autobuild.buildroot.net/results/3b4712b0ace52da1650e88cdaafb6a20be135464/

Cc: Matt Weber <matthew.weber@collins.com>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-07-23 13:48:32 +02:00

71 lines
1.9 KiB
Diff

From a68074b5db2a1fb637853b808e5b263c2ce9cbdd Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Tue, 28 Jun 2022 08:37:22 +0200
Subject: [PATCH] configure: check for the stdatomic.h header in configure
... and only set HAVE_ATOMIC if that header exists since we use
typedefes set in it.
Reported-by: Ryan Schmidt
Fixes #9059
Closes #9060
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
Upstream status: commit a68074b5db2a1fb637853b808e5b263c2ce9cbdd
m4/curl-functions.m4 | 36 +++++++++++++++++++-----------------
1 file changed, 19 insertions(+), 17 deletions(-)
diff --git a/m4/curl-functions.m4 b/m4/curl-functions.m4
index ec406f56aed8..f3e12a53a9fd 100644
--- a/m4/curl-functions.m4
+++ b/m4/curl-functions.m4
@@ -6570,24 +6570,26 @@ AC_DEFUN([CURL_COVERAGE],[
])
dnl CURL_ATOMIC
-dnl --------------------------------------------------
-dnl Check if _Atomic works
+dnl -------------------------------------------------------------
+dnl Check if _Atomic works. But only check if stdatomic.h exists.
dnl
AC_DEFUN([CURL_ATOMIC],[
- AC_MSG_CHECKING([if _Atomic is available])
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- $curl_includes_unistd
- ]],[[
- _Atomic int i = 0;
- ]])
- ],[
- AC_MSG_RESULT([yes])
- AC_DEFINE_UNQUOTED(HAVE_ATOMIC, 1,
- [Define to 1 if you have _Atomic support.])
- tst_atomic="yes"
- ],[
- AC_MSG_RESULT([no])
- tst_atomic="no"
+ AC_CHECK_HEADERS(stdatomic.h, [
+ AC_MSG_CHECKING([if _Atomic is available])
+ AC_COMPILE_IFELSE([
+ AC_LANG_PROGRAM([[
+ $curl_includes_unistd
+ ]],[[
+ _Atomic int i = 0;
+ ]])
+ ],[
+ AC_MSG_RESULT([yes])
+ AC_DEFINE_UNQUOTED(HAVE_ATOMIC, 1,
+ [Define to 1 if you have _Atomic support.])
+ tst_atomic="yes"
+ ],[
+ AC_MSG_RESULT([no])
+ tst_atomic="no"
+ ])
])
])
--
2.35.1