ARM: zImage: make sure no GOTOFF relocs are used with .bss symbols
authorNicolas Pitre <nicolas.pitre@linaro.org>
Wed, 27 Apr 2011 18:54:39 +0000 (14:54 -0400)
committerNicolas Pitre <nico@fluxnic.net>
Sat, 7 May 2011 04:08:03 +0000 (00:08 -0400)
commit8d7e4cc2c8ea1d180d32d902eb899f27d3ee53d7
tree899c64ebde52465cfae79f4908602ae4883e4c1e
parent8ea0de4b8831513924e3ec6a17bb721fabf97055
ARM: zImage: make sure no GOTOFF relocs are used with .bss symbols

To be able to relocate the .bss section at run time independently from
the rest of the code, we must make sure that no GOTOFF relocations are
used with .bss symbols.  This usually means that no global variables can
be marked static unless they're also const.

To enforce this, suffice to fail the build whenever a private symbol
is allocated to .bss and list those symbols for convenience.

The user_stack and user_stack_end labels in head.S were converted into
non exported symbols to remove false positives.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Tested-by: Tony Lindgren <tony@atomide.com>
arch/arm/boot/compressed/Makefile
arch/arm/boot/compressed/head.S