nss: update to 3.53.

This commit is contained in:
Đoàn Trần Công Danh 2020-05-31 10:10:03 +07:00 committed by Danh Doan
parent 029f4be1d8
commit 9d0a2f3e38
2 changed files with 90 additions and 10 deletions

View file

@ -0,0 +1,80 @@
From f8d9ecea60d99c6143dcb9e2f8fe41c8e17e4d0f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=C4=90o=C3=A0n=20Tr=E1=BA=A7n=20C=C3=B4ng=20Danh?=
<congdanhqx@gmail.com>
Date: Sun, 31 May 2020 12:13:08 +0700
Subject: [PATCH] enable AVX2 if applicable on x86_64
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
There's a runtime check for AVX2 before using, see:
lib/freebl/chacha20poly1305.c:140
lib/freebl/blinit.c:117
Signed-off-by: Đoàn Trần Công Danh <congdanhqx@gmail.com>
---
nss/coreconf/arch.mk | 1 +
nss/coreconf/config.mk | 2 ++
nss/lib/freebl/Makefile | 9 +++++++--
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git nss/coreconf/arch.mk nss/coreconf/arch.mk
index 790372d..cc13ced 100644
--- nss/coreconf/arch.mk
+++ nss/coreconf/arch.mk
@@ -116,6 +116,7 @@ ifeq ($(OS_ARCH),Linux)
OS_RELEASE := $(word 1,$(OS_RELEASE)).$(word 2,$(OS_RELEASE))
endif
KERNEL = Linux
+ include $(CORE_DEPTH)/coreconf/Linux.mk
endif
# Since all uses of OS_ARCH that follow affect only userland, we can
diff --git nss/coreconf/config.mk nss/coreconf/config.mk
index 39f755d..b65e684 100644
--- nss/coreconf/config.mk
+++ nss/coreconf/config.mk
@@ -149,8 +149,10 @@ DEFINES += -DNSS_DISABLE_DBM
endif
ifdef NSS_DISABLE_AVX2
+ifneq ($(NSS_DISABLE_AVX2),0)
DEFINES += -DNSS_DISABLE_AVX2
endif
+endif
ifdef NSS_DISABLE_CHACHAPOLY
DEFINES += -DNSS_DISABLE_CHACHAPOLY
diff --git nss/lib/freebl/Makefile nss/lib/freebl/Makefile
index 5f73844..8b98370 100644
--- nss/lib/freebl/Makefile
+++ nss/lib/freebl/Makefile
@@ -552,10 +552,12 @@ endif
ifndef NSS_DISABLE_CHACHAPOLY
ifeq ($(CPU_ARCH),x86_64)
ifndef NSS_DISABLE_AVX2
+ NSS_DISABLE_AVX2 = 0
+ endif
+ ifeq ($(NSS_DISABLE_AVX2),0)
EXTRA_SRCS += Hacl_Poly1305_256.c Hacl_Chacha20_Vec256.c Hacl_Chacha20Poly1305_256.c
- else
- EXTRA_SRCS += Hacl_Poly1305_128.c Hacl_Chacha20_Vec128.c Hacl_Chacha20Poly1305_128.c
endif # NSS_DISABLE_AVX2
+ EXTRA_SRCS += Hacl_Poly1305_128.c Hacl_Chacha20_Vec128.c Hacl_Chacha20Poly1305_128.c
endif # x86_64
VERIFIED_SRCS += Hacl_Poly1305_32.c Hacl_Chacha20.c Hacl_Chacha20Poly1305_32.c
@@ -737,6 +739,9 @@ $(OBJDIR)/$(PROG_PREFIX)Hacl_Chacha20Poly1305_128$(OBJ_SUFFIX): CFLAGS += -mssse
$(OBJDIR)/$(PROG_PREFIX)Hacl_Poly1305_128$(OBJ_SUFFIX): CFLAGS += -mssse3 -msse4.1 -msse4.2 -mavx -maes -mpclmul
ifndef NSS_DISABLE_AVX2
+ NSS_DISABLE_AVX2 = 0
+endif
+ifeq ($(NSS_DISABLE_AVX2),0)
$(OBJDIR)/$(PROG_PREFIX)Hacl_Chacha20Poly1305_256$(OBJ_SUFFIX): CFLAGS += -mssse3 -msse4.1 -msse4.2 -mavx2 -maes
$(OBJDIR)/$(PROG_PREFIX)Hacl_Chacha20_Vec256$(OBJ_SUFFIX): CFLAGS += -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -maes
$(OBJDIR)/$(PROG_PREFIX)Hacl_Poly1305_256$(OBJ_SUFFIX): CFLAGS += -mssse3 -msse4.1 -msse4.2 -mavx -mavx2 -maes -mpclmul
--
2.26.2.672.g232c24e857

View file

@ -3,17 +3,17 @@
_nsprver=4.25
pkgname=nss
version=3.52.1
version=3.53
revision=1
hostmakedepends="perl"
makedepends="nspr-devel sqlite-devel zlib-devel"
depends="nspr>=${_nsprver}"
short_desc="Mozilla Network Security Services"
maintainer="Doan Tran Cong Danh <congdanhqx@gmail.com>"
maintainer="Đoàn Trần Công Danh <congdanhqx@gmail.com>"
license="MPL-2.0"
homepage="https://www.mozilla.org/projects/security/pki/nss"
distfiles="${MOZILLA_SITE}/security/nss/releases/NSS_${version//\./_}_RTM/src/nss-${version}.tar.gz"
checksum=bcc81ac33aeb4ecad182dc21e34d2c97bcc148fd7b9e76f85bebb892405a9278
checksum=08d36dc1a56325f02e626626d4eeab9c4d126dbd99dfaf419b91d0a696f58917
do_build() {
local _native_use64 _target_use64
@ -46,7 +46,7 @@ do_build() {
cd nss
# Build nsinstall for host.
make LD=$BUILD_LD LDFLAGS="$BUILD_LDFLAGS" ${_native_use64} -C coreconf
make ${makejobs} LD=$BUILD_LD LDFLAGS="$BUILD_LDFLAGS" ${_native_use64} -C coreconf
if [ "$CROSS_BUILD" ]; then
case "$XBPS_TARGET_MACHINE" in
@ -74,18 +74,18 @@ do_build() {
export NSPR_LIB_DIR=${XBPS_CROSS_BASE}/usr/lib
export XCFLAGS="${CFLAGS}"
make CROSS_COMPILE=1 OS_TEST="${_ARCH}" NSINSTALL="${wrksrc}/nsinstall" \
CC="$CC" CCC="$CXX" RANLIB="$RANLIB" ${_target_use64} -C lib/dbm
make CROSS_COMPILE=1 OS_TEST="${_ARCH}" NSINSTALL="${wrksrc}/nsinstall" \
CC="$CC" CCC="$CXX" RANLIB="$RANLIB" ${_target_use64}
make ${makejobs} \
CROSS_COMPILE=1 OS_TEST="${_ARCH}" \
NSINSTALL="${wrksrc}/nsinstall" \
CC="$CC" CCC="$CXX" RANLIB="$RANLIB" ${_target_use64} \
all
else
# native build
export NSPR_INCLUDE_DIR=/usr/include/nspr
export NSPR_LIB_DIR=/usr/lib
export XCFLAGS="${CFLAGS}"
make ${_native_use64} -C lib/dbm
make ${_native_use64}
make ${makejobs} ${_native_use64} all
fi
}