[U-Boot] [PATCH v2] Make linking against libgcc configurable

Daniel Gorsulowski Daniel.Gorsulowski at esd.eu
Thu Jul 23 16:43:08 CEST 2009


Hello Heiko,

Dirks patch reduces the errors, but I still get:

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
make: *** [u-boot] Error 1

I noticed, that lib_arm/_lshrdi3.a is not beeing compiled.
So i added 'GLSOBJS += _lshrdi3.S' to lib_arm/Makefile (this line is missing
in your patch, i guess). But _lshrdi3.a still does not compile.

So I took a look at lib_arm/.depend:
_ashldi3.o: _ashldi3.S
_ashrdi3.o: _ashrdi3.S
_divsi3.o: _divsi3.S
_lshrdi3.o: _lshrdi3.S
_modsi3.o: _modsi3.S
_udivsi3.o: _udivsi3.S
_umodsi3.o: _umodsi3.S

I have no explanation for that, do you have?

bye, Daniel


Heiko Schocher wrote:
> Hello Daniel,
> 
> Daniel Gorsulowski wrote:
>> 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'
> 
> Maybe you need also this fix from Dirk Behme
> 
> http://lists.denx.de/pipermail/u-boot/2009-July/057265.html
> 
> I see on this Hardware is CONFIG_SYS_64BIT_VSPRINTF activated ... so
> I think, the above patch will fix this. Can you give this a try?
> 
> bye
> Heiko


More information about the U-Boot mailing list