--- a/make-linux.mk 2019-09-27 21:35:39.000000000 -0700 +++ b/make-linux.mk 2019-09-27 21:36:01.000000000 -0700 @@ -118,6 +118,7 @@ # Determine system build architecture from compiler target CC_MACH=$(shell $(CC) -dumpmachine | cut -d '-' -f 1) ZT_ARCHITECTURE=999 +ZT_DISABLE_NEON?= ifeq ($(CC_MACH),x86_64) ZT_ARCHITECTURE=2 ZT_USE_X64_ASM_SALSA=1 @@ -158,57 +159,57 @@ ifeq ($(CC_MACH),arm) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=0 endif ifeq ($(CC_MACH),armel) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=1 endif ifeq ($(CC_MACH),armhf) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=0 endif ifeq ($(CC_MACH),armv6) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=1 endif ifeq ($(CC_MACH),armv6l) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=1 endif ifeq ($(CC_MACH),armv6zk) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=1 endif ifeq ($(CC_MACH),armv6kz) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=1 endif ifeq ($(CC_MACH),armv7) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=0 endif ifeq ($(CC_MACH),armv7a) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=0 endif ifeq ($(CC_MACH),armv7l) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=0 endif ifeq ($(CC_MACH),armv7hl) ZT_ARCHITECTURE=3 override DEFS+=-DZT_NO_TYPE_PUNNING - ZT_USE_ARM32_NEON_ASM_CRYPTO=1 + ZT_DISABLE_NEON?=0 endif ifeq ($(CC_MACH),arm64) ZT_ARCHITECTURE=4 @@ -268,10 +269,13 @@ override CFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm override CXXFLAGS+=-march=armv5 -mfloat-abi=soft -msoft-float -mno-unaligned-access -marm ZT_USE_ARM32_NEON_ASM_CRYPTO=0 - else - override CFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions - override CXXFLAGS+=-march=armv5 -mno-unaligned-access -marm -fexceptions + endif + ifeq ($(ZT_DISABLE_NEON),1) + override CFLAGS+=-mno-unaligned-access -marm -fexceptions + override CXXFLAGS+=-mno-unaligned-access -marm -fexceptions ZT_USE_ARM32_NEON_ASM_CRYPTO=0 + else + ZT_USE_ARM32_NEON_ASM_CRYPTO=1 endif endif