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

Heinrich Schuchardt xypron.glpk at gmx.de
Tue Jun 1 18:55:52 CEST 2021


On 6/1/21 6:22 PM, Marek Behún wrote:
> 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
>

gcc (Debian 11-20210327-1) 11.0.1 compiles stm32mp15_basic_defconfig
with CONFIG_LTO=y.

Best regards

Heinrich


More information about the U-Boot mailing list