[U-Boot-Users] Advice about a problem compiling with alternative toolchain

Andrew Reusch andrew.reusch at wiline.com
Tue Dec 14 17:22:28 CET 2004


    I've been experimenting with the u-boot bootloader and have found it 
to be an eminently useful utility for development on a powerpc based 
embedded device. Much thanks to the developers who have put so much 
effort into this project.

     The question of posing while related to the compilation of u-boot 
doesn't really involve a problem or issue with u-boot but I thought that 
I might be able to get some good input on this list. Apologies in 
advance if this is not the proper place for this topic.

    Anyway, I've been using a uclibc toolchain to build the userland 
applications, busybox, openssl, etc.. I thought it would be possible and 
convenient to use the same cross compiler for u-boot. I figured it would 
be possible without much difficulty because u-boot doesn't use the 
standard C library. And so it was fairly painless to compile a working 
version of u-boot. I was using a 2.95 version of gcc and 
version of binutils. ld crashed because of silly bug in ldlang.c that 
was easy to fix.

    So, I now wanted to try and compile the bootloader using a version 
of gcc greater or equal to 3.3. Maybe this is a bad idea but I was 
curious. Anyway the compilation seemed to go fine but producing the 
srec, "objcopy --gap-fill=0xff -O srec u-boot u-boot.srec", resulted in 
the objcopy application being stuck in a long loop and eating up a 
significant amount of system memory. Apparently it had caculated that 
one of the gaps had a size close to max int which shouldn't be possible. 
I don't think the problem isn't with objcopy itself but instead that the 
output of the compiler is different than what should be expected. I know 
an easy solution would be to use the ELDK in place of the current 
toolchain but I'm more interested in understanding what is going wrong.  

    Hence, the reason for my email. If I wanted to discover the root of 
my problem are there any good resources for information? Potentially a 
specification for the format expected by object copy. Or maybe some 
advice on problems to expect when using a new version of gcc and/or 
binutils to cross compile for a different architecture. Also any general 
comments or information anyone would be willing to impart would be 
useful. Essentially I'm just trying to learn. Thank you for your time.


More information about the U-Boot mailing list