From ccf8eebc5f1020533ab317cdc9633cc7d5165316 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Tue, 26 Aug 2025 14:02:27 -0600 Subject: [PATCH 1/2] update for cpuid atomic refactor --- wolfcrypt/src/cpuid.c | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/wolfcrypt/src/cpuid.c b/wolfcrypt/src/cpuid.c index 73b3a2925..5c3e333ff 100644 --- a/wolfcrypt/src/cpuid.c +++ b/wolfcrypt/src/cpuid.c @@ -41,17 +41,21 @@ */ void cpuid_set_flags(void) { - if (!cpuid_check) { - cpuid_flags |= CPUID_AVX1; - cpuid_flags |= CPUID_AVX2; - cpuid_flags |= CPUID_BMI2; - cpuid_flags |= CPUID_RDSEED; - cpuid_flags |= CPUID_AESNI; - cpuid_flags |= CPUID_ADX; - cpuid_flags |= CPUID_MOVBE; - cpuid_flags |= CPUID_BMI1; + if (WOLFSSL_ATOMIC_LOAD(cpuid_flags) == WC_CPUID_INITIALIZER) { + cpuid_flags_t new_cpuid_flags = 0, + old_cpuid_flags = WC_CPUID_INITIALIZER; - cpuid_check = 1; + new_cpuid_flags |= CPUID_AVX1; + new_cpuid_flags |= CPUID_AVX2; + new_cpuid_flags |= CPUID_BMI2; + new_cpuid_flags |= CPUID_RDSEED; + new_cpuid_flags |= CPUID_AESNI; + new_cpuid_flags |= CPUID_ADX; + new_cpuid_flags |= CPUID_MOVBE; + new_cpuid_flags |= CPUID_BMI1; + + (void)wolfSSL_Atomic_Uint_CompareExchange + (&cpuid_flags, &old_cpuid_flags, new_cpuid_flags); } } From 9774e4959f7499695cc9bd5895e5f673ee053cc8 Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Tue, 26 Aug 2025 14:05:50 -0600 Subject: [PATCH 2/2] change sgx script to create options.h if none exists --- IDE/LINUX-SGX/build.sh | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/IDE/LINUX-SGX/build.sh b/IDE/LINUX-SGX/build.sh index 8e98b002b..317765529 100755 --- a/IDE/LINUX-SGX/build.sh +++ b/IDE/LINUX-SGX/build.sh @@ -5,6 +5,11 @@ CFLAGS_NEW="-DDEBUG_WOLFSSL -I/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/ export CFLAGS="${CFLAGS} ${CFLAGS_NEW}" echo ${CFLAGS} +# create an empty options.h file if none exist +if [ ! -f ../../wolfssl/options.h ]; then + touch ../../wolfssl/options.h +fi + NEW_INCLUDE_PATH="$C_INCLUDE_PATH:/usr/lib/gcc/x86_64-linux-gnu/$(gcc -dumpversion)/include" export C_INCLUDE_PATH="$NEW_INCLUDE_PATH"