From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Warren Date: Fri, 3 Jun 2016 10:02:52 -0600 Subject: [U-Boot] [PATCH 11/12] arm: lib: Split asm symbols into different .text subsections In-Reply-To: <1464278507-5092-11-git-send-email-marex@denx.de> References: <1464278507-5092-1-git-send-email-marex@denx.de> <1464278507-5092-11-git-send-email-marex@denx.de> Message-ID: <5751AA2C.1010700@wwwdotorg.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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?