[U-Boot-Users] still trying with the examples directory on release 1.1.2 and Walnut config
Andrew Wozniak
awozniak at mc.com
Fri Nov 11 18:29:58 CET 2005
John Davis wrote:
>
> Hello
>
> I managed to build the lib_generic/libgeneic.a file by manually
> performing a make at the top-level by
> specifing make lib_generic/libgeneric.a.
I may be wrong, but libgeneric.a is only used by U-Boot and NOT by
examples. Examples use the U-Boot ABI which provides access to
libgeneric.a level functions as defined by include/exports.h
> However, I do not get this library included when I try to build the
> examples directory. Even if I hardcode the
> examples directory Makefile so that it includes the lib_generic
> directory, it still fails to build the examples
> directory. See below.
>
> I have similar results if I change the order of the libgeneric
> specifier. ie.
> -L../lib_generic -lgeneric
> -L/opt/fld_fakeroot/opt/mcp/ppc/bin/../lib/gcc-lib/ppc-linux/3.3.3 -lgcc
>
> Please advise. Its scary that putc does even work.
Its not scary, its done through the ABI.
> -----------------------------------
>
> ppc-linux-ld -g -Ttext 0x40000 \
> -o hello_world -e hello_world hello_world.o libstubs.a \
> -L/opt/fld_fakeroot/opt/mcp/ppc/bin/../lib/gcc-lib/ppc-linux/3.3.3 -lgcc
> -L../lib_generic -lgeneric
ppc_405-ld -g -Ttext 0x40000 \
-o hello_world -e hello_world hello_world.o libstubs.a \
-L/lib/gcc-lib/powerpc-hardhat-linux/3.2.1 -lgcc
This is my 1.1.2 build command - there is NO generic lib linked in! It
is NOT needed because U-Boot ABI provides those library functions.
> hello_world.o(.text+0x48): In function `hello_world':
> /home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:36: undefined
> reference to `printf'
> hello_world.o(.text+0x4c):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:37:
> undefined reference to `get_version'
> hello_world.o(.text+0x58):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:37:
> undefined reference to `printf'
> hello_world.o(.text+0x64):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:39:
> undefined reference to `printf'
> hello_world.o(.text+0x70):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:41:
> undefined reference to `printf'
> hello_world.o(.text+0x9c):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:44:
> undefined reference to `printf'
> hello_world.o(.text+0xac):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:49:
> undefined reference to `printf'
> hello_world.o(.text+0xb0):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:50:
> undefined reference to `tstc'
> hello_world.o(.text+0xbc):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:53:
> undefined reference to `getc'
> hello_world.o(.text+0xc4):/home/davis/cvs/mcp4/u-boot-1.1.2/examples/hello_world.c:55:
> undefined reference to `printf'
> ../lib_generic/libgeneric.a(vsprintf.o)(.text+0x424): In function `panic':
> /home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/vsprintf.c:376: undefined
> reference to `vprintf'
> ../lib_generic/libgeneric.a(vsprintf.o)(.text+0x42c):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/vsprintf.c:377:
> undefined reference to `putc'
> ../lib_generic/libgeneric.a(vsprintf.o)(.text+0x438):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/vsprintf.c:382:
> undefined reference to `udelay'
> ../lib_generic/libgeneric.a(vsprintf.o)(.text+0x44c):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/vsprintf.c:383:
> undefined reference to `do_reset'
> ../lib_generic/libgeneric.a(string.o)(.text+0x474): In function `strrchr':
> /home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:208: undefined
> reference to `strlen'
> ../lib_generic/libgeneric.a(string.o)(.text+0x4d0): In function `strstr':
> /home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:542: undefined
> reference to `strlen'
> ../lib_generic/libgeneric.a(string.o)(.text+0x4e4):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:545:
> undefined reference to `strlen'
> ../lib_generic/libgeneric.a(string.o)(.text+0x500):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:548:
> undefined reference to `memcmp'
> ../lib_generic/libgeneric.a(string.o)(.text+0x554): In function `strdup':
> /home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:253: undefined
> reference to `strlen'
> ../lib_generic/libgeneric.a(string.o)(.text+0x55c):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:253:
> undefined reference to `malloc'
> ../lib_generic/libgeneric.a(string.o)(.text+0x578):/home/davis/cvs/mcp4/u-boot-1.1.2/lib_generic/string.c:258:
> undefined reference to `strcpy'
> make[1]: *** [hello_world] Error 1
> make[1]: Leaving directory `/home/davis/cvs/mcp4/u-boot-1.1.2/examples'
>
More information about the U-Boot
mailing list