[U-Boot] [PATCH 11/12] arm: lib: Split asm symbols into different .text subsections

Stephen Warren swarren at wwwdotorg.org
Fri Jun 3 18:02:52 CEST 2016


On 05/26/2016 10:01 AM, Marek Vasut wrote:
> Split each symbol in lib1funcs into different .text.foo section instead
> of placing all of them into plain .text . This allows the linker to collect
> and discard unused assembler symbols.

This patch causes Tegra-boards-that-use-SPL (i.e. all ARMv7 boards but 
not ARMv8) to fail to boot with zero output. Taking u-boot.git master 
branch and reverting this one patch is enough to make U-Boot work again.

I haven't investigated how to solve this yet. Likely relevant background:

32-bit Tegra SPL runs on an ARM1176 CPU whereas main U-Boot runs on an 
ARMv7 CPU. We need to use PRIVATE_LIBGCC (at least for SPL) since the 
libgcc in the toolchains we use is compiled for ARMv7, and hence picking 
it up in SPL breaks boot. I wonder if these section name changes are 
causing the linker to pull in the toolchain's libgcc rather than using 
U-Boot's copy compiled for ARM1176?


More information about the U-Boot mailing list