mirror of https://github.com/wolfSSL/wolfssl.git
linuxkm: add ASFLAGS_FPU_DISABLE_SIMD_ENABLE ASFLAGS_FPU_ENABLE_SIMD_DISABLE ASFLAGS_FPUSIMD_DISABLE ASFLAGS_FPUSIMD_ENABLE to facilitate erroring for unexpected fp/simd instructions in Kbuild, while allowing expected ones.
parent
96fe6dc049
commit
331fe47eb6
|
@ -201,7 +201,10 @@ if BUILD_LINUXKM
|
|||
export KERNEL_ROOT KERNEL_ARCH KERNEL_EXTRA_CFLAGS AM_CFLAGS CFLAGS AM_CCASFLAGS CCASFLAGS \
|
||||
src_libwolfssl_la_OBJECTS ENABLED_CRYPT_TESTS ENABLED_ASM CFLAGS_FPU_DISABLE \
|
||||
CFLAGS_FPU_ENABLE CFLAGS_SIMD_DISABLE CFLAGS_SIMD_ENABLE \
|
||||
CFLAGS_AUTO_VECTORIZE_DISABLE CFLAGS_AUTO_VECTORIZE_ENABLE
|
||||
CFLAGS_AUTO_VECTORIZE_DISABLE CFLAGS_AUTO_VECTORIZE_ENABLE \
|
||||
ASFLAGS_FPU_DISABLE_SIMD_ENABLE ASFLAGS_FPU_ENABLE_SIMD_DISABLE \
|
||||
ASFLAGS_FPUSIMD_DISABLE ASFLAGS_FPUSIMD_ENABLE
|
||||
|
||||
SUBDIRS = linuxkm
|
||||
endif
|
||||
|
||||
|
|
10
configure.ac
10
configure.ac
|
@ -5357,6 +5357,10 @@ if test "x$ENABLED_LINUXKM" = "xyes"; then
|
|||
AC_SUBST([CFLAGS_SIMD_ENABLE])
|
||||
AC_SUBST([CFLAGS_AUTO_VECTORIZE_DISABLE])
|
||||
AC_SUBST([CFLAGS_AUTO_VECTORIZE_ENABLE])
|
||||
AC_SUBST([ASFLAGS_FPU_DISABLE_SIMD_ENABLE])
|
||||
AC_SUBST([ASFLAGS_FPU_ENABLE_SIMD_DISABLE])
|
||||
AC_SUBST([ASFLAGS_FPUSIMD_DISABLE])
|
||||
AC_SUBST([ASFLAGS_FPUSIMD_ENABLE])
|
||||
|
||||
if test "$ENABLED_AFALG" = "yes"; then
|
||||
AC_MSG_ERROR([--enable-afalg is incompatible with --enable-linuxkm.])
|
||||
|
@ -5673,7 +5677,11 @@ echo " * fpu enable C flags: $CFLAGS_FPU_ENABLE" && \
|
|||
echo " * SIMD disable C flags: $CFLAGS_SIMD_DISABLE" && \
|
||||
echo " * SIMD enable C flags: $CFLAGS_SIMD_ENABLE" && \
|
||||
echo " * No-auto-vectorize C flags: $CFLAGS_AUTO_VECTORIZE_DISABLE" && \
|
||||
echo " * Auto-vectorize C flags: $CFLAGS_AUTO_VECTORIZE_ENABLE"
|
||||
echo " * Auto-vectorize C flags: $CFLAGS_AUTO_VECTORIZE_ENABLE" && \
|
||||
echo " * SIMD enable as flags: $ASFLAGS_FPU_DISABLE_SIMD_ENABLE" && \
|
||||
echo " * FPU enable as flags: $ASFLAGS_FPU_ENABLE_SIMD_DISABLE" && \
|
||||
echo " * SIMD+FPU disable as flags: $ASFLAGS_FPUSIMD_DISABLE" && \
|
||||
echo " * SIMD+FPU enable as flags: $ASFLAGS_FPUSIMD_ENABLE"
|
||||
echo " * Debug enabled: $ax_enable_debug"
|
||||
echo " * Coverage enabled: $ax_enable_coverage"
|
||||
echo " * Warnings as failure: $ac_cv_warnings_as_errors"
|
||||
|
|
|
@ -96,5 +96,53 @@ AC_DEFUN([AX_SIMD_CC_COMPILER_FLAGS], [
|
|||
AX_APPEND_COMPILE_FLAGS([-ftree-slp-vectorize],[CFLAGS_AUTO_VECTORIZE_ENABLE])
|
||||
fi
|
||||
|
||||
case "$host_cpu" in
|
||||
x86_64)
|
||||
# note that gnu as accepts archs of the form -march=+no387, signifying the
|
||||
# default target arch modified with no387. by default, we use that here.
|
||||
if test "$ASFLAGS_FPU_DISABLE_SIMD_ENABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+no87+no287+no387+no687+sse+sse2+sse3+ssse3+sse4.1+sse4.2+sse4+avx+avx2+avx512f"],[ASFLAGS_FPU_DISABLE_SIMD_ENABLE])
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPU_ENABLE_SIMD_DISABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+387+687+nosse+nosse2+nosse3+nossse3+nosse4.1+nosse4.2+nosse4+noavx+noavx2+noavx512f"],[ASFLAGS_FPU_ENABLE_SIMD_DISABLE])
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPUSIMD_DISABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+no387+no687+nosse+nosse2+nosse3+nossse3+nosse4.1+nosse4.2+nosse4+noavx+noavx2+noavx512f"],[ASFLAGS_FPUSIMD_DISABLE])
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPUSIMD_ENABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+387+687+sse+sse2+sse3+ssse3+sse4.1+sse4.2+sse4+avx+avx2+avx512f"],[ASFLAGS_FPUSIMD_ENABLE])
|
||||
fi
|
||||
|
||||
;;
|
||||
aarch64)
|
||||
if test "$BASE_TARGET_ARCH" = ""; then
|
||||
BASE_TARGET_ARCH=all
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPU_DISABLE_SIMD_ENABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+nofpu+simd"],[ASFLAGS_FPU_DISABLE_SIMD_ENABLE])
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPU_ENABLE_SIMD_DISABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+fpu+nosimd"],[ASFLAGS_FPU_ENABLE_SIMD_DISABLE])
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPUSIMD_DISABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+nofpu+nosimd"],[ASFLAGS_FPUSIMD_DISABLE])
|
||||
fi
|
||||
|
||||
if test "$ASFLAGS_FPUSIMD_ENABLE" = ""; then
|
||||
AX_APPEND_COMPILE_FLAGS([-Wa,-march="${BASE_TARGET_ARCH}+fpu+simd"],[$ASFLAGS_FPUSIMD_ENABLE])
|
||||
fi
|
||||
|
||||
;;
|
||||
*)
|
||||
AC_MSG_ERROR(["Don\'t know how to construct assembler flags for target \"${host_cpu}\"."])
|
||||
;;
|
||||
esac
|
||||
|
||||
AC_LANG_POP
|
||||
])
|
||||
|
|
Loading…
Reference in New Issue