[U-Boot] current mainline build fails for some arm boards

Heiko Schocher hs at denx.de
Mon Jun 6 08:42:43 CEST 2016


Hello Stephen,

I see when building current mainline with:

$ ./tools/buildman/buildman arm
boards.cfg is up to date. Nothing to do.
Building current source for 562 boards (8 threads, 1 job per thread)
        arm:  +   VCMA9
+arch/arm/lib/lib1funcs.S: Assembler messages:
+arch/arm/lib/lib1funcs.S:358: Error: bad size 0 in type specifier
+arch/arm/lib/lib1funcs.S:358: Error: bad instruction `_.pushsection .text.__gnu_thumb1_case_uqi,"ax"'
+arch/arm/lib/lib1funcs.S:370: Warning: .popsection without corresponding .pushsection; ignored
+make[2]: *** [arch/arm/lib/lib1funcs.o] Error 1
+make[1]: *** [arch/arm/lib] Error 2
+make: *** [sub-make] Error 2
[...]

for some boards ...

git bisect says:

$ git bisect good
b2f1858455e99a91aeafe59ac73c6c047106d5e8 is the first bad commit
commit b2f1858455e99a91aeafe59ac73c6c047106d5e8
Author: Stephen Warren <swarren at nvidia.com>
Date:   Fri Jun 3 13:05:11 2016 -0600

     arm: lib: fix push/pop-section directives

     With the existing code, function symbols are defined in .text, and the
     body is defined in .text.xxx. This causes (at least some version of) the
     linker not to emit the function body into the final binary, since it's
     part of a different section to the symbols being referenced. This of
     course causes a wide variety of failures.

     This change moves the push/pop-section directives before the function
     symbols, and after any relate ENDPROC macro invocations, so that symbols
     and bodies are all in the "pushed" sections, and thus the function bodies
     are emitted into the binary.

     This solves (at least) the boot problems currently seen on Tegra systems
     that use SPL (i.e. all ARMv7 Tegras).

     Fixes: 13b0a91a6d48 ("arm: lib: Split asm symbols into different .text subsections")
     Cc: Marek Vasut <marex at denx.de>
     Cc: Tom Warren <twarren at nvidia.com>
     Cc: Simon Glass <sjg at chromium.org>
     Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
     Signed-off-by: Stephen Warren <swarren at nvidia.com>

:040000 040000 48878602d5d6769533fa4a979b70aec516ee5093 c791993ebe2e3cb88de6bdfdb05f21ea9f1a04b6 M 
     arch
pollux:u-boot hs [(kein Branch, binäre Suche begonnen bei master)] $ git bisect log
git bisect start
# bad: [b2f1858455e99a91aeafe59ac73c6c047106d5e8] arm: lib: fix push/pop-section directives
git bisect bad b2f1858455e99a91aeafe59ac73c6c047106d5e8
# good: [03c6f1761ede305637ed54fb238b2059c597451e] serial: 16550: Drop OMAP1510 support
git bisect good 03c6f1761ede305637ed54fb238b2059c597451e
# good: [383f4a0ec78ee92c89a7ce135acbde47c84c6201] ARM: OMAP5+: Provide enable/disable_usb_clocks() 
for CONFIG_USB_XHCI_OMAP
git bisect good 383f4a0ec78ee92c89a7ce135acbde47c84c6201
# good: [d60198dac2026ca6b6732e5cd6892d3b3bebddaa] arm: am57xx: Fix omap_vcores assignment for 
am572x-idk
git bisect good d60198dac2026ca6b6732e5cd6892d3b3bebddaa
# good: [77cd5368cee8b6a5684877e1bf4d544bf271ef08] arm: socfpga: Add missing ',' in CONFIG_BOOTARGS
git bisect good 77cd5368cee8b6a5684877e1bf4d544bf271ef08
# good: [e2924e5904ae413e0b4a2a0d407267e7bbc2c7c4] ARM: k2g: Configure reset mux to device reset
git bisect good e2924e5904ae413e0b4a2a0d407267e7bbc2c7c4
# good: [edb697cfcc2dda02c5b2a34b3157b8fa8fc01264] Merge branch 'master' of 
git://git.denx.de/u-boot-socfpga
git bisect good edb697cfcc2dda02c5b2a34b3157b8fa8fc01264
# first bad commit: [b2f1858455e99a91aeafe59ac73c6c047106d5e8] arm: lib: fix push/pop-section directives
pollux:u-boot hs [(kein Branch, binäre Suche begonnen bei master)] $

Can you take a look on it?

bye,
Heiko
-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list