[U-Boot-Users] maybe just one more bug left in building the examples directory in 1.1.2

Andrew Wozniak awozniak at mc.com
Tue Nov 15 15:10:44 CET 2005

Andrew Wozniak  |  Mercury Computer Systems
978.967.1895    |  System SW, ICS Group

John Davis wrote:
> Hello Wolfgang,
> Ok.  Thank you for the reality check.   Could you please tell me where i 
> can get a reliable toolchain so I can end my frustration?
> FWIW, I am not currently adding new code, I am just trying to get the 
> existing examples directory to build.  I talked to my more knowledgeble 
> co-worker and he told me that my approach was not what I wanted anyway.  
> By statically linking to the libraries as
> I have done, I am not created a loadable applet which is my main goal.

Your co-worker is correct. The U-Boot examples are loadable applets 
which use the U-Boot application binary interface (ABI) to access U-Boot 
library functions. The #include <exports.h> entry within hello_world.c 
defines which library functions are provided by U-Boot.

Since the ABI is used by the examples, you SHOULD NOT attempt to link in 
generic or other libraries! The example code and makefiles have worked 
for quite some time now - forget about trying to fix something that is 
not broken. Instead, focus on your toolchain as suggested Wolfgang.

> Many thanks in advance,
> JD
> On 11/15/05, *Wolfgang Denk* <wd at denx.de <mailto:wd at denx.de>> wrote:
>     Dear John,
>     in message <
>     6a7ac2300511150252w60601196qea018696ae5d1813 at mail.gmail.com
>     <mailto:6a7ac2300511150252w60601196qea018696ae5d1813 at mail.gmail.com>>
>     you wrote:
>      >
>      >  I am getting closer to getting the examples code to build. I
>     have added a
>      > bunch of object files and library files to the link command in
>     the examples
>      > Makefile. However,
>     I really, really don't understand what you are actually doing. If you
>     put your code in the examples directory, then just adding the  binary
>     name  to the "BIN" definition in the "examples/Makefile" is *all* you
>     have to do to get it build correctly.
>     If you prefer to keep the code in your own board directory (which  is
>     a  much  better  approach, especially if you intend to submit it as a
>     patch) then just  have  a  look  at  the  trab_fkt*  targets  in  the
>     "board/trab/Makefile".
>     Nothing more needs to be done. Really.
>     If this does not work for you, then  your  toolchain  is  broken  and
>     should be replaced.
>      > I have gotten to the last bug and I don't know how to solve it.
>     Below, it
>     "the last bug" ??? Famous last words.
>      > complains about __got2_entries. I found this defined in our board
>     ....
>      > ppc-linux-ld: BFD 20040303 (SuSE Linux) assertion fail
>      > ../../bfd/elf32-ppc.c:5645
>      > make[1]: *** [hello_world] Segmentation fault
>     Your tool crashes  with  a  segmentation  fault.  That's  a  tolchain
>     problem.  Get  yourself  working  tools  and  forget  about  all this
>     trouble.
>     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 <mailto:wd at denx.de>
>     Compassion -- that's the one things no machine ever had.  Maybe it's
>     the one thing that keeps men ahead of them.
>            -- McCoy, "The Ultimate Computer", stardate 4731.3

More information about the U-Boot mailing list