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

Wolfgang Denk
2004-12-14T16:43:14Z

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.

> 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.

Best regards,

Wolfgang Denk

--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
The people of Gideon have always believed that life is sacred. That
the love of life is the greatest gift ... We are incapable of
destroying or interfering with the creation of that which we love so
deeply -- life in every form from fetus to developed being.
-- Hodin of Gideon, "The Mark of Gideon", stardate 5423.4