Skip to content

Commit 9bd5834

Browse files
authored
Merge pull request #8817 from douzzer/20250529-WC_SHA3_NO_ASM
20250529-WC_SHA3_NO_ASM
2 parents aeae9cb + 245042a commit 9bd5834

3 files changed

Lines changed: 16 additions & 2 deletions

File tree

configure.ac

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -692,7 +692,7 @@ AC_SUBST([ENABLED_LINUXKM_BENCHMARKS])
692692

693693
if test "$ENABLED_LINUXKM_DEFAULTS" = "yes"
694694
then
695-
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC"
695+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_DH_CONST -DWOLFSSL_SP_MOD_WORD_RP -DWOLFSSL_SP_DIV_64 -DWOLFSSL_SP_DIV_WORD_HALF -DWOLFSSL_SMALL_STACK_STATIC -DWC_SHA3_NO_ASM"
696696
if test "$ENABLED_LINUXKM_PIE" = "yes"; then
697697
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_NO_OCSP_ISSUER_CHECK"
698698
fi
@@ -4046,6 +4046,12 @@ then
40464046
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_SHA3_SMALL"
40474047
fi
40484048

4049+
if test "$ENABLED_SHA3" = "noasm"
4050+
then
4051+
ENABLED_SHA3=yes
4052+
AM_CFLAGS="$AM_CFLAGS -DWC_SHA3_NO_ASM"
4053+
fi
4054+
40494055
# SHAKE128
40504056
AC_ARG_ENABLE([shake128],
40514057
[AS_HELP_STRING([--enable-shake128],[Enable wolfSSL SHAKE128 support (default: disabled)])],

wolfcrypt/src/sha3.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@
2121

2222
#include <wolfssl/wolfcrypt/libwolfssl_sources.h>
2323

24+
#ifdef WC_SHA3_NO_ASM
25+
#undef USE_INTEL_SPEEDUP
26+
#undef WOLFSSL_ARMASM
27+
#undef WOLFSSL_RISCV_ASM
28+
#endif
29+
2430
#if defined(WOLFSSL_SHA3) && !defined(WOLFSSL_XILINX_CRYPT) && \
2531
!defined(WOLFSSL_AFALG_XILINX_SHA3)
2632

wolfssl/wolfcrypt/sha3.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,9 @@ WOLFSSL_API int wc_Shake256_Copy(wc_Shake* src, wc_Sha3* dst);
220220
WOLFSSL_API int wc_Sha3_GetFlags(wc_Sha3* sha3, word32* flags);
221221
#endif
222222

223-
#ifdef USE_INTEL_SPEEDUP
223+
#ifdef WC_SHA3_NO_ASM
224+
/* asm speedups disabled */
225+
#elif defined(USE_INTEL_SPEEDUP)
224226
WOLFSSL_LOCAL void sha3_block_n_bmi2(word64* s, const byte* data, word32 n,
225227
word64 c);
226228
WOLFSSL_LOCAL void sha3_block_bmi2(word64* s);

0 commit comments

Comments
 (0)