Bombing U-Boot on ARMv4, any hints?
linus.walleij at linaro.org
Tue Mar 6 06:55:43 UTC 2012
On Tue, Mar 6, 2012 at 12:01 AM, Michael Hope <michael.hope at linaro.org> wrote:
> Hi Linus. Is this the arm-linux-gnueabi-gcc from the Ubuntu binary
It's the binary package from:
I'm using Fedora here so cannot really use the Ubuntu package.
But I suspect it's pretty much the same?
> If so then the libgcc is an ARMv7 Thumb-2 VFP binary which
> won't run on an ARMv4.
Aha! That explains everything.
> The kernel gets around this by providing its
> own helper routines.
Yes I noticed those helpers in the past, that explains why
my kernel is still booting fine with the same compiler.
> Does u-boot do the same?
Well partly it does, for example it has __div64_32()
in lib/div64.c. But the above code does no explicit calls to
that function or the others, my rough guess could be that
the arithmetic is such that libgcc gets linked implicitly,
but what do I know about GCC ...
> The CodeSourcery toolchain is surviving as it targets ARMv5 by default
> and includes multilibs for earlier architectures?
> What instructions are at or near 0x07fdecd4 and 07fdeb34?
The boot monitor on the Integrator (ARMv4 system) cannot
disassemble, but the memory looks like this:
boot Monitor > d 0x07fdecd4
Displaying memory at 0x7FDECD4
boot Monitor > d 0x07fdeb34
Displaying memory at 0x7FDEB34
More information about the linaro-toolchain