data abort compiling u-boot with GCC != 6.4


Federico Giovanardi
 

I'm getting a data-abort exception every time i access the FEC ethernet device from u-boot; it happens using tftp or just ping.
=> ping 172.31.4.2
Using FEC device
data abort
pc : [<4ffd769c>]          lr : [<4ffd8960>]
reloc pc : [<1782d69c>]    lr : [<1782e960>]
sp : 4f5a7d00  ip : 0000006a     fp : 4ffb427c
r10: 00000000  r9 : 4f5a7eb8     r8 : 4ffee74c
r7 : 00000001  r6 : 00000000     r5 : 0000002a  r4 : 4ffec94e
r3 : 14000045  r2 : 01041fac     r1 : 02041fac  r0 : 4ffec94e
Flags: nZCv  IRQs off  FIQs off  Mode SVC_32
Resetting CPU ...
With the same source everything works fine just switching the compiler.

I'm using u-boot 2016-07, almost not customized except for a pin used to keep the board up.
For now I've tested with:

arm-poky-linux-gnueabi-gcc 9.2   -> FAIL
arm-poky-linux-gnueabi-gcc 7.3   -> FAIL
arm-poky-linux-gnueabi-gcc 6.4   -> OK

all the toolchain are generated using yocto and are know to be working correctly.
U-boot is compiled with:

CROSS_COMPILE=/opt/poky-arag/2.2.1/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi/arm-poky-linux-gnueabi-
make mrproper
make ARCH=arm CROSS_COMPILE=$CROSS_COMPILE delta70_defconfig
make ARCH=arm CROSS_COMPILE=$CROSS_COMPILE
without environment variables affecting compilation, build host is arch linux just updated, I've tried also in an ubuntu 16.04 chroot
but with the same result.

Any clue?

Regards.
Federico Giovanardi

Join meta-freescale@lists.yoctoproject.org to automatically receive all group messages.