This is an automated email from the ASF dual-hosted git repository. acassis pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/nuttx.git
commit d2dbed685713f0431b83f4e191df9b7988024499 Author: Marco Casaroli <[email protected]> AuthorDate: Sun Oct 18 14:51:03 2026 +0200 arch/arm: Let GCC run the LTRANS jobs in parallel with LTO. With CONFIG_LTO_FULL, GCC got -flto without a number of jobs, so lto-wrapper compiled the LTRANS units one after the other and warned: lto-wrapper: warning: using serial compilation of 2 LTRANS jobs Use -flto=auto: GCC uses the jobserver of make, or else one job per CPU. Assisted-by: Claude Code:claude-opus-5-5 Signed-off-by: Marco Casaroli <[email protected]> --- arch/arm/src/cmake/gcc.cmake | 2 +- arch/arm/src/common/Toolchain.defs | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/arm/src/cmake/gcc.cmake b/arch/arm/src/cmake/gcc.cmake index b11518bab32..acbdada38f0 100644 --- a/arch/arm/src/cmake/gcc.cmake +++ b/arch/arm/src/cmake/gcc.cmake @@ -184,7 +184,7 @@ endif() if(CONFIG_LTO_THIN) add_compile_options(-flto=thin) elseif(CONFIG_LTO_FULL) - add_compile_options(-flto) + add_compile_options(-flto=auto) add_compile_options(-fuse-linker-plugin) elseif(CONFIG_LTO_FAT) add_compile_options(-flto -ffat-lto-objects) diff --git a/arch/arm/src/common/Toolchain.defs b/arch/arm/src/common/Toolchain.defs index 787e048fcd9..deea8116de3 100644 --- a/arch/arm/src/common/Toolchain.defs +++ b/arch/arm/src/common/Toolchain.defs @@ -142,9 +142,10 @@ ifeq ($(CONFIG_LTO_THIN),y) LDFLAGS += --lto endif else ifeq ($(CONFIG_LTO_FULL),y) - ARCHOPTIMIZATION += -flto ifeq ($(CONFIG_ARM_TOOLCHAIN_GNU_EABI),y) - ARCHOPTIMIZATION += -fuse-linker-plugin + ARCHOPTIMIZATION += -flto=auto -fuse-linker-plugin + else + ARCHOPTIMIZATION += -flto endif ifeq ($(CONFIG_ARM_TOOLCHAIN_ARMCLANG),y) LDFLAGS += --lto
