[U-Boot-Users] U-Boot with gcc-3.3.2 and ARM926EJS Targets fails due to __udiv0
Markus Pietrek
maillist at fsforth.de
Tue Jan 27 15:24:33 CET 2004
Hi folks,
I'm currently porting U-Boot 1.0.0 to a NetSilicon NS9750 (ARM926EJS core).
This port is partly derived from board/omap1610inn. The compiler is
gcc-3.3.2, taken from the uClibc toolchain.
For my target the compiler is using his internal libgcc.a:__div0 routine which
of course fails (it's an SWI instruction). But compiling U-Boot for an
smdk2410 platform with the same compiler uses the correct U-Boot's own __div0
code. I can't see any relevant differences in both build lines.
Can anyone help me? And is it really necessary to include libgcc.a?
The build line for the NS9750:
========================
UNDEF_SYM=`arm-linux-objdump -x board/ns9750dev/libns9750dev.a
cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a fs/jffs2/libjffs2.a
fs/fdos/libfdos.a fs/fat/libfat.a net/libnet.a disk/libdisk.a rtc/librtc.a
dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a
post/cpu/libcpu.a common/libcommon.a lib_generic/libgeneric.a |sed -n -e
's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
arm-linux-ld -Bstatic -T
/targets/ewp/LxMOD/build/apps/u-boot-1.0.0/board/ns9750dev/u-boot.lds -Ttext
0x00F80000 $UNDEF_SYM cpu/arm926ejs/start.o \
--start-group board/ns9750dev/libns9750dev.a
cpu/arm926ejs/libarm926ejs.a lib_arm/libarm.a fs/jffs2/libjffs2.a
fs/fdos/libfdos.a fs/fat/libfat.a net/libnet.a disk/libdisk.a rtc/librtc.a
dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a
post/cpu/libcpu.a common/libcommon.a lib_generic/libgeneric.a -L
/usr/local/LxNETES-3/arm-linux/lib/gcc-lib/arm-linux/3.3.2 -lgcc --end-group
\
-Map u-boot.map -o u-boot
========================
The relevant entry in u-boot.map for __div0:
===========================
/usr/local/LxNETES-3/arm-linux/lib/gcc-lib/arm-linux/3.3.2/libgcc.a(_udivsi3.o)
drivers/libdrivers.a(serial_ns9750.o)
(__udivsi3)
/
Compilation
============================
The build line for SMDK2410
=======================-
UNDEF_SYM=`arm-linux-objdump -x board/smdk2410/libsmdk2410.a
cpu/arm920t/libarm920t.a lib_arm/libarm.a fs/jffs2/libjffs2.a
fs/fdos/libfdos.a fs/fat/libfat.a net/libnet.a disk/libdisk.a rtc/librtc.a
dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a
post/cpu/libcpu.a common/libcommon.a lib_generic/libgeneric.a |sed -n -e
's/.*\(__u_boot_cmd_.*\)/-u\1/p'|sort|uniq`;\
arm-linux-ld -Bstatic -T
/targets/ewp/LxMOD/build/apps/u-boot.smdk/board/smdk2410/u-boot.lds -Ttext
0x33F80000 $UNDEF_SYM cpu/arm920t/start.o \
--start-group board/smdk2410/libsmdk2410.a
cpu/arm920t/libarm920t.a lib_arm/libarm.a fs/jffs2/libjffs2.a
fs/fdos/libfdos.a fs/fat/libfat.a net/libnet.a disk/libdisk.a rtc/librtc.a
dtt/libdtt.a drivers/libdrivers.a drivers/sk98lin/libsk98lin.a post/libpost.a
post/cpu/libcpu.a common/libcommon.a lib_generic/libgeneric.a -L
/usr/local/LxNETES-3/arm-linux/lib/gcc-lib/arm-linux/3.3.2 -lgcc --end-group
\
-Map u-boot.map -o u-boot
===================
The relevant entry in u-boot.map for __div0:
====================
lib_arm/libarm.a(_udivsi3.o) cpu/arm920t/libarm920t.a(speed.o) (__udivsi3)
--
Markus Pietrek
FS Forth-Systeme GmbH
Phone: +49 (7667) 908 145, FAX +49 (7667) 908 221
More information about the U-Boot
mailing list