From 77f2dfc38a9d26809c0656e726d2e7511a5de559 Mon Sep 17 00:00:00 2001 From: Yann Gautier Date: Wed, 24 Jun 2026 19:54:14 +0200 Subject: refactor(compiler-rt): move compiler_rt to a lib This allows a dedicated build, and avoid BL_FLAGS compilation flags. The code size does not increase, it has been checked on ST platforms: STM32MP13 and STM32MP25. Change-Id: I5ff3c40222770400a97dd4d451aeebc26fef4f2a Signed-off-by: Yann Gautier --- Makefile | 11 +++++++---- lib/compiler-rt/compiler-rt.mk | 6 ++++-- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index d8fdad14f..67defe4d1 100644 --- a/Makefile +++ b/Makefile @@ -169,8 +169,6 @@ endif ################################################################################ # Common sources and include directories ################################################################################ -include lib/compiler-rt/compiler-rt.mk - # Allow overriding the timestamp, for example for reproducible builds, or to # synchronize timestamps across multiple projects. # This must be set to a C string (including quotes where applicable). @@ -191,8 +189,7 @@ BL_COMMON_SOURCES += common/bl_common.c \ plat/common/plat_bl_common.c \ plat/common/plat_log_common.c \ plat/common/${ARCH}/plat_common.c \ - plat/common/${ARCH}/platform_helpers.S \ - ${COMPILER_RT_SRCS} + plat/common/${ARCH}/platform_helpers.S ifeq ($($(ARCH)-cc-id),arm-clang) BL_COMMON_SOURCES += lib/${ARCH}/armclang_printf.S @@ -1016,6 +1013,12 @@ endif #(SPD) ################################################################################ include ${MAKE_HELPERS_DIRECTORY}cflags.mk +################################################################################ +# Include compiler-rt. It is built with MAKE_LIB so it must be included after +# some macros are defined, especially BUILD_PLAT +################################################################################ +include lib/compiler-rt/compiler-rt.mk + ################################################################################ # Build targets ################################################################################ diff --git a/lib/compiler-rt/compiler-rt.mk b/lib/compiler-rt/compiler-rt.mk index 2b16504bf..0f9abde53 100644 --- a/lib/compiler-rt/compiler-rt.mk +++ b/lib/compiler-rt/compiler-rt.mk @@ -28,11 +28,11 @@ # POSSIBILITY OF SUCH DAMAGE. # -COMPILER_RT_SRCS := lib/compiler-rt/builtins/popcountdi2.c \ +LIBCOMPILER_RT_SRCS := lib/compiler-rt/builtins/popcountdi2.c \ lib/compiler-rt/builtins/popcountsi2.c ifeq (${ARCH},aarch32) -COMPILER_RT_SRCS += lib/compiler-rt/builtins/arm/aeabi_ldivmod.S \ +LIBCOMPILER_RT_SRCS += lib/compiler-rt/builtins/arm/aeabi_ldivmod.S \ lib/compiler-rt/builtins/arm/aeabi_uldivmod.S \ lib/compiler-rt/builtins/arm/aeabi_memcpy.S \ lib/compiler-rt/builtins/arm/aeabi_memset.S \ @@ -42,3 +42,5 @@ COMPILER_RT_SRCS += lib/compiler-rt/builtins/arm/aeabi_ldivmod.S \ lib/compiler-rt/builtins/lshrdi3.c \ lib/compiler-rt/builtins/udivmoddi4.c endif + +$(eval $(call MAKE_LIB,compiler_rt)) -- cgit v1.2.3