summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKhem Raj <raj.khem@gmail.com>2020-01-26 11:27:39 -0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2020-01-27 16:38:54 +0000
commit4f8f2fd72fee6cf5aedbb679b2c29b88f98a5e11 (patch)
tree21716fd88b0ce35893d4efe17c71629da906dd31
parent51c329d2d3fbefd5483bb78f471f4c222ad061c1 (diff)
downloadopenembedded-core-4f8f2fd72fee6cf5aedbb679b2c29b88f98a5e11.tar.gz
nss: Pass NSS_USE_ARM_HW_CRYPTO as define in CFLAGS
Use NSS_USE_ARM_HW_CRYPTO to detect USE_ARM_GCM, since there are dependent, without this we control the crypto code function inclusion in build but do not control the call sites, which can result in undefined symbols e.g. Linux_SINGLE_SHLIB/gcm.o: in function `gcmHash_InitContext': /usr/src/debug/nss/3.49.1-r0/nss-3.49.1/nss/lib/freebl/gcm.c:112: undefined reference to `gcm_HashInit_hw' Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch25
1 files changed, 21 insertions, 4 deletions
diff --git a/meta/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch b/meta/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
index fe29d19882..803c06b218 100644
--- a/meta/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
+++ b/meta/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
@@ -12,20 +12,19 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
nss/lib/freebl/Makefile | 3 +++
1 file changed, 3 insertions(+)
-diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
-index 06506f0..a8b015d 100644
--- a/nss/lib/freebl/Makefile
+++ b/nss/lib/freebl/Makefile
-@@ -125,6 +125,8 @@ else
+@@ -125,6 +125,9 @@ else
DEFINES += -DNSS_X86
endif
endif
+
+ifdef NSS_USE_ARM_HW_CRYPTO
++ DEFINES += -DNSS_USE_ARM_HW_CRYPTO
ifeq ($(CPU_ARCH),aarch64)
DEFINES += -DUSE_HW_AES
EXTRA_SRCS += aes-armv8.c gcm-aarch64.c
-@@ -145,6 +147,7 @@ ifeq ($(CPU_ARCH),arm)
+@@ -146,6 +149,7 @@ ifeq ($(CPU_ARCH),arm)
endif
endif
endif
@@ -33,3 +32,21 @@ index 06506f0..a8b015d 100644
ifeq ($(OS_TARGET),OSF1)
DEFINES += -DMP_ASSEMBLY_MULTIPLY -DMP_NO_MP_WORD
+--- a/nss/lib/freebl/gcm.c
++++ b/nss/lib/freebl/gcm.c
+@@ -17,6 +17,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)
+@@ -28,6 +29,7 @@
+ * that compiler uses -mfpu=neon only. */
+ #define USE_ARM_GCM
+ #endif
++#endif
+
+ /* Forward declarations */
+ SECStatus gcm_HashInit_hw(gcmHashContext *ghash);