From 3216da3ddbc3eeb49171ab179acd9d75ca4d0218 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Tue, 28 Jan 2014 17:00:27 +0100 Subject: [PATCH] cipher: Take care of ENABLE_NEON_SUPPORT. * cipher/salsa20.c (USE_ARM_NEON_ASM): Define only if ENABLE_NEON_SUPPORT is defined. * cipher/serpent.c (USE_NEON): Ditto. * cipher/sha512.c (USE_ARM_NEON_ASM): Ditto. -- The generic C source files must only include NEON support if that is enabled. The dedicated ASM files are conditionally compiled and thus do not need to use it. GnuPG-bug-id: 1603 Signed-off-by: Werner Koch (cherry picked from commit 52f7c48c901a3de51bd690a218f3de2f71e8d790) Resolved conflicts: * cipher/sha1.c: Remove changes - no asm support in 1.6. --- cipher/salsa20.c | 9 +++++---- cipher/serpent.c | 10 +++++----- cipher/sha512.c | 9 +++++---- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/cipher/salsa20.c b/cipher/salsa20.c index 72b28b0..d75fe51 100644 --- a/cipher/salsa20.c +++ b/cipher/salsa20.c @@ -49,12 +49,13 @@ /* USE_ARM_NEON_ASM indicates whether to enable ARM NEON assembly code. */ #undef USE_ARM_NEON_ASM -#if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) -# if defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) && \ - defined(HAVE_GCC_INLINE_ASM_NEON) +#ifdef ENABLE_NEON_SUPPORT +# if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) \ + && defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) \ + && defined(HAVE_GCC_INLINE_ASM_NEON) # define USE_ARM_NEON_ASM 1 # endif -#endif +#endif /*ENABLE_NEON_SUPPORT*/ #define SALSA20_MIN_KEY_SIZE 16 /* Bytes. */ diff --git a/cipher/serpent.c b/cipher/serpent.c index 8e647d4..0be49da 100644 --- a/cipher/serpent.c +++ b/cipher/serpent.c @@ -48,13 +48,13 @@ /* USE_NEON indicates whether to enable ARM NEON assembly code. */ #undef USE_NEON -#if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) -# if defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) && \ - defined(HAVE_GCC_INLINE_ASM_NEON) +#ifdef ENABLE_NEON_SUPPORT +# if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) \ + && defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) \ + && defined(HAVE_GCC_INLINE_ASM_NEON) # define USE_NEON 1 # endif -#endif - +#endif /*ENABLE_NEON_SUPPORT*/ /* Number of rounds per Serpent encrypt/decrypt operation. */ #define ROUNDS 32 diff --git a/cipher/sha512.c b/cipher/sha512.c index 26ed031..6f729cc 100644 --- a/cipher/sha512.c +++ b/cipher/sha512.c @@ -57,12 +57,13 @@ /* USE_ARM_NEON_ASM indicates whether to enable ARM NEON assembly code. */ #undef USE_ARM_NEON_ASM -#if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) -# if defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) && \ - defined(HAVE_GCC_INLINE_ASM_NEON) +#ifdef ENABLE_NEON_SUPPORT +# if defined(HAVE_ARM_ARCH_V6) && defined(__ARMEL__) \ + && defined(HAVE_COMPATIBLE_GCC_ARM_PLATFORM_AS) \ + && defined(HAVE_GCC_INLINE_ASM_NEON) # define USE_ARM_NEON_ASM 1 # endif -#endif +#endif /*ENABLE_NEON_SUPPORT*/ /* USE_SSSE3 indicates whether to compile with Intel SSSE3 code. */ -- 1.8.4.3