mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-13 17:44:48 +02:00
Merge pull request #9076 from gojimmypi/pr-fence-atomics
Disallow atomics during fence & WOLFSSL_NO_ATOMIC
This commit is contained in:
@@ -758,6 +758,7 @@ WOLFSSL_MULTICIRCULATE_ALTNAMELIST
|
|||||||
WOLFSSL_NONBLOCK_OCSP
|
WOLFSSL_NONBLOCK_OCSP
|
||||||
WOLFSSL_NOSHA3_384
|
WOLFSSL_NOSHA3_384
|
||||||
WOLFSSL_NOT_WINDOWS_API
|
WOLFSSL_NOT_WINDOWS_API
|
||||||
|
WOLFSSL_NO_ATOMIC
|
||||||
WOLFSSL_NO_BIO_ADDR_IN
|
WOLFSSL_NO_BIO_ADDR_IN
|
||||||
WOLFSSL_NO_CLIENT
|
WOLFSSL_NO_CLIENT
|
||||||
WOLFSSL_NO_CLIENT_CERT_ERROR
|
WOLFSSL_NO_CLIENT_CERT_ERROR
|
||||||
|
@@ -1538,8 +1538,12 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void);
|
|||||||
/* use user-supplied XFENCE definition. */
|
/* use user-supplied XFENCE definition. */
|
||||||
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \
|
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \
|
||||||
!defined(__STDC_NO_ATOMICS__)
|
!defined(__STDC_NO_ATOMICS__)
|
||||||
|
#ifdef WOLFSSL_NO_ATOMIC
|
||||||
|
#define XFENCE() WC_DO_NOTHING
|
||||||
|
#else
|
||||||
#include <stdatomic.h>
|
#include <stdatomic.h>
|
||||||
#define XFENCE() atomic_thread_fence(memory_order_seq_cst)
|
#define XFENCE() atomic_thread_fence(memory_order_seq_cst)
|
||||||
|
#endif
|
||||||
#elif defined(__GNUC__) && (__GNUC__ == 4) && \
|
#elif defined(__GNUC__) && (__GNUC__ == 4) && \
|
||||||
defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 1)
|
defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 1)
|
||||||
#define XFENCE() __sync_synchronize()
|
#define XFENCE() __sync_synchronize()
|
||||||
|
Reference in New Issue
Block a user