PKGBUILDs/core/libgcrypt/0001-cipher-Take-care-of-ENABLE_NEON_SUPPORT.patch
2014-01-31 16:48:08 +00:00

97 lines
3 KiB
Diff

From 3216da3ddbc3eeb49171ab179acd9d75ca4d0218 Mon Sep 17 00:00:00 2001
From: Werner Koch <wk@gnupg.org>
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 <wk@gnupg.org>
(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