f81454db59
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>
71 lines
1.9 KiB
Diff
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
|
|
|