current mainline build fails for some arm boards
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 <[email protected]> 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).
: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' ofgit://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
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Hello Stephen,
Am 06.06.2016 um 08:42 schrieb Heiko Schocher:
Quoted 17 lines
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(quoted diff) +7
-0+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
Quoted 1 line
for some boards ...
Sorry for the noise, a fix is already sent from Marek:
http://patchwork.ozlabs.org/patch/630318/
bye,
Heiko
Signature · 2 lines
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany