diff --git a/.wolfssl_known_macro_extras b/.wolfssl_known_macro_extras index fafab6e0e..fca817d51 100644 --- a/.wolfssl_known_macro_extras +++ b/.wolfssl_known_macro_extras @@ -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 diff --git a/wolfssl/wolfcrypt/wc_port.h b/wolfssl/wolfcrypt/wc_port.h index c0fd47f62..fe452682d 100644 --- a/wolfssl/wolfcrypt/wc_port.h +++ b/wolfssl/wolfcrypt/wc_port.h @@ -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__) - #include - #define XFENCE() atomic_thread_fence(memory_order_seq_cst) + #ifdef WOLFSSL_NO_ATOMIC + #define XFENCE() WC_DO_NOTHING + #else + #include + #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()