[U-Boot] v2013.10 failed build with jffs2 cmd

Chris Ruehl chris.ruehl at gtsys.com.hk
Tue Oct 22 08:54:39 CEST 2013


Hi Wolfgang,

On Tuesday, October 22, 2013 02:07 PM, Wolfgang Denk wrote:
> Dear Chris Ruehl,
>
> In message<5265DFD1.9000709 at gtsys.com.hk>  you wrote:
>>
>> when I tried to build v2013.10 with the Option: CONFIG_CMD_JFFS2
>> using linao tool-chain 2013.09 (and earlier) I run into the well known problem
>>
>>    uses VFP register arguments, u-boot does not
>
> You failed to tell who is using VFP register arguments - it's your
> compiler's library, libgcc.
>

Yes, sure, the libgcc is the one trigger it, but if I compile the uboot w/o 
JFFS2 other functions of the libgcc are linked into the u-boot loader without 
trigger the problem. libcommon , libnand + libmmmc uses udivsi3 and others

see (u-boot.map link without jffs2):
Archive member included because of file (symbol)

/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivsi3.o)
                               arch/arm/cpu/arm926ejs/mx27/libmx27.o (__aeabi_uidiv)
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_divsi3.o)
                               common/libcommon.o (__aeabi_idiv)
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_lshrdi3.o)
                               drivers/mtd/nand/libnand.o (__aeabi_llsr)
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_ashrdi3.o)
                               drivers/mtd/nand/libnand.o (__aeabi_lasr)
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_ashldi3.o)
                               drivers/mmc/libmmc.o (__aeabi_llsl)
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_dvmd_lnx.o)
 
/opt/armhf/gcc-linaro-arm-linux-gnueabihf-4.8-2013.09_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/libgcc.a(_udivsi3.o) 
(__aeabi_idiv0)


I think the root of the evil is
libgcc.a(_aeabi_uldivmod.o) (__gnu_uldivmod_helper)

regards
Chris

>> any hints to solve this?
>
> Fix your toolchain (i. e. make sure it also provides a libgcc usable
> with softfloat settings).
>
> If everything else fails, use "USE_PRIVATE_LIBGCC=y" on the make
> command line.
>
> Best regards,
>
> Wolfgang Denk
>


More information about the U-Boot mailing list