diff options
| author | Stephen Rothwell <sfr@canb.auug.org.au> | 2012-03-20 14:13:51 +1100 | 
|---|---|---|
| committer | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2012-03-21 11:16:13 +1100 | 
| commit | dfbc2d75c1bd47c3186fa91f1655ea2f3825b0ec (patch) | |
| tree | fcf40239b8b08b1072d14e0ec8f336be30fa0ae2 | |
| parent | a6626ffe09d379bad4d0e49885f9195946ac875d (diff) | |
| download | olio-linux-3.10-dfbc2d75c1bd47c3186fa91f1655ea2f3825b0ec.tar.xz olio-linux-3.10-dfbc2d75c1bd47c3186fa91f1655ea2f3825b0ec.zip  | |
powerpc/ps3: Do not adjust the wrapper load address
Commit c55aef0e5bc6 "powerpc/boot: Change the load address for the wrapper
to fit the kernel" adjusted the laod address if the uncompressed kernel
was too large.  Ps3 does not compress the kernel and uses a different
linker script, so do not adjust the load address in that case.
fixes this build error:
powerpc64-linux-ld: section .text loaded at [0000000000e00000,0000000000e0721b] overlaps section .kernel:dtb loaded at [0000000000e00000,0000000000e0066f]
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
| -rwxr-xr-x | arch/powerpc/boot/wrapper | 22 | 
1 files changed, 13 insertions, 9 deletions
diff --git a/arch/powerpc/boot/wrapper b/arch/powerpc/boot/wrapper index f090e6d2907..6761c746048 100755 --- a/arch/powerpc/boot/wrapper +++ b/arch/powerpc/boot/wrapper @@ -144,6 +144,7 @@ tmp=$tmpdir/zImage.$$.o  ksection=.kernel:vmlinux.strip  isection=.kernel:initrd  link_address='0x400000' +make_space=y  case "$platform" in  pseries) @@ -210,6 +211,7 @@ ps3)      ksection=.kernel:vmlinux.bin      isection=.kernel:initrd      link_address='' +    make_space=n      pie=      ;;  ep88xc|ep405|ep8248e) @@ -278,17 +280,19 @@ else      rm -f $vmz.$$  fi -# Round the size to next higher MB limit -round_size=$(((strip_size + 0xfffff) & 0xfff00000)) +if [ "$make_space" = "y" ]; then +	# Round the size to next higher MB limit +	round_size=$(((strip_size + 0xfffff) & 0xfff00000)) -round_size=0x$(printf "%x" $round_size) -link_addr=$(printf "%d" $link_address) +	round_size=0x$(printf "%x" $round_size) +	link_addr=$(printf "%d" $link_address) -if [ $link_addr -lt $strip_size ]; then -    echo "INFO: Uncompressed kernel (size 0x$(printf "%x\n" $strip_size))" \ -		"overlaps the address of the wrapper($link_address)" -    echo "INFO: Fixing the link_address of wrapper to ($round_size)" -    link_address=$round_size +	if [ $link_addr -lt $strip_size ]; then +	    echo "INFO: Uncompressed kernel (size 0x$(printf "%x\n" $strip_size))" \ +			"overlaps the address of the wrapper($link_address)" +	    echo "INFO: Fixing the link_address of wrapper to ($round_size)" +	    link_address=$round_size +	fi  fi  vmz="$vmz$gzip"  |