mirror of https://gitee.com/openkylin/linux.git
powerpc/ps3: Do not adjust the wrapper load address
Commit c55aef0e5b
"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>
This commit is contained in:
parent
a6626ffe09
commit
dfbc2d75c1
|
@ -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"
|
||||
|
|
Loading…
Reference in New Issue