
Hi Wolfgang,
buid on meesc board (arm) is still broken. It's roughly the same problem, as Heiko Schocher reported in 4A6854B1.5000205@denx.de. But his patch doesn't fix the problem either.
danielg@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@denx.de
...