Force inline ASM for armv7 with FIPS

This commit is contained in:
Lealem Amedie
2024-06-11 13:32:46 -06:00
parent 29df90197e
commit b7d32d0609

View File

@@ -2797,7 +2797,7 @@ then
esac esac
AC_MSG_NOTICE([64bit ARMv8 found, setting mcpu to generic+crypto]) AC_MSG_NOTICE([64bit ARMv8 found, setting mcpu to generic+crypto])
;; ;;
armv7a*) armv7a* | armv7l*)
AM_CPPFLAGS="$AM_CPPFLAGS -march=armv7-a -mfpu=neon -DWOLFSSL_ARM_ARCH=7 -marm" AM_CPPFLAGS="$AM_CPPFLAGS -march=armv7-a -mfpu=neon -DWOLFSSL_ARM_ARCH=7 -marm"
# Include options.h # Include options.h
AM_CCASFLAGS="$AM_CCASFLAGS -DEXTERNAL_OPTS_OPENVPN" AM_CCASFLAGS="$AM_CCASFLAGS -DEXTERNAL_OPTS_OPENVPN"
@@ -2805,6 +2805,14 @@ then
ENABLED_AESGCM_STREAM=no # not yet implemented ENABLED_AESGCM_STREAM=no # not yet implemented
ENABLED_ARMASM_NEON=yes ENABLED_ARMASM_NEON=yes
AC_MSG_NOTICE([32bit ARMv7-a found, setting mfpu to neon]) AC_MSG_NOTICE([32bit ARMv7-a found, setting mfpu to neon])
if test "$ENABLED_FIPS" != "no" ||
test "$HAVE_FIPS_VERSION_MAJOR" -ge 5;
then
# Use inline ASM with FIPS because of known "issue" with the
# assembly code
ENABLED_ARMASM_INLINE=yes
AC_MSG_NOTICE([32bit ARMv7-a found, setting inline for FIPS])
fi
;; ;;
armv7m*) armv7m*)
# QEMU doesn't work with armv7-m # QEMU doesn't work with armv7-m
@@ -2815,6 +2823,14 @@ then
ENABLED_AESGCM_STREAM=no # not yet implemented ENABLED_AESGCM_STREAM=no # not yet implemented
ENABLED_ARMASM_NEON=no ENABLED_ARMASM_NEON=no
AC_MSG_NOTICE([32bit ARMv7-m found]) AC_MSG_NOTICE([32bit ARMv7-m found])
if test "$ENABLED_FIPS" != "no" ||
test "$HAVE_FIPS_VERSION_MAJOR" -ge 5;
then
# Use inline ASM with FIPS because of known "issue" with the
# assembly code
ENABLED_ARMASM_INLINE=yes
AC_MSG_NOTICE([32bit ARMv7-m found, setting inline for FIPS])
fi
;; ;;
armv6*) armv6*)
AM_CPPFLAGS="$AM_CPPFLAGS -march=armv6 -fomit-frame-pointer -DWOLFSSL_ARMASM_NO_HW_CRYPTO -DWOLFSSL_ARM_ARCH=6" AM_CPPFLAGS="$AM_CPPFLAGS -march=armv6 -fomit-frame-pointer -DWOLFSSL_ARMASM_NO_HW_CRYPTO -DWOLFSSL_ARM_ARCH=6"
@@ -8069,7 +8085,7 @@ if test "$ENABLED_SP_ASM" = "yes" && test "$ENABLED_SP" = "yes"; then
AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_SP_ARM64_ASM" AM_CCASFLAGS="$AM_CCASFLAGS -DWOLFSSL_SP_ARM64_ASM"
ENABLED_SP_ARM64_ASM=yes ENABLED_SP_ARM64_ASM=yes
;; ;;
*armv7a*) *armv7a* | *armv7l*)
if test "$ENABLED_ARMASM" = "no"; then if test "$ENABLED_ARMASM" = "no"; then
AM_CPPFLAGS="$AM_CPPFLAGS -march=armv7-a -mfpu=neon -DWOLFSSL_ARM_ARCH=7 -marm" AM_CPPFLAGS="$AM_CPPFLAGS -march=armv7-a -mfpu=neon -DWOLFSSL_ARM_ARCH=7 -marm"
fi fi