[U-Boot-Users] U-Boot with gcc-3.3.2 and ARM926EJS Targets fails due to __udi

Wolfgang Denk wd at denx.de
Wed Jan 28 17:55:38 CET 2004

In message <fc.004c4e48002071d73b9aca009ccdb13f.207378 at rea.de> you wrote:
> your compiler wasn't built for a stand-alone target, otherwise

can you please explain what you mean with this statement? It's rather
cryptic for me. I never built GCC "for a stand-alone target", and yet
I always was able to use it without problems including for U-Boot.

> The reason for the difference is the link order:

This is most definitely NOT the reason.

> One solution could be to change the link order (link libarm.a last);

This makes no sense to me.

If you look carefully at the link statement you might notice that all
the libraries are  enclosed  by  a  "--start-group  ...  --end-group"

Reading TFM:

     The specified archives are searched repeatedly until no new
     undefined references are created.  Normally, an archive is
     searched only once in the order that it is specified on the
     command line.  If a symbol in that archive is needed to resolve an
     undefined symbol referred to by an object in an archive that
     appears later on the command line, the linker would not be able to
     resolve that reference.  By grouping the archives, they all be
     searched repeatedly until all possible references are resolved.

Best regards,

Wolfgang Denk

See us @ Embedded World, Nuremberg, Feb 17 - 19,  Hall 12.0 Booth 440
Phone: (+49)-8142-4596-87  Fax: (+49)-8142-4596-88  Email: wd at denx.de
The evolution of the human race will not be accomplished in  the  ten
thousand  years  of  tame  animals,  but in the million years of wild
animals, because man is and will always be a wild animal.
                                              - Charles Galton Darwin

More information about the U-Boot mailing list