citadel/meta-citadel/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
Bruce Leidl 64d91cb68c Big Upgrade: GNOME 40 Yocto 3.3 meta-rust meta-clang meta-intel
Updated Recipes

  * colord 1.4.5
  * dconf 0.40.0
  * gdm 40.0
  * geoclue 2.5.7
  * geocode-glib 3.26.2
  * gevix2_ 0.12.1
  * gjs 1.68.0
  * glib2 2.68.0
  * gnome-autoar 0.3.1
  * gnome-backgrounds 40.0
  * gnome-control-center 40.0
  * gnome-desktop 40.0
  * gnome-disk-utility 40.1
  * gnome-keyring 40.0
  * gnome-screenshot 40.0
  * gnome-session 40.1.1
  * gnome-settings-daemon 40.0.1
  * gnome-shell 40.0
  * gnome-system-monitor 40.1
  * gnome-terminal 3.40.1
  * gsettings-desktop-schemas 40.0
  * ibus 1.5.23
  * iwd 1.13
  * kernel 5.12.1
  * keyutils 1.6.1
  * libgee 0.20.4
  * libgit2  1.1.0
  * libgweather 40.0
  * libhandy 1.2.0 (poky)
  * libseccomp 2.5.1
  * libssh2 1.9.0 (poky)
  * lvm2 2.03.11
  * meson 0.57.1 (poky)
  * mutter 40.0
  * nano 5.6
  * NetworkManager 1.30.2
  * network-manager-applet 1.18.0
  * nspr 4.29
  * pango 1.48.2 (poky)
  * plymouth 0.9.5+git
  * udisks 2.9.2
  * upower 0.99.11
  * vte 0.64.0
  * yelp-tools 3.32.2
  * yelp-xsl 3.36.0
2021-05-05 08:45:55 -04:00

58 lines
1.6 KiB
Diff

From 8b67c22b057e158f61c9fdd5b01f37195c6f5ca4 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 18 Dec 2019 12:29:50 +0100
Subject: [PATCH] freebl: add a configure option to disable ARM HW crypto
Not all current hardware supports it, particularly anything
prior to armv8 does not.
Upstream-Status: Pending
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
nss/lib/freebl/Makefile | 3 +++
nss/lib/freebl/gcm.c | 2 ++
2 files changed, 5 insertions(+)
diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
index fe8c526..922f67c 100644
--- a/nss/lib/freebl/Makefile
+++ b/nss/lib/freebl/Makefile
@@ -125,6 +125,8 @@ else
DEFINES += -DNSS_X86
endif
endif
+ifdef NSS_USE_ARM_HW_CRYPTO
+ DEFINES += -DNSS_USE_ARM_HW_CRYPTO
ifeq ($(CPU_ARCH),aarch64)
ifdef CC_IS_CLANG
DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
@@ -166,6 +168,7 @@ endif
endif
endif
endif
+endif
ifeq ($(OS_TARGET),OSF1)
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD
diff --git a/nss/lib/freebl/gcm.c b/nss/lib/freebl/gcm.c
index c2cc18d..b77f573 100644
--- a/nss/lib/freebl/gcm.c
+++ b/nss/lib/freebl/gcm.c
@@ -18,6 +18,7 @@
#include <limits.h>
+#ifdef NSS_USE_ARM_HW_CRYPTO
/* old gcc doesn't support some poly64x2_t intrinsic */
#if defined(__aarch64__) && defined(IS_LITTLE_ENDIAN) && \
(defined(__clang__) || defined(__GNUC__) && __GNUC__ > 6)
@@ -27,6 +28,7 @@
/* We don't test on big endian platform, so disable this on big endian. */
#define USE_ARM_GCM
#endif
+#endif
/* Forward declarations */
SECStatus gcm_HashInit_hw(gcmHashContext *ghash);