[U-Boot] [PATCH v2] Make linking against libgcc configurable
Daniel Gorsulowski
Daniel.Gorsulowski at esd.eu
Thu Jul 23 15:28:06 CEST 2009
Hi Wolfgang,
buid on meesc board (arm) is still broken.
It's roughly the same problem, as Heiko Schocher reported in
4A6854B1.5000205 at denx.de. But his patch doesn't fix the problem either.
danielg at debby:~/git/u-boot$ make USE_PRIVATE_LIBGCC=yes
...
drivers/mtd/nand/libnand.a(nand_base.o): In function `nand_do_write_oob':
/data/home/danielg/git/u-boot/drivers/mtd/nand/nand_base.c:2019: undefined reference to `__lshrdi3'
drivers/mtd/nand/libnand.a(nand_base.o): In function `nand_erase_nand':
/data/home/danielg/git/u-boot/drivers/mtd/nand/nand_base.c:2199: undefined reference to `__lshrdi3'
/data/home/danielg/git/u-boot/drivers/mtd/nand/nand_base.c:2198: undefined reference to `__lshrdi3'
drivers/mtd/nand/libnand.a(nand_base.o): In function `nand_do_read_oob':
/data/home/danielg/git/u-boot/drivers/mtd/nand/nand_base.c:1519: undefined reference to `__lshrdi3'
drivers/mtd/nand/libnand.a(nand_bbt.o): In function `search_bbt':
/data/home/danielg/git/u-boot/drivers/mtd/nand/nand_bbt.c:482: undefined reference to `__lshrdi3'
drivers/mtd/nand/libnand.a(nand_bbt.o):/data/home/danielg/git/u-boot/drivers/mtd/nand/nand_bbt.c:413: more undefined references to `__lshrdi3' follow
lib_generic/libgeneric.a(vsprintf.o): In function `put_dec':
/data/home/danielg/git/u-boot/lib_generic/vsprintf.c:242: undefined reference to `__umoddi3'
/data/home/danielg/git/u-boot/lib_generic/vsprintf.c:242: undefined reference to `__udivdi3'
lib_generic/libgeneric.a(vsprintf.o): In function `number':
/data/home/danielg/git/u-boot/lib_generic/vsprintf.c:306: undefined reference to `__lshrdi3'
make: *** [u-boot] Error 1
Best regards, Daniel
Wolfgang Denk wrote:
> Many (especially ARM) tool chains seem to come with broken or
> otherwise unusable (for the purposes of builing U-Boot) run-time
> support libraries `libgcc.a'. By using the "USE_PRIVATE_LIBGCC"
> setting we allow to use alternative libraries instead.
>
> "USE_PRIVATE_LIBGCC" can either be set as an environment variable in
> the shell, or as a command line argument when running "make", i. e.
> $ make USE_PRIVATE_LIBGCC=yes
> or
> $ USE_PRIVATE_LIBGCC=yes
> $ export USE_PRIVATE_LIBGCC
> $ make
>
> The value of "USE_PRIVATE_LIBGCC" is the name of the directory which
> contains the alternative run-time support library `libgcc.a'. The
> special value "yes" selects the directory $(OBJTREE)/lib_$(ARCH) .
>
> Note that not all architectures provide an alternative `libgcc.a' in
> their lib_$(ARCH) directories - so far, only ARM does.
>
> Signed-off-by: Wolfgang Denk <wd at denx.de>
...
More information about the U-Boot
mailing list