On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote: > On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <[email protected]> wrote: > > On 02/03/10 15:03, [email protected] 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 _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
