
Hello All,
I am new to U-Boot. We develop appl. on coldfire M5275EVB with uclinux 2.6, and intent to use U-Boot as boot loader.
- Use the gcc3.4.0 toolchain, binutils binutils-2.15.90.0.1.1 from http://www.uclinux.org/pub/uClinux/m68k-elf-tools/gcc-3/
- I download u-boot from CVS, so latest version.
- Tried to compile for M5272C3_config did make M5272C3_config make
- got following error: ---------------------- make[1]: Leaving directory `/cygdrive/c/project/U-Boot_20050803/u-boot/post/cpu' m68k-elf-gcc -Wa,-gstabs -D__ASSEMBLY__ -g -Os -ffixed-d7 -msep-data -D__ KERNEL__ -DTEXT_BASE=0xffe00000 -I/cygdrive/c/project/U-Boot_20050803/u-boot /include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc/i686-pc-cygwin/3.4.4/include -pipe -DCONFIG_M68K -D__M68K__ -m 5307 -c -o cpu/mcf52x2/start.o /cygdrive/c/project/U-Boot_20050803/u-boot/cpu/mcf52x2/start.S /cygdrive/c/project/U-Boot_20050803/u-boot/cpu/mcf52x2/start.S: Assembler messages: /cygdrive/c/project/U-Boot_20050803/u-boot/cpu/mcf52x2/start.S:345: Fatal error: Tried to convert PC relative conditional branch to absolute jump make: *** [cpu/mcf52x2/start.o] Error 1 ----------------------- - found the same error in the mail list, see http://sourceforge.net/mailarchive/message.php?msg_id=10000351 but no real solution mentioned.
- found that the compiler option -msep-data is the reason for this error.
- removed -msep-data from cpu/mcf52x2/config.mk
- now compiling proceeds, but next error occurs:
make -C `dirname board/m5272c3/libm5272c3.a` make[1]: Entering directory `/cygdrive/c/project/U-Boot_20050803/u-boot/board/m5272c3' m68k-elf-gcc -g -Os -ffixed-d7 -D__KERNEL__ -DTEXT_BASE=0xffe00000 -I/cyg drive/c/project/U-Boot_20050803/u-boot/include -fno-builtin -ffreestanding - nostdinc -isystem /usr/local/m68k-uclinux-tools/lib/gcc/m68k-uclinux/3.4.0/include -pipe -DCO NFIG_M68K -D__M68K__ -m5307 -Wall -Wstrict-prototypes -c -o m5272c3.o m5272c3.c m68k-elf-gcc -g -Os -ffixed-d7 -D__KERNEL__ -DTEXT_BASE=0xffe00000 -I/cyg drive/c/project/U-Boot_20050803/u-boot/include -fno-builtin -ffreestanding - nostdinc -isystem /usr/local/m68k-uclinux-tools/lib/gcc/m68k-uclinux/3.4.0/include -pipe -DCO NFIG_M68K -D__M68K__ -m5307 -Wall -Wstrict-prototypes -c -o flash.o flash.c flash.c: In function `flash_print_info': flash.c:68: error: label at end of compound statement make[1]: *** [flash.o] Error 1 make[1]: Leaving directory `/cygdrive/c/project/U-Boot_20050803/u-boot/board/m5272c3' make: *** [board/m5272c3/libm5272c3.a] Error 2
this flash.c file is version 1.1 from 2003/12/08.
- ok, made patch in flash.c compiling proceeds, but next error:
UNDEF_SYM=`m68k-elf-objdump -x lib_generic/libgeneric.a board/m5272c3/libm5272c3.a cpu/mcf52x2/libmcf52x2.a lib_m68k/libm68k.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 rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a |sed -n -e 's/.*(__u_boot_cmd_.*)/-u\1/p'|sort|uniq`;\ m68k-elf-ld -Bstatic -T /cygdrive/c/project/U-Boot_20050803/u-boot/board/m5272c3/u-boot.lds -Ttext 0xffe00000 -n $UNDEF_SYM cpu/mcf52x2/start.o \ --start-group lib_generic/libgeneric.a board/m5272c3/libm5272c3.a cpu/mcf52x2/libmcf52x2.a lib_m68k/libm68k.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 rtc/librtc.a dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a post/cpu/libcpu.a common/libcommon.a --end-group -L /usr/local/m68k-uclinux-tools/lib/gcc/m68k-uclinux/3.4.0/m5307 -lgcc \ -Map u-boot.map -o u-boot /cygdrive/x/uCLinux/install/bin/m68k-elf-ld.real: internal error /cygdrive/x/uCLinux/binutils-2.15.90.0.1.1/ld/ldlang.c 1977 make: *** [u-boot] Error 1
code from binutils:
int lang_symbol_definition_iteration (const char *name) { struct lang_definedness_hash_entry *defentry = (struct lang_definedness_hash_entry *) bfd_hash_lookup (&lang_definedness_table, name, FALSE, FALSE);
/* We've already created this one on the presence of DEFINED in the script, so it can't be NULL unless something is borked elsewhere in the code. */ if (defentry == NULL) line 1977: FAIL (); ^^^^^^^^^^^^^^^^^^^^^^
return defentry->iteration; }
======================================================
so my overall questions, Is then main reason for this problems that I use GCC3.4.0 toolchain ?? Are other people using U-Boot for coldfire M52xx ?? and did run into same problems ?? I like to hear from their solutions/advices.
=======================================================
Thanks in advance.
Teun Grinwis
Adesys BV Molenweer 4, 2291 NR Postbus 60, 2290 AB Wateringen (NL) Tel.: +31 174 296389 Fax : +31 174 293807 www.adesys.nl