|
@@ -138,14 +138,20 @@ objflags=-S
|
|
|
tmp=$tmpdir/zImage.$$.o
|
|
|
ksection=.kernel:vmlinux.strip
|
|
|
isection=.kernel:initrd
|
|
|
+link_address='0x400000'
|
|
|
|
|
|
case "$platform" in
|
|
|
-pmac|pseries|chrp)
|
|
|
+pseries)
|
|
|
+ platformo=$object/of.o
|
|
|
+ link_address='0x4000000'
|
|
|
+ ;;
|
|
|
+pmac|chrp)
|
|
|
platformo=$object/of.o
|
|
|
;;
|
|
|
coff)
|
|
|
platformo=$object/of.o
|
|
|
lds=$object/zImage.coff.lds
|
|
|
+ link_address='0x500000'
|
|
|
;;
|
|
|
miboot|uboot)
|
|
|
# miboot and U-boot want just the bare bits, not an ELF binary
|
|
@@ -190,6 +196,7 @@ ps3)
|
|
|
objflags="-O binary --set-section-flags=.bss=contents,alloc,load,data"
|
|
|
ksection=.kernel:vmlinux.bin
|
|
|
isection=.kernel:initrd
|
|
|
+ link_address=''
|
|
|
;;
|
|
|
ep88xc|ep405|ep8248e)
|
|
|
platformo="$object/fixed-head.o $object/$platform.o"
|
|
@@ -272,7 +279,10 @@ if [ -n "$dtb" ]; then
|
|
|
fi
|
|
|
|
|
|
if [ "$platform" != "miboot" ]; then
|
|
|
- ${CROSS}ld -m elf32ppc -T $lds -o "$ofile" \
|
|
|
+ if [ -n "$link_address" ] ; then
|
|
|
+ text_start="-Ttext $link_address --defsym _start=$link_address"
|
|
|
+ fi
|
|
|
+ ${CROSS}ld -m elf32ppc -T $lds $text_start -o "$ofile" \
|
|
|
$platformo $tmp $object/wrapper.a
|
|
|
rm $tmp
|
|
|
fi
|