[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