crypto: aegis128/simd - build 32-bit ARM for v8 architecture explicitly
authorArd Biesheuvel <ard.biesheuvel@linaro.org>
Wed, 2 Oct 2019 07:54:48 +0000 (09:54 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Thu, 10 Oct 2019 12:42:44 +0000 (23:42 +1100)
Now that the Clang compiler has taken it upon itself to police the
compiler command line, and reject combinations for arguments it views
as incompatible, the AEGIS128 no longer builds correctly, and errors
out like this:

  clang-10: warning: ignoring extension 'crypto' because the 'armv7-a'
  architecture does not support it [-Winvalid-command-line-argument]

So let's switch to armv8-a instead, which matches the crypto-neon-fp-armv8
FPU profile we specify. Since neither were actually supported by GCC
versions before 4.8, let's tighten the Kconfig dependencies as well so
we won't run into errors when building with an ancient compiler.

Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Nathan Chancellor <natechancellor@gmail.com>
Tested-by: Nathan Chancellor <natechancellor@gmail.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Tested-by: Nick Desaulniers <ndesaulniers@google.com>
Reported-by: <ci_notify@linaro.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
crypto/Kconfig

index 9e524044d3128654d59a05f2ee7101d376f13cfc..29472fb795f34df917a806b90c6a75841ad6f517 100644 (file)
@@ -309,6 +309,7 @@ config CRYPTO_AEGIS128
 config CRYPTO_AEGIS128_SIMD
        bool "Support SIMD acceleration for AEGIS-128"
        depends on CRYPTO_AEGIS128 && ((ARM || ARM64) && KERNEL_MODE_NEON)
+       depends on !ARM || CC_IS_CLANG || GCC_VERSION >= 40800
        default y
 
 config CRYPTO_AEGIS128_AESNI_SSE2