Skip to content

Commit bff29a8

Browse files
committed
ARM32/Thumb2 ASM SHA-256: provide small code size option
WOLFSSL_ARMASM_SHA256_SMALL for Thumb2 and ARM32 using base instructions compiles implementations that are smaller but slower.
1 parent 2b726eb commit bff29a8

5 files changed

Lines changed: 3700 additions & 164 deletions

File tree

configure.ac

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3364,6 +3364,7 @@ fi
33643364

33653365
ENABLED_ARMASM_CRYPTO="unknown"
33663366
ENABLED_ARMASM_INLINE="no"
3367+
ENABLED_ARMASM_SHA256_SMALL="no"
33673368
ENABLED_ARMASM_SHA3="unknown"
33683369
ENABLED_ARMASM_CRYPTO_SM4="no"
33693370
# ARM Assembly
@@ -3387,6 +3388,9 @@ then
33873388
no-crypto)
33883389
ENABLED_ARMASM_CRYPTO=no
33893390
;;
3391+
sha256-small)
3392+
ENABLED_ARMASM_SHA256_SMALL=yes
3393+
;;
33903394
sha512-crypto | sha3-crypto)
33913395
case $host_cpu in
33923396
*aarch64*)
@@ -3583,6 +3587,10 @@ then
35833587
esac
35843588
fi
35853589

3590+
if test "$ENABLED_ARMASM_SHA256_SMALL" = "yes"; then
3591+
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ARMASM_SHA256_SMALL"
3592+
AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_ARMASM_SHA256_SMALL"
3593+
fi
35863594
if test "$ENABLED_ARMASM_SHA3" = "yes"; then
35873595
AM_CFLAGS="$AM_CFLAGS -DWOLFSSL_ARMASM_CRYPTO_SHA512 -DWOLFSSL_ARMASM_CRYPTO_SHA3"
35883596
AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_ARMASM_CRYPTO_SHA512 -DWOLFSSL_ARMASM_CRYPTO_SHA3"

0 commit comments

Comments
 (0)