blob: 15a2bac890bc51c5ac278621e1cb5e8833e8ee8c [file]
diff -ur misc/nss-3.39/nspr/configure misc/build/nss-3.39/nspr/configure
--- misc/nss-3.39/nspr/configure 2018-08-28 05:42:28.000000000 -0700
+++ misc/build/nss-3.39/nspr/configure 2020-10-06 07:41:59.563345390 -0700
@@ -6570,8 +6570,14 @@
AS='$(CC) -x assembler-with-cpp'
CFLAGS="$CFLAGS -Wall -fno-common"
case "${target_cpu}" in
+ aarch64|arm64)
+ CPU_ARCH=arm64
+ ;;
arm*)
- CPU_ARCH=arm
+ # On Apple Silicon the bundled config.guess reports the bare CPU
+ # "arm"; the macOS arch name is "arm64" (plain "arm" makes ld pick
+ # the nonexistent armv4t). Treat any arm on Darwin as arm64.
+ CPU_ARCH=arm64
;;
i*86*|x86_64)
if test -n "$USE_64"; then
diff -ur misc/nss-3.39/nss/coreconf/Darwin.mk misc/build/nss-3.39/nss/coreconf/Darwin.mk
--- misc/nss-3.39/nss/coreconf/Darwin.mk 2018-08-31 05:55:53.000000000 -0700
+++ misc/build/nss-3.39/nss/coreconf/Darwin.mk 2020-10-06 07:51:49.590356560 -0700
@@ -32,7 +32,13 @@
endif
else
ifeq (arm,$(CPU_ARCH))
-# Nothing set for arm currently.
+# Apple Silicon: "uname -p" reports "arm", but NSS uses "aarch64" as its
+# 64-bit ARM token. freebl's Makefile selects the 64-bit HACL crypto
+# (e.g. Hacl_Poly1305_64.c) only for CPU_ARCH=aarch64, which also matches the
+# __aarch64__ macro the compiler defines and that chacha20poly1305.c keys on;
+# leaving it as "arm" builds the 32-bit sources and the 64-bit symbol refs go
+# unresolved. No -arch flag needed -- the build is native arm64.
+override CPU_ARCH = aarch64
else
OS_REL_CFLAGS = -Dppc
CC += -arch ppc
diff -ur misc/nss-3.39/nss/lib/sqlite/config.mk misc/build/nss-3.39/nss/lib/sqlite/config.mk
--- misc/nss-3.39/nss/lib/sqlite/config.mk 2018-08-31 05:55:53.000000000 -0700
+++ misc/build/nss-3.39/nss/lib/sqlite/config.mk 2018-09-10 10:36:01.074375000 -0700
@@ -35,9 +35,9 @@
# OSAtomicCompareAndSwapPtrBarrier, which is only available on Mac OS X 10.5
# (Darwin 9.0) and later. Define SQLITE_WITHOUT_ZONEMALLOC to disable
# that code for older versions of Mac OS X. See bug 820374.
-DARWIN_VER_MAJOR := $(shell uname -r | cut -f1 -d.)
-DARWIN_LT_9 := $(shell [ $(DARWIN_VER_MAJOR) -lt 9 ] && echo true)
-ifeq ($(DARWIN_LT_9),true)
+OSX_TARGET_MINOR := $(shell echo $(MACOSX_DEPLOYMENT_TARGET) | cut -f2 -d.)
+OSX_MINOR_LT_5 := $(shell [ $(OSX_TARGET_MINOR) -lt 5 ] && echo true)
+ifeq ($(OSX_MINOR_LT_5),true)
OS_CFLAGS += -DSQLITE_WITHOUT_ZONEMALLOC
endif
endif # Darwin