[oe] EABI pain and frustration!

Travis Stratman tstratman at emacinc.com
Fri Feb 5 20:43:58 UTC 2010


On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote:
> On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv at vollmann.ch> wrote:
> > On 02/03/10 15:03, pspreadborough at comcast.net wrote:
> >>
> >> My 2.6.29 kernel is built with the CodeSourcery
> >> arm-2009q3-67-arm-none-linux-gnueabi compiler and has the EABI and
> >> OABI_COMPAT config options enabled. Using this kernel I can boot my SA1110
> >> iPaq into a OABI ramfs with no problems, however if I build a "HelloWorld"
> >> executable with the same compiler and try and run it I get an "Illegal
> >> Instruction" error. I build the test program using static linking, select
> >> the correct machine type and tune options but to no avail, I always get the
> >> illegal instruction.
> 
> You need gcc 4.4 to get EABI working on ARMv4 and there are additional patches
> to gcc on top of gcc 4.4 see
> gcc-armv4-pass-fix-v4bx-to-ld.patch for gcc in OE. So as Koen suggested earlier
> if you try with OE compiler you might have better chance of getting it
> to work as many
> OE devs have tried it.
> btw. are you passing march=armv4 to the compiler when doing the compile ?

>From my understanding of this issue he has an OABI rootfs and is trying
to run an EABI executable on top of it. This just doesn't work period
AFAIK; the kernel can boot either OABI or EABI with the compatibility
flags config'd in, but all of the binaries on the filesystem must match.

I'll have to look into the patch that you referenced above because I
have been using EABI (built through OE) for both the kernel and
filesystem with armv4t for a few years now. First w/ GCC 4.1.1 and now
with 4.2.4 and I've never run into issues. Does the issue only manifest
in certain situations?

Thanks,

TAS






More information about the Openembedded-devel mailing list