diff options
author | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-07-27 12:41:32 +0000 |
---|---|---|
committer | Jan-Marek Glogowski <glogow@fbihome.de> | 2020-07-27 12:41:32 +0000 |
commit | cd2ba069c2d8a82c45dc8bd8e3b03786cffb7a62 (patch) | |
tree | 4d788bccfd698b4ca059fc074548ecc950ad3da7 | |
parent | 8ce824e27f8d00c7b7ef0c8285b99fc52a3bfc0b (diff) | |
download | nss-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/Makefile | 7 |
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 |