[U-Boot] [PATCH] mtd: Update MTD infrastructure to support 64bit device size

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Sat Jun 20 10:52:07 CEST 2009


> 
> 2. C++ style comment. Found by Wolfgang ;)
> 
> 3. The major one: By the new 64bit variables, depending on tool chain, 
> there are now calls to libgcc introduced. Depending on tool chain, 
> this might work, or fail. As it does with one of my tool chains, which 
> worked totally fine until here. It was my understanding that U-Boot 
> shall not rely on libgcc, i.e. proper tool chain libraries.
> 
> Having CONFIG_SYS_64BIT_VSPRINTF not defined, the linker needs 
> "_lshrdi3", which comes from nand_base.o and nand_bbt.o. E.g. from 
> "len = mtd->size >> (this->bbt_erase_shift + 2);" from nand_bbt.c.
> 
> Having CONFIG_SYS_64BIT_VSPRINTF enabled, the linker requests 
> _lshrdi3, _udivdi3, _umoddi3 and _clz from libgcc.
> 
> Looking into U-Boot's lib_arm/ directory, we have already some low 
> level math functions there to avoid libgcc. E.g. nand_bbt.c has 
> references to _ashrdi3, too, but this is resolved by lib_arm's version 
> what is fine.
> 
> I'd like that NAND code is modified that only math is used which 
> U-Boot provides and no libgcc is needed.
this is a already known problem by Stefan and I and solved

two patchs was send to the ML and now we are independant of the libgcc

please test the testing branch of the u-boot-arm tree

Best Regards,
J.


More information about the U-Boot mailing list