Disallow atomics during fence & WOLFSSL_NO_ATOMIC

This commit is contained in:
gojimmypi
2025-08-07 15:18:42 -07:00
parent 9470668538
commit e6ffbfb601
2 changed files with 7 additions and 2 deletions

View File

@@ -756,6 +756,7 @@ WOLFSSL_MULTICIRCULATE_ALTNAMELIST
WOLFSSL_NONBLOCK_OCSP
WOLFSSL_NOSHA3_384
WOLFSSL_NOT_WINDOWS_API
WOLFSSL_NO_ATOMIC
WOLFSSL_NO_BIO_ADDR_IN
WOLFSSL_NO_CLIENT
WOLFSSL_NO_CLIENT_CERT_ERROR

View File

@@ -1535,8 +1535,12 @@ WOLFSSL_ABI WOLFSSL_API int wolfCrypt_Cleanup(void);
/* use user-supplied XFENCE definition. */
#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) && \
!defined(__STDC_NO_ATOMICS__)
#ifdef WOLFSSL_NO_ATOMIC
#define XFENCE() WC_DO_NOTHING
#else
#include <stdatomic.h>
#define XFENCE() atomic_thread_fence(memory_order_seq_cst)
#endif
#elif defined(__GNUC__) && (__GNUC__ == 4) && \
defined(__GNUC_MINOR__) && (__GNUC_MINOR__ >= 1)
#define XFENCE() __sync_synchronize()