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

Andrew Reusch
2004-12-14T19:04:10Z

Wolfgang Denk wrote:

>In message <41BF1344.7020103@wiline.com> you wrote:
>
>
>> 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
>>
>>
>
>It is not a bad idea - it should work fine. ELDK release 3.1 uses
>GC-3.3.3, and this works fine.
>
>
>
>>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
>>
>>
>
>I've seen this before. It happened for the ERIC board. The problem
>was that the TEXT_BASE definition for the ERIC board was set to
>0xFFFE0000 while the resultant code and data size of U-Boot was
>bigger than the 0x20000 bytes. This confused the linker and objcopy
>because the memory address of the last portion of the image goes
>beyond the 0xFFFFFFFF value causing an overflow of a 32-bit variable.
>
>The easiest way to solve the problem for this particular board was to
>change the TEXT_BASE definition to a lower value, for instance to
>0xFFFC0000.
>
>
>
I'm compiling using the settings for the a3000 (make A3000_config). The
board I'm using is similar, there were some slight modifications to make
it work. But, I'm running into the same issue when I use the "vanilla"
1.1.1 release of u-boot.

Changing the TEXT_BASE allowed me to compile but I had to set it to a
very low address. Initially it was set to 0xFFF00000, I was able to
compile when I changed it to 0xF00000. The resulting u-boot.bin was over
15MB in size which can't be right.

>>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.
>>
>>
>
>Check if it's really a toolchain problem, or just a misconfiguration
>for your board.
>
>For example, try if you can build other (standard) board
>configurations using your toolchain.
>
>

I was able to build the other boards without a problem such as the
MPC8540ADS and Sandpoint8245. I wonder what particular about the a3000
settings is causing the problems. I'll try out version 3.1 of the ELDK
and see what happens.

I really appreciate your helpful and informative response, Thank you.

>Best regards,
>
>Wolfgang Denk
>
>
>
regards,
Andrew