On Tue, 1 Jun 2021 16:59:52 +0200 Patrick DELAUNAY <patrick.delau...@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