[U-Boot-Users] U-boot for MIPS problems compiling...

Jerry;
I did a search through the u-boot mailing list archives as I was having problems compiling for my MIPS AU1550. Ironically, you seemed to be having problems and made the exact fixes that I did in order to get as far as you did in the compile process.
However, my progress has come to a standstil as has the thread bearing your problem. I was hoping you could shed some light on the situation if you've made any progress as of 2004-01-30 19:01
Cheers,
-=Chris

On Wed, 2004-09-15 at 22:30, Chris Jones wrote:
Jerry;
I did a search through the u-boot mailing list archives as I was having problems compiling for my MIPS AU1550. Ironically, you seemed to be having problems and made the exact fixes that I did in order to get as far as you did in the compile process.
Could you give a more detailed description of your problems?
I had some problems finding working versions of gcc/binutils, but finally succeeded with binutils 2.13 and gcc 3.2.3.
Either way, u-boot does not yet run on the Au1550 (except for here). This depends on - among other things - differences in the dram configuration registers (please complain privately to me daily about this until i post the necessary patches to this list :)
regards / Leif

Lief;
On Thu, Sep 16, 2004 at 11:37:48AM +0200, Leif Lindholm wrote:
Could you give a more detailed description of your problems?
I had some problems finding working versions of gcc/binutils, but finally succeeded with binutils 2.13 and gcc 3.2.3.
<SNIP>
Leif
Thanks so much for your quick reply. I was going to do some work on this board as well independently in attempt to see if I can't get the machine to boot from an ide HDD. I'll keep bugging you for the patches offline, but for the benefit of everyone else I'll elaborate a little more here:
Cross-compiling from x86 using: a custom built (crosstool) toolchain gcc3.3.2-glibc2.3.2-binutils-2.15; I get this error:
make[1]: Leaving directory `/home/cjones/dev/boot/u-boot-1.1.1/post/cpu' mipsel-unknown-linux-gnu-gcc -Wa,-gstabs -D__ASSEMBLY__ -g -Os -D__KERNEL__ -DTEXT_BASE=0xbfc00000 -I/home/cjones/dev/boot/u-boot-1.1.1/include -fno-builtin -ffreestanding -nostdinc -isystem /usr/lib/gcc-lib/i486-linux/3.3.4/include -pipe -DCONFIG_MIPS -D__MIPS__ -mips32 -c -o cpu/mips/start.o /home/cjones/dev/boot/u-boot-1.1.1/cpu/mips/start.S /home/cjones/dev/boot/u-boot-1.1.1/cpu/mips/start.S: Assembler messages: /home/cjones/dev/boot/u-boot-1.1.1/cpu/mips/start.S:246: Error: Cannot branch to undefined symbol. /home/cjones/dev/boot/u-boot-1.1.1/cpu/mips/start.S:251: Error: Cannot branch to undefined symbol. /home/cjones/dev/boot/u-boot-1.1.1/cpu/mips/start.S:263: Error: Cannot branch to undefined symbol. make: *** [cpu/mips/start.o] Error 1
I've seen other people compiling for the Au1x00 series have this similar problem.
Not unsurprisingly while compiling natively with a similar toolchain: gcc-3.2.3,glibc-2.3.2,binutils-2.15 I get the same errors.
I know my toolchain is not BAD as I can perfectly build and execute the resulting kernel; however, it may not be compatible with they way things are done in u-boot.
Perhaps Wolfgang or the people at DENX could put some input into their toolchain version(s). I suppose I should just download it and check it out. But I would really like to be in control of my own toolchain.
Cheers,
-=chris

In message 20040916180715.GW32080@qworks.ca you wrote:
Perhaps Wolfgang or the people at DENX could put some input into their toolchain version(s). I suppose I should just download it and check it out. But I would really like to be in control of my own toolchain.
The current version (3.0) of the ELDK does not support little-endian MIPS systems; the next version (3.1, to be released soon) will support it. It's based on GCC-3.3.3, glibc 2.3.1-51a and binutils 2.14. I have no problems compiling MIPS code with it (compile-clean for all U-Boot boards, actyually tested for MIPS on INCA-IP and XXS1500).
Best regards,
Wolfgang Denk

Wolfgang;
On Fri, Sep 17, 2004 at 01:28:55AM +0200, Wolfgang Denk wrote:
The current version (3.0) of the ELDK does not support little-endian MIPS systems; the next version (3.1, to be released soon) will support it. It's based on GCC-3.3.3, glibc 2.3.1-51a and binutils 2.14. I have no problems compiling MIPS code with it (compile-clean for all U-Boot boards, actyually tested for MIPS on INCA-IP and XXS1500).
That's great. Hoping I'll be able to use your patches against what I have so I can keep just one cross-compiler for kernel/u-boot building.
Leif: I've had some much better success switching to this toolchain:
gcc-3.2.3-glibc-2.2.3-binutils-2.13
However, now I'm getting the following error when building. I know it looks long and NASTY, but it basically amounts to an undefined reference. I was hoping you might know the solution.
Also, Yes, I know ld segfaults which is very bad and probably indicates a broken toolchain...sigh...I hope I don't get spanked for that! The undefined reference does come before the segfault though.
make[1]: Leaving directory `/home/cjones/dev/boot/u-boot-1.1.1/common' UNDEF_SYM=`mipsel-unknown-linux-gnu-objdump -x lib_generic/libgeneric.a board/dbau1x00/libdbau1x00.a cpu/mips/libmips.a lib_mips/libmips.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.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`;\ mipsel-unknown-linux-gnu-ld -Bstatic -T /home/cjones/dev/boot/u-boot-1.1.1/board/dbau1x00/u-boot.lds -Ttext 0xbfc00000 $UNDEF_SYM cpu/mips/start.o \ --start-group lib_generic/libgeneric.a board/dbau1x00/libdbau1x00.a cpu/mips/libmips.a lib_mips/libmips.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.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 --no-warn-mismatch -L /opt/crosstool/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.3/lib/gcc-lib/mipsel-unknown-linux-gnu/3.2.3 -lgcc --end-group \ -Map u-boot.map -o u-boot cpu/mips/start.o: In function `reset': cpu/mips/start.o(.text+0x460): undefined reference to `_GLOBAL_OFFSET_TABLE_' /bin/sh: line 1: 4411 Segmentation fault mipsel-unknown-linux-gnu-ld -Bstatic -T /home/cjones/dev/boot/u-boot-1.1.1/board/dbau1x00/u-boot.lds -Ttext 0xbfc00000 $UNDEF_SYM cpu/mips/start.o --start-group lib_generic/libgeneric.a board/dbau1x00/libdbau1x00.a cpu/mips/libmips.a lib_mips/libmips.a fs/cramfs/libcramfs.a fs/fat/libfat.a fs/fdos/libfdos.a fs/jffs2/libjffs2.a fs/reiserfs/libreiserfs.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 --no-warn-mismatch -L /opt/crosstool/mipsel-unknown-linux-gnu/gcc-3.2.3-glibc-2.2.3/lib/gcc-lib/mipsel-unknown-linux-gnu/3.2.3 -lgcc --end-group -Map u-boot.map -o u-boot make: *** [u-boot] Error 139
Cheers,
-=cj

Dear Chris,
in message 20040921013431.GE32080@qworks.ca you wrote:
Also, Yes, I know ld segfaults which is very bad and probably indicates a broken toolchain...sigh...I hope I don't get spanked for that! The undefined reference does come before the segfault though.
If ld segfaults, it _is_ brooken. Any segfaulting application is broken.
Now that you know that you are running a broken tool, you should forget about any other error messages it might report - they might be completely bogus.
Fix your toolchain first.
Best regards,
Wolfgang Denk
participants (3)
-
Chris Jones
-
Leif Lindholm
-
Wolfgang Denk