summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan-Marek Glogowski <glogow@fbihome.de>2020-07-27 12:41:32 +0000
committerJan-Marek Glogowski <glogow@fbihome.de>2020-07-27 12:41:32 +0000
commitcd2ba069c2d8a82c45dc8bd8e3b03786cffb7a62 (patch)
tree4d788bccfd698b4ca059fc074548ecc950ad3da7
parent8ce824e27f8d00c7b7ef0c8285b99fc52a3bfc0b (diff)
downloadnss-hg-cd2ba069c2d8a82c45dc8bd8e3b03786cffb7a62.tar.gz
Bug 1652032 Disable all freebl assembler code for MSVC arm64 r=rrelyea,bbeurdouche
There are two places, where NSS tries to compile either x86_64 MSVC assembler or GCC aarch64 code, which will fail the build. And also drop the non-MSVC arch build flags for them. AFAI could identify, there isn't any armasm64 compatible asm code in the whole NSS library, so I don't even adapt AS for the build. The cross-build finishes this way. Differential Revision: https://phabricator.services.mozilla.com/D83137
-rw-r--r--lib/freebl/Makefile7
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/freebl/Makefile b/lib/freebl/Makefile
index c205813b4..0a437ce33 100644
--- a/lib/freebl/Makefile
+++ b/lib/freebl/Makefile
@@ -119,10 +119,12 @@ else
DEFINES += -DNSS_X86
endif
endif
+ifdef NS_USE_GCC
ifeq ($(CPU_ARCH),aarch64)
DEFINES += -DUSE_HW_AES -DUSE_HW_SHA2
EXTRA_SRCS += aes-armv8.c gcm-aarch64.c sha256-armv8.c
endif
+endif
ifeq ($(CPU_ARCH),arm)
ifndef NSS_DISABLE_ARM32_NEON
EXTRA_SRCS += gcm-arm32-neon.c
@@ -198,6 +200,7 @@ else
ifdef BUILD_OPT
OPTIMIZER += -Ox # maximum optimization for freebl
endif
+ifeq ($(CPU_ARCH),x86_64)
ASFILES = arcfour-amd64-masm.asm mpi_amd64_masm.asm mp_comba_amd64_masm.asm
DEFINES += -DNSS_BEVAND_ARCFOUR -DMPI_AMD64 -DMP_ASSEMBLY_MULTIPLY
DEFINES += -DNSS_USE_COMBA
@@ -215,6 +218,7 @@ else
endif
endif
endif
+endif
ifeq ($(OS_TARGET),IRIX)
ifeq ($(USE_N32),1)
@@ -716,11 +720,14 @@ ifndef NSS_DISABLE_ARM32_NEON
$(OBJDIR)/$(PROG_PREFIX)gcm-arm32-neon$(OBJ_SUFFIX): CFLAGS += -mfpu=neon$(if $(USES_SOFTFLOAT_ABI), -mfloat-abi=softfp)
endif
endif
+
+ifdef NS_USE_GCC
ifeq ($(CPU_ARCH),aarch64)
$(OBJDIR)/$(PROG_PREFIX)aes-armv8$(OBJ_SUFFIX): CFLAGS += -march=armv8-a+crypto
$(OBJDIR)/$(PROG_PREFIX)gcm-aarch64$(OBJ_SUFFIX): CFLAGS += -march=armv8-a+crypto
$(OBJDIR)/$(PROG_PREFIX)sha256-armv8$(OBJ_SUFFIX): CFLAGS += -march=armv8-a+crypto
endif
+endif
ifeq ($(CPU_ARCH),ppc)
ifndef NSS_DISABLE_ALTIVEC