[U-Boot] ppc_4xx-objcopy is eating my RAM

Jerry Van Baren gerald.vanbaren at ge.com
Thu Oct 29 22:16:04 CET 2009


alan A. A wrote:
> Hi,
>  
> when i try to build u-boot 1.3.2, i get the following error:
>  
>  
> make[1]: Leaving directory `/home/ctech/ppc/package/usr/src/u-boot-1.3.2/board/CT/lx411s'
> UNDEF_SYM=`ppc_4xx-objdump -x lib_generic/libgeneric.a board/CT/lx411s/liblx411s.a cpu/ppc4xx/libppc4xx.a lib_ppc/libppc.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/dma/libdma.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/nand_legacy/libnand_legacy.a drivers/mtd/onenand/libonenand.a drivers/net/libnet.a drivers/net/sk98lin/libsk98lin.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/spi/libspi.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/usb/libusb.a drivers/video/libvideo.a post/libpost.a post/drivers/libpostdrivers.a post/lib_ppc/libpostppc.a post/lib_ppc/fpu/libpostppcfpu.a post/cpu/ppc4xx/libpostppc4xx.a common/libcommon.a common/jpeg/libjpeg.a libfdt/libfdt.a api/
libapi.a |sed  -n -e 's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
>   cd /home/ctech/ppc/package/usr/src/u-boot-1.3.2 && ppc_4xx-ld -Bstatic -T /home/ctech/ppc/package/usr/src/u-boot-1.3.2/board/CT/lx411s/u-boot.lds  -n -Ttext 0xfffd0000 $UNDEF_SYM cpu/ppc4xx/start.o cpu/ppc4xx/resetvec.o \
>    --start-group lib_generic/libgeneric.a board/CT/lx411s/liblx411s.a cpu/ppc4xx/libppc4xx.a lib_ppc/libppc.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.a fs/ext2/libext2fs.a net/libnet.a disk/libdisk.a drivers/bios_emulator/libatibiosemu.a drivers/block/libblock.a drivers/dma/libdma.a drivers/hwmon/libhwmon.a drivers/i2c/libi2c.a drivers/input/libinput.a drivers/misc/libmisc.a drivers/mtd/libmtd.a drivers/mtd/nand/libnand.a drivers/mtd/nand_legacy/libnand_legacy.a drivers/mtd/onenand/libonenand.a drivers/net/libnet.a drivers/net/sk98lin/libsk98lin.a drivers/pci/libpci.a drivers/pcmcia/libpcmcia.a drivers/spi/libspi.a drivers/rtc/librtc.a drivers/serial/libserial.a drivers/usb/libusb.a drivers/video/libvideo.a post/libpost.a post/drivers/libpostdrivers.a post/lib_ppc/libpostppc.a post/lib_ppc/fpu/libpostppcfpu.a post/cpu/ppc4xx/libpostppc4xx.a common/libcommon.a common/jpeg/libjpeg.a libfdt/libfdt.a api/libapi.a --en
d-group -L /home/ctech/ppc/package/usr/bin/../lib/gcc/powerpc-linux/4.2.2/pic -lgcc \
>    -Map u-boot.map -o u-boot
> 
> ppc_4xx-objcopy --gap-fill=0xff -O srec u-boot u-boot.srec
> ppc_4xx-objcopy: u-boot.srec: Bad value
> ^Cmake: *** Deleting file `u-boot.srec'
> make: *** [u-boot.srec] Interrupt
> 
> if i do not interrupt it, it eats all of RAM and Swapfile. I do not know what is causing this error.
> Any ideas?

You have a LARGE hole in your memory map (something is linked at the 
start of memory and something is linked at the end of memory) and 
objdump is merrily filling it with 0xFF.  You are probably creating a 
4GB output file that is nearly all 0xFF.

Use ${CROSS_COMPILE}objdump -h on your .elf file to see where things are 
located, then fix your memory map.

gvb


More information about the U-Boot mailing list