summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-support/nss
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-support/nss')
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch33
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch46
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh20
-rw-r--r--meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb (renamed from meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb)31
4 files changed, 70 insertions, 60 deletions
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
index 1a87a0577..bfc375e83 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch
@@ -14,21 +14,18 @@ Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
nss/lib/freebl/gcm.c | 2 ++
2 files changed, 6 insertions(+)
-diff --git a/nss/lib/freebl/Makefile b/nss/lib/freebl/Makefile
-index f99f769..b0ec81b 100644
--- a/nss/lib/freebl/Makefile
+++ b/nss/lib/freebl/Makefile
-@@ -125,6 +125,9 @@ else
- DEFINES += -DNSS_X86
+@@ -126,6 +126,8 @@ else
endif
endif
-+
+ ifdef NS_USE_GCC
+ifdef NSS_USE_ARM_HW_CRYPTO
+ DEFINES += -DNSS_USE_ARM_HW_CRYPTO
ifeq ($(CPU_ARCH),aarch64)
- DEFINES += -DUSE_HW_AES -DUSE_HW_SHA2
- EXTRA_SRCS += aes-armv8.c gcm-aarch64.c sha256-armv8.c
-@@ -148,6 +151,7 @@ endif
+ DEFINES += -DUSE_HW_AES -DUSE_HW_SHA1 -DUSE_HW_SHA2
+ EXTRA_SRCS += aes-armv8.c gcm-aarch64.c sha1-armv8.c sha256-armv8.c
+@@ -150,6 +152,7 @@ endif
endif
endif
endif
@@ -36,23 +33,15 @@ index f99f769..b0ec81b 100644
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
+@@ -21,7 +21,9 @@
/* 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. */
++# ifdef NSS_USE_ARM_HW_CRYPTO
#define USE_ARM_GCM
- #endif
-+#endif
-
- /* Forward declarations */
- SECStatus gcm_HashInit_hw(gcmHashContext *ghash);
++# endif
+ #elif defined(__arm__) && defined(IS_LITTLE_ENDIAN) && \
+ !defined(NSS_DISABLE_ARM32_NEON)
+ /* We don't test on big endian platform, so disable this on big endian. */
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch
new file mode 100644
index 000000000..432312da2
--- /dev/null
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss/0001-pkix-Do-not-use-NULL-where-0-is-needed.patch
@@ -0,0 +1,46 @@
+From 1136cad77c2dc7d8e1daa317877676733e805f29 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Wed, 26 Aug 2020 17:30:40 -0700
+Subject: [PATCH] pkix: Do not use NULL where 0 is needed
+
+Clang finds this error
+
+pkix_logger.c:316:32: error: cast to smaller integer type 'PKIX_ERRORCLASS' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
+ logger->logComponent = (PKIX_ERRORCLASS)NULL;
+ ^~~~~~~~~~~~~~~~~~~~~
+pkix_logger.c:617:32: error: cast to smaller integer type 'PKIX_ERRORCLASS' from 'void *' [-Werror,-Wvoid-pointer-to-enum-cast]
+ logger->logComponent = (PKIX_ERRORCLASS)NULL;
+ ^~~~~~~~~~~~~~~~~~~~~
+2 errors generated.
+
+Upstream-Status: Submitted [https://bugzilla.mozilla.org/show_bug.cgi?id=1661378]
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ nss/lib/libpkix/pkix/util/pkix_logger.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/nss/lib/libpkix/pkix/util/pkix_logger.c b/nss/lib/libpkix/pkix/util/pkix_logger.c
+index a916e6e..10f537a 100644
+--- a/nss/lib/libpkix/pkix/util/pkix_logger.c
++++ b/nss/lib/libpkix/pkix/util/pkix_logger.c
+@@ -313,7 +313,7 @@ pkix_Logger_Destroy(
+
+ logger->callback = NULL;
+ PKIX_DECREF(logger->context);
+- logger->logComponent = (PKIX_ERRORCLASS)NULL;
++ logger->logComponent = (PKIX_ERRORCLASS)0;
+
+ cleanup:
+
+@@ -614,7 +614,7 @@ PKIX_Logger_Create(
+
+ logger->callback = callback;
+ logger->maxLevel = 0;
+- logger->logComponent = (PKIX_ERRORCLASS)NULL;
++ logger->logComponent = (PKIX_ERRORCLASS)0;
+
+ PKIX_INCREF(loggerContext);
+ logger->context = loggerContext;
+--
+2.28.0
+
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh b/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh
deleted file mode 100644
index a74e499f8..000000000
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss/signlibs.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-#!/bin/sh
-
-# signlibs.sh
-#
-# (c)2010 Wind River Systems, Inc.
-#
-# regenerates the .chk files for the NSS libraries that require it
-# since the ones that are built have incorrect checksums that were
-# calculated on the host where they really need to be done on the
-# target
-
-CHK_FILES=`ls /lib*/*.chk /usr/lib*/*.chk 2>/dev/null`
-SIGN_BINARY=`which shlibsign`
-for I in $CHK_FILES
-do
- DN=`dirname $I`
- BN=`basename $I .chk`
- FN=$DN/$BN.so
- $SIGN_BINARY -i $FN
-done
diff --git a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb
index 4923f6868..997f8950f 100644
--- a/meta-openembedded/meta-oe/recipes-support/nss/nss_3.54.bb
+++ b/meta-openembedded/meta-oe/recipes-support/nss/nss_3.56.bb
@@ -21,7 +21,6 @@ VERSION_DIR = "${@d.getVar('BP').upper().replace('-', '_').replace('.', '_') + '
SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSION_DIR}/src/${BP}.tar.gz \
file://nss.pc.in \
- file://signlibs.sh \
file://0001-nss-fix-support-cross-compiling.patch \
file://nss-no-rpath-for-cross-compiling.patch \
file://nss-fix-incorrect-shebang-of-perl.patch \
@@ -32,9 +31,9 @@ SRC_URI = "http://ftp.mozilla.org/pub/mozilla.org/security/nss/releases/${VERSIO
file://system-pkcs11.txt \
file://nss-fix-nsinstall-build.patch \
file://0001-freebl-add-a-configure-option-to-disable-ARM-HW-cryp.patch \
+ file://0001-pkix-Do-not-use-NULL-where-0-is-needed.patch \
"
-
-SRC_URI[sha256sum] = "dab18bbfcf5e347934cda664df75ce9fd912a5772686c40d3c805e53c08d6e43"
+SRC_URI[sha256sum] = "f875e0e8ed3b5ce92d675be4a55aa25a8c1199789a4a01f69b5f2327e2048e9c"
UPSTREAM_CHECK_URI = "https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_Releases"
UPSTREAM_CHECK_REGEX = "NSS_(?P<pver>.+)_release_notes"
@@ -57,7 +56,6 @@ do_configure_prepend_libc-musl () {
do_compile_prepend_class-native() {
export NSPR_INCLUDE_DIR=${STAGING_INCDIR_NATIVE}/nspr
export NSPR_LIB_DIR=${STAGING_LIBDIR_NATIVE}
- export NSS_ENABLE_WERROR=0
}
do_compile_prepend_class-nativesdk() {
@@ -71,6 +69,7 @@ do_compile_prepend_class-native() {
do_compile() {
export NSPR_INCLUDE_DIR=${STAGING_INCDIR}/nspr
+ export NSS_ENABLE_WERROR=0
export CROSS_COMPILE=1
export NATIVE_CC="${BUILD_CC}"
@@ -214,7 +213,6 @@ do_install_append() {
touch ${D}/${libdir}/$file
chmod 755 ${D}/${libdir}/$file
done
- install -D -m 755 ${WORKDIR}/signlibs.sh ${D}/${bindir}/signlibs.sh
install -d ${D}${libdir}/pkgconfig/
sed 's/%NSS_VERSION%/${PV}/' ${WORKDIR}/nss.pc.in | sed 's/%NSPR_VERSION%/4.9.2/' > ${D}${libdir}/pkgconfig/nss.pc
@@ -238,20 +236,17 @@ do_install_append_class-target() {
}
PACKAGE_WRITE_DEPS += "nss-native"
+
pkg_postinst_${PN} () {
- if [ -n "$D" ]; then
- for I in $D${libdir}/lib*.chk; do
- DN=`dirname $I`
- BN=`basename $I .chk`
- FN=$DN/$BN.so
- shlibsign -i $FN
- if [ $? -ne 0 ]; then
- exit 1
- fi
- done
- else
- signlibs.sh
- fi
+ for I in $D${libdir}/lib*.chk; do
+ DN=`dirname $I`
+ BN=`basename $I .chk`
+ FN=$DN/$BN.so
+ shlibsign -i $FN
+ if [ $? -ne 0 ]; then
+ echo "shlibsign -i $FN failed"
+ fi
+ done
}
PACKAGES =+ "${PN}-smime"