crypto: arm/sha256 - avoid sha256 code on ARMv7-M
authorArnd Bergmann <arnd@arndb.de>
Sat, 11 Apr 2015 08:48:44 +0000 (10:48 +0200)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 13 Apr 2015 04:07:13 +0000 (12:07 +0800)
The sha256 assembly implementation can deal with all architecture levels
from ARMv4 to ARMv7-A, but not with ARMv7-M. Enabling it in an
ARMv7-M kernel results in this build failure:

arm-linux-gnueabi-ld: error: arch/arm/crypto/sha256_glue.o: Conflicting architecture profiles M/A
arm-linux-gnueabi-ld: failed to merge target specific data of file arch/arm/crypto/sha256_glue.o

This adds a Kconfig dependency to prevent the code from being disabled
for ARMv7-M.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
arch/arm/crypto/Kconfig

index a267529d9577d8a02c80196586a6bc939d05a983..8da2207b00721b600ef340f3fdf8ceea48e0cae7 100644 (file)
@@ -48,6 +48,7 @@ config CRYPTO_SHA2_ARM_CE
 config CRYPTO_SHA256_ARM
        tristate "SHA-224/256 digest algorithm (ARM-asm and NEON)"
        select CRYPTO_HASH
+       depends on !CPU_V7M
        help
          SHA-256 secure hash standard (DFIPS 180-2) implemented
          using optimized ARM assembler and NEON, when available.