diff --git a/hal/stm32h7.ld b/hal/stm32h7.ld index 29c73711..dfde5f78 100644 --- a/hal/stm32h7.ld +++ b/hal/stm32h7.ld @@ -22,6 +22,12 @@ SECTIONS *(.ARM.exidx*) } > FLASH + .keystore : + { + . = ALIGN(4); + KEEP(*(.keystore*)) + } > FLASH + _stored_data = .; .data : AT (_stored_data) { diff --git a/options.mk b/options.mk index bf32d118..41bb6e0f 100644 --- a/options.mk +++ b/options.mk @@ -803,7 +803,13 @@ ifeq ($(WOLFCRYPT_TZ_PKCS11),1) CFLAGS+=-DCK_CALLABLE="__attribute__((cmse_nonsecure_entry))" CFLAGS+=-I$(WOLFBOOT_LIB_WOLFPKCS11) CFLAGS+=-DWP11_HASH_PIN_COST=3 - LDFLAGS+=--specs=nano.specs + ifeq ($(USE_CLANG),1) + CLANG_MULTILIB_FLAGS:=$(filter -mthumb -mlittle-endian,$(LDFLAGS)) $(filter -mcpu=%,$(CFLAGS)) + LIBS+=$(shell $(CLANG_GCC_NAME) $(CLANG_MULTILIB_FLAGS) -print-file-name=libc.a) + LIBS+=$(shell $(CLANG_GCC_NAME) $(CLANG_MULTILIB_FLAGS) -print-libgcc-file-name) + else + LDFLAGS+=--specs=nano.specs + endif WOLFCRYPT_OBJS+=src/store_sbrk.o WOLFCRYPT_OBJS+=src/pkcs11_store.o WOLFCRYPT_OBJS+=src/pkcs11_callable.o @@ -850,7 +856,13 @@ ifeq ($(WOLFCRYPT_TZ_PSA),1) CFLAGS+=-DNO_DES3 -DNO_DES3_TLS_SUITES WOLFPSA_CFLAGS+=-I$(WOLFBOOT_LIB_WOLFPSA) WOLFPSA_CFLAGS+=-I$(WOLFBOOT_LIB_WOLFPSA)/wolfpsa - LDFLAGS+=--specs=nano.specs + ifeq ($(USE_CLANG),1) + CLANG_MULTILIB_FLAGS:=$(filter -mthumb -mlittle-endian,$(LDFLAGS)) $(filter -mcpu=%,$(CFLAGS)) + LIBS+=$(shell $(CLANG_GCC_NAME) $(CLANG_MULTILIB_FLAGS) -print-file-name=libc.a) + LIBS+=$(shell $(CLANG_GCC_NAME) $(CLANG_MULTILIB_FLAGS) -print-libgcc-file-name) + else + LDFLAGS+=--specs=nano.specs + endif WOLFCRYPT_OBJS+=src/store_sbrk.o WOLFCRYPT_OBJS+=src/psa_store.o WOLFCRYPT_OBJS+=src/arm_tee_psa_veneer.o diff --git a/test-app/ARM-stm32h7.ld b/test-app/ARM-stm32h7.ld index 7c595fab..4b44d6bd 100644 --- a/test-app/ARM-stm32h7.ld +++ b/test-app/ARM-stm32h7.ld @@ -18,6 +18,12 @@ SECTIONS _end_text = .; } > FLASH + .edidx : + { + . = ALIGN(4); + *(.ARM.exidx*) + } > FLASH + _stored_data = .; .data : AT (_stored_data) diff --git a/test-app/Makefile b/test-app/Makefile index 9daa13af..5ea76254 100644 --- a/test-app/Makefile +++ b/test-app/Makefile @@ -303,8 +303,9 @@ ifeq ($(TZEN),1) CFLAGS+=-DWOLFBOOT_SECURE_CALLS ifneq ($(USE_CLANG),1) CFLAGS+=-Wstack-usage=19184 + LDFLAGS+=--specs=nosys.specs endif - LDFLAGS+=--specs=nosys.specs -u _printf_float + LDFLAGS+=-u _printf_float endif ifeq ($(WOLFCRYPT_TZ_PSA),1) CFLAGS+=-DWOLFCRYPT_TZ_PSA -DWOLFSSL_HAVE_PSA