Merge pull request #7637 from lealem47/armasm_fips

Force inline ASM for armv7 with FIPS
This commit is contained in:
Kaleb Himes
2024-06-12 07:53:37 -06:00
committed by GitHub

View File

@ -2808,7 +2808,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"
@ -2816,6 +2816,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
@ -2826,6 +2834,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"
@ -8080,7 +8096,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