[PATCH u-boot v4 00/36] U-Boot LTO (Sandbox + Some ARM boards)

Marek Behún marek.behun at nic.cz
Tue Jun 1 18:22:30 CEST 2021


On Tue, 1 Jun 2021 16:59:52 +0200
Patrick DELAUNAY <patrick.delaunay at foss.st.com> wrote:

> Hi Marek,
> 
> I am trying to activate CONFIG_LTO for STMicroelectronics stm32mp15 
> platform
> 
> (stm32mp15_trusted_defconfig and stm32mp15_basic_defconfig).
> 
> 
> The config stm32mp15_basic_defconfig, with SPL supported failed to
> boot
> 
> with gcc-arm-9.2-2019.12.
> 
> because a weak function is not correctly handle between
> 
> 1/ ./arch/arm/lib/cache-cp15.c: 96
> 
>      __weak void dram_bank_mmu_setup(int bank);
> 
> 2/ the stm32mp implementation in
> 
>     arch/arm/mach-stm32mp/cpu.c:62
> 
>     void dram_bank_mmu_setup(int bank)
> 
> => The used function in SPL is the cache library, not the stm32mp
> function.  
> 
>        and SPL boot it OK when I remove the function in the cache
> library...
> 
> 
> And the issue is also solved with I use a more recent version
> 
> gcc-arm-10.2-2020.11 on my PC.
> 
> 
> Do you see the same kind of issue for old version of gcc ?
> 
> 
> Do you think CONFIG_LTO require a more recent version of gcc that
> 
> the minimal version required by U-Boot  because I don't see this 
> information
> 
> in the serie?

I only tried compiling with older versions in the CI.

On the devices for which I tested it I only compiled with newer gcc
(10.2.0) since it is the stable version on my system.

But yeah, I suggest to use newer GCC for LTO.

Marek


More information about the U-Boot mailing list