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

Dirk Behme dirk.behme at googlemail.com
Sat Jun 20 19:45:40 CEST 2009


Jean-Christophe PLAGNIOL-VILLARD wrote:
>> 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 

Thanks for the hint! Do you kindly have the subjects or better links 
to mailing list archive?

Many thanks

Dirk

> 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