mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-08-11 00:24:42 +02:00
Disallow atomics during fence & WOLFSSL_NO_ATOMIC
This commit is contained in:
@@ -756,6 +756,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
|
||||||
|
@@ -1535,8 +1535,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__)
|
||||||
#include <stdatomic.h>
|
#ifdef WOLFSSL_NO_ATOMIC
|
||||||
#define XFENCE() atomic_thread_fence(memory_order_seq_cst)
|
#define XFENCE() WC_DO_NOTHING
|
||||||
|
#else
|
||||||
|
#include <stdatomic.h>
|
||||||
|
#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