From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Ruehl Date: Tue, 22 Oct 2013 14:54:39 +0800 Subject: [U-Boot] v2013.10 failed build with jffs2 cmd In-Reply-To: <20131022060753.9F8EB380A62@gemini.denx.de> References: <5265DFD1.9000709@gtsys.com.hk> <20131022060753.9F8EB380A62@gemini.denx.de> Message-ID: <5266212F.2050109@gtsys.com.hk> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Wolfgang, On Tuesday, October 22, 2013 02:07 PM, Wolfgang Denk wrote: > Dear Chris Ruehl, > > In message<5265DFD1.9000709@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 >