From 0fc490956baf9255ebc7c97ffa7fbbbbe871c316 Mon Sep 17 00:00:00 2001 From: Robin Kastberg Date: Thu, 5 Jun 2025 09:52:11 +0000 Subject: [PATCH] iar: linker: Do `--whole_archive` linking Instead of getting names of all object files, link against libraries using `--whole_archive` Signed-off-by: Robin Kastberg --- cmake/linker/iar/target.cmake | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cmake/linker/iar/target.cmake b/cmake/linker/iar/target.cmake index 3553b1f196c..b8319a4751f 100644 --- a/cmake/linker/iar/target.cmake +++ b/cmake/linker/iar/target.cmake @@ -83,9 +83,9 @@ function(toolchain_ld_link_elf) ${ARGN} # input args to parse ) - foreach(lib ${ZEPHYR_LIBS_PROPERTY}) - list(APPEND ZEPHYR_LIBS_OBJECTS $) - list(APPEND ZEPHYR_LIBS_OBJECTS $) + set(whole_libs) + foreach(lib ${WHOLE_ARCHIVE_LIBS}) + list(APPEND whole_libs --whole_archive ${lib}) endforeach() set(ILINK_SEMIHOSTING) @@ -117,8 +117,8 @@ function(toolchain_ld_link_elf) --map=${TOOLCHAIN_LD_LINK_ELF_OUTPUT_MAP} --log_file=${TOOLCHAIN_LD_LINK_ELF_OUTPUT_MAP}.log - ${ZEPHYR_LIBS_OBJECTS} - kernel + ${whole_libs} + ${NO_WHOLE_ARCHIVE_LIBS} $ --entry=$