Comments

Wolfgang,
good morning.
On Monday, October 28, 2013 04:07 AM, Wolfgang Denk wrote:
> In message <1382865251-17302-1-git-send-email-wd@denx.de> I wrote:>> Building boards that have JFFS2 support enabled will fail when using>> U-Boot's builtin GCC library, for example like this:>>>> USE_PRIVATE_LIBGCC=yes ./MAKEALL omap3_evm>> ...>> fs/jffs2/libjffs2.o: In function `jffs2_1pass_build_lists':>> fs/jffs2/jffs2_1pass.c:1441: undefined reference to `__aeabi_uldivmod'>>>> This is caused by a u64 / u32 division in jffs2_1pass.c; the problem>> can be avoided by using do_div() instead of plain division.>>>> Signed-off-by: Wolfgang Denk <wd@denx.de>>> Reported-by: Chris Ruehl <chris.ruehl@gtsys.com.hk>>> Cc: Chris Ruehl <chris.ruehl@gtsys.com.hk>> I would like to withdraw this patch.>> It appears nobody has been running a MAKEALL with USE_PRIVATE_LIBGCC> enabled for a long, long time. There are a number of other places> that show similar problems. Instead of fixing these one by one, I> think we should rather bundle this.>> I'm working on a more complete patch (or patch series).>> Best regards,>> Wolfgang Denk>
The test of your patch works with the linaro 2013.09 tool chain.
I had to add the missing header only
#include <div64.h> which is required for the build.
cd /opt/cross_build/uboot.d/u-boot-git/spl/ &&
arm-linux-gnueabihf-ld.bfd -T
/opt/cross_build/uboot.d/u-boot-git/spl/u-boot-spl.lds --gc-sections
--gc-sections -Bstatic -Ttext 0xa0000000 arch/arm/cpu/arm926ejs/start.o
--start-group arch/arm/cpu/arm926ejs/libarm926ejs.o
arch/arm/cpu/arm926ejs/mx27/libmx27.o
arch/arm/imx-common/libimx-common.o arch/arm/lib/libarm.o
board/gtsys/common/libgtsys.o board/gtsys/mx27gtsir/libmx27gtsir.o
drivers/mtd/nand/libnand.o --end-group
/opt/cross_build/uboot.d/u-boot-git/spl/arch/arm/lib/eabi_compat.o
/opt/cross_build/uboot.d/u-boot-git/spl/arch/arm/lib/libgcc.o -Map
u-boot-spl.map -o u-boot-spl
arm-linux-gnueabihf-objcopy --gap-fill=0xff -O binary
/opt/cross_build/uboot.d/u-boot-git/spl/u-boot-spl
/opt/cross_build/uboot.d/u-boot-git/spl/u-boot-spl.bin
make[1]: Leaving directory `/opt/cross_build/uboot.d/u-boot-git/spl'
arm-linux-gnueabihf-objcopy --gap-fill=0xff --pad-to=0x800 -I binary -O
binary spl/u-boot-spl.bin spl/u-boot-spl-pad.bin; cat
spl/u-boot-spl-pad.bin u-boot.bin > u-boot-with-spl.bin; rm
spl/u-boot-spl-pad.bin
Regards
Chris