commit:     092edcd917732ae0d21ef78f0484cc73d386225a
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Jan 18 13:12:38 2022 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Jan 18 13:12:46 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=092edcd9

dev-libs/libgcrypt: fix build on ARM

Closes: https://bugs.gentoo.org/831397
Signed-off-by: Sam James <sam <AT> gentoo.org>

 .../libgcrypt-1.9.4-arm-neon-compile-fix.patch     | 42 ++++++++++++++++++++++
 dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild          |  1 +
 2 files changed, 43 insertions(+)

diff --git 
a/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch 
b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
new file mode 100644
index 000000000000..b8126185817b
--- /dev/null
+++ b/dev-libs/libgcrypt/files/libgcrypt-1.9.4-arm-neon-compile-fix.patch
@@ -0,0 +1,42 @@
+From bc0b82ad8201a4d7bffa3cf0f5504b72c1011cb1 Mon Sep 17 00:00:00 2001
+From: Sam James <[email protected]>
+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

diff --git a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild 
b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
index b60616307fb9..a5b6b9652284 100644
--- a/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
+++ b/dev-libs/libgcrypt/libgcrypt-1.9.4.ebuild
@@ -35,6 +35,7 @@ BDEPEND="doc? ( virtual/texi2dvi )"
 PATCHES=(
        "${FILESDIR}"/${PN}-multilib-syspath.patch
        "${FILESDIR}"/${PN}-powerpc-darwin.patch
+       "${FILESDIR}"/${PN}-1.9.4-arm-neon-compile-fix.patch
 )
 
 MULTILIB_CHOST_TOOLS=(

Reply via email to