
Hi,
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 2.14.90.0.7 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.
regards, Andrew