diff --git a/arch.mk b/arch.mk index 084e1e63bc..6f562b2286 100644 --- a/arch.mk +++ b/arch.mk @@ -1364,9 +1364,6 @@ ifeq ($(ARCH), AURIX_TC3) USE_GCC?=1 ARCH_FLASH_OFFSET=0x00000000 - # No asm for you! - MATH_OBJS+=$(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sp_c32.o - CFLAGS += -I$(TC3_DIR) -Ihal CFLAGS += -Werror @@ -1419,9 +1416,24 @@ ifeq ($(ARCH), AURIX_TC3) endif # Compiler flags + ifeq ($(NO_ASM),1) + ifeq ($(SPMATH),1) + MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sp_c32.o + endif + else + ifeq ($(SPMATH),1) + CFLAGS+=-DWOLFSSL_SP_ASM -DWOLFSSL_SP_ARM_CORTEX_M_ASM -DWOLFSSL_SP_NO_UMAAL + MATH_OBJS += $(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sp_cortexm.o + CFLAGS+=$(CORTEXM_ARM_EXTRA_CFLAGS) -DWOLFSSL_ARM_ARCH=7 + endif + endif + CFLAGS += -march=armv7-m -mcpu=cortex-m3 -mthumb -mlittle-endian \ -fno-builtin -DWOLFBOOT_AURIX_TC3XX_HSM + # Temporary fix masking wolfCrypt unused function warning with RSA_LOW_MEM + CFLAGS += -Wno-unused-function + LDFLAGS += -march=armv7-m -mcpu=cortex-m3 -mthumb -mlittle-endian -g \ --specs=nano.specs -Wl,--gc-sections -static -Wl,--cref -Wl,-n \ -ffunction-sections -fdata-sections \ @@ -1478,6 +1490,9 @@ ifeq ($(ARCH), AURIX_TC3) SIZE=$(CROSS_COMPILE)/llvm-size endif + # No asm for you! + MATH_OBJS+=$(WOLFBOOT_LIB_WOLFSSL)/wolfcrypt/src/sp_c32.o + # Arch settings for tricore ifeq ($(USE_GCC),1) CFLAGS+= -fshort-double -mtc162 -fstrict-volatile-bitfields -fno-builtin \ diff --git a/config/examples/aurix-tc375-hsm-ecc.config b/config/examples/aurix-tc375-hsm-ecc.config index c7a49f20a2..36c4fa0c56 100644 --- a/config/examples/aurix-tc375-hsm-ecc.config +++ b/config/examples/aurix-tc375-hsm-ecc.config @@ -4,7 +4,6 @@ AURIX_TC3_HSM=1 SIGN?=ECC256 HASH?=SHA256 DEBUG?=0 -NO_ASM?=1 WOLFBOOT_VERSION?=1 V?=0 SPMATH?=1 diff --git a/config/examples/aurix-tc375-hsm-wolfHSM-certs-ecc.config b/config/examples/aurix-tc375-hsm-wolfHSM-certs-ecc.config index b4f4fe56bf..db83dcb6e6 100644 --- a/config/examples/aurix-tc375-hsm-wolfHSM-certs-ecc.config +++ b/config/examples/aurix-tc375-hsm-wolfHSM-certs-ecc.config @@ -4,7 +4,6 @@ AURIX_TC3_HSM=1 SIGN?=ECC256 HASH?=SHA256 DEBUG?=0 -NO_ASM?=1 WOLFBOOT_VERSION?=1 V?=0 SPMATH?=1 diff --git a/config/examples/aurix-tc375-hsm-wolfHSM-certs-rsa4096.config b/config/examples/aurix-tc375-hsm-wolfHSM-certs-rsa4096.config index 86e4992801..af9feb1525 100644 --- a/config/examples/aurix-tc375-hsm-wolfHSM-certs-rsa4096.config +++ b/config/examples/aurix-tc375-hsm-wolfHSM-certs-rsa4096.config @@ -4,7 +4,6 @@ AURIX_TC3_HSM=1 SIGN?=RSA4096 HASH?=SHA256 DEBUG?=0 -NO_ASM?=1 WOLFBOOT_VERSION?=1 V?=0 SPMATH?=1