Hi toolchain folks,

I have a problem with U-boot compiled for an ARMv4 system (Integrator)
using Linaro 2012.02-20120222, it just crashes. Compiling the same
U-Boot with CodeSourcery 2010-q1 works fine.

Symptom:
Resetting CPU ...

undefined instruction
pc : [<07fdecd4>]          lr : [<07fdeb34>]
sp : 07f91380  ip : 00000000     fp : 00000001
r10: 010258fc  r9 : 00000000     r8 : 07f94f64
r7 : 07f94eb0  r6 : 00989680     r5 : 000186a0  r4 : 000186a0
r3 : 000003e8  r2 : 000f423f     r1 : 000f4240  r0 : 05f5e100
Flags: nzCv  IRQs on  FIQs on  Mode SVC_32

(repeated ad nauseam)

The only hint I have is the constant 000186a0, which appears
here in the put_dec() routine from U-boots vsprintf(), which is
nothing special, it's Douglas Jones' binary to decimal conversion
code from the Linux kernel, but the compiles objects DOES
contain calls to __aeabi_uidivmod, __udivsi3, __div64_32.

Do we know of any potential trouble in these helpers on ARMv4?

The file containing these functions is compiled like this:

arm-linux-gnueabi-gcc -M -g  -Os   -fno-common -ffixed-r8 -msoft-float
 -D__KERNEL__ -DCONFIG_SYS_TEXT_BASE=0x01000000
-I/var/linus/u-boot/build-integrator/include2
-I/var/linus/u-boot/build-integrator/include
-I/var/linus/u-boot/include -fno-builtin -ffreestanding -nostdinc
-isystem 
/home/linus/src/gcc-linaro-arm-linux-gnueabi-2012.02-20120222_linux/bin/../lib/gcc/arm-linux-gnueabi/4.6.3/include
-pipe  -DCONFIG_ARM -D__ARM__ -marm -mabi=aapcs-linux
-mno-thumb-interwork -march=armv4   -MQ
/var/linus/u-boot/build-integrator/lib/vsprintf.o vsprintf.c
>/var/linus/u-boot/build-integrator/lib/.depend.vsprintf

Yours,
Linus Walleij

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to