powerpc: Fix build bug with binutils < 2.18 and GCC < 4.2
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 21 Jul 2008 23:03:45 +0000 (09:03 +1000)
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>
Tue, 22 Jul 2008 00:39:37 +0000 (10:39 +1000)
commitc69cccc95fe4b90dde5fe33e6a3b77880b534fa4
treea66214423a1eb987ee0e54e8c8a67f9d955d6055
parentf36c5227cd88b6340c40d62b05859e8213740a97
powerpc: Fix build bug with binutils < 2.18 and GCC < 4.2

binutils < 2.18 has a bug that makes it misbehave when taking an
ELF file with all segments at load address 0 as input.  This
happens when running "strip" on vmlinux, because of the AT() magic
in this linker script.  People using GCC >= 4.2 won't run into
this problem, because the "build-id" support will put some data
into the "notes" segment (at a non-zero load address).

To work around this, we force some data into both the "dummy"
segment and the kernel segment, so the dummy segment will get a
non-zero load address.  It's not enough to always create the
"notes" segment, since if nothing gets assigned to it, its load
address will be zero.

Signed-off-by: Segher Boessenkool <segher@kernel.crashing.org>
Tested-By: Milton Miller <miltonm@bga.com>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
arch/powerpc/kernel/vmlinux.lds.S