blob: a42b0e89008a874f9badaba8e2970a928d59a42d [file] [log] [blame]
https://lists.gnupg.org/pipermail/gcrypt-devel/2022-January/005224.html
From bc0b82ad8201a4d7bffa3cf0f5504b72c1011cb1 Mon Sep 17 00:00:00 2001
From: Sam James <sam@gentoo.org>
Date: Tue, 18 Jan 2022 12:44:22 +0000
Subject: [PATCH] cipher/cipher-gcm: fix build failure on ARM NEON
'features' is only defined when relevant CPU features are found, but
one of the uses below its definition checked for GCM_USE_ARM_NEON which
wasn't in the guard above it.
i.e. We used to only define 'features' when:
- GCM_USE_INTEL_PCLMUL
- GCM_USE_ARM_PMULL
- GCM_USE_S390X_CRYPTO
- GCM_USE_PPC_VPMSUM
- GCM_USE_S390X_CRYPTO
- GCM_USE_PPC_VPMSUM
is set.
We were missing GCM_USE_ARM_NEON so when we check for GCM_USE_ARM_NEON
below, it'd fail as features wasn't defined.
Bug: https://bugs.gentoo.org/831397
---
cipher/cipher-gcm.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/cipher/cipher-gcm.c b/cipher/cipher-gcm.c
index a039c5e9..22834f35 100644
--- a/cipher/cipher-gcm.c
+++ b/cipher/cipher-gcm.c
@@ -583,7 +583,8 @@ static void
setupM (gcry_cipher_hd_t c)
{
#if defined(GCM_USE_INTEL_PCLMUL) || defined(GCM_USE_ARM_PMULL) || \
- defined(GCM_USE_S390X_CRYPTO) || defined(GCM_USE_PPC_VPMSUM)
+ defined(GCM_USE_ARM_NEON) || defined(GCM_USE_S390X_CRYPTO) || \
+ defined(GCM_USE_PPC_VPMSUM)
unsigned int features = _gcry_get_hw_features ();
#endif
--
2.34.1