* Re: EABI pain and frustration! [not found] <1525882292.3655251265221536810.JavaMail.root@sz0154a.westchester.pa.mail.comcast.net> @ 2010-02-03 18:32 ` pspreadborough 2010-02-03 18:39 ` Koen Kooi 0 siblings, 1 reply; 17+ messages in thread From: pspreadborough @ 2010-02-03 18:32 UTC (permalink / raw) To: openembedded-devel I'm working from the Angstrom distribution. I'm using the arm-2009q3-67-arm-none-linux-gnueabi compiler because that's the EABI compiler I had to hand. I started out with the intention of moving to an EABI environment (no OABI_COMPAT), however when my EABI ramfs did not work (kernel booted but barfed when executing init or sh) I decided to try and EABI executable in the OABI environment. When compiling the "HelloWorld" I used the "-mabi=aapcs-linux" compiler option because that's what the kernel uses. Thanks, Pete ----- Original Message ----- From: "Khem Raj" <raj.khem@gmail.com> To: openembedded-devel@lists.openembedded.org Sent: Wednesday, February 3, 2010 10:59:42 AM GMT -05:00 US/Canada Eastern Subject: Re: [oe] EABI pain and frustration! On (03/02/10 15:43), Koen Kooi wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 03-02-10 15:03, pspreadborough@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. hmm just tune and machine opts wont be enough you have to chose right abi options too. because your userland is OABI thats what you should chose for helloworld too. > > Which MACHINE and DISTRO are you using in OE? And also: why CSL? > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.5 (Darwin) > > iD8DBQFLaYuoMkyGM64RGpERAiBXAJ9EKxw1hWGKcmJGo5LlEsDmHYJ/wACfZ1Id > 3Jz3mIP5xiMAez+V8l63TQ0= > =aaua > -----END PGP SIGNATURE----- > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel _______________________________________________ Openembedded-devel mailing list Openembedded-devel@lists.openembedded.org http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-03 18:32 ` EABI pain and frustration! pspreadborough @ 2010-02-03 18:39 ` Koen Kooi 0 siblings, 0 replies; 17+ messages in thread From: Koen Kooi @ 2010-02-03 18:39 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03-02-10 19:32, pspreadborough@comcast.net wrote: > > I'm working from the Angstrom distribution. > > I'm using the arm-2009q3-67-arm-none-linux-gnueabi compiler Why not use the default compiler for angstrom, that supports eabi on strongarm for a while now: http://cgit.openembedded.org/cgit.cgi/openembedded/commit/?id=ee961dd30c417911edae2a0ba025e73c5a96958b -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFLacLHMkyGM64RGpERAkhJAKC2AhLXMJvkoeZL/Z3jE7ScIdB5PACgnvGH YN0hP0ylyKluyZjJkTVL89E= =R2bj -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 17+ messages in thread
[parent not found: <1444973837.415081265420091001.JavaMail.root@sz0154a.westchester.pa.mail.comcast.net>]
* Re: EABI pain and frustration! [not found] <1444973837.415081265420091001.JavaMail.root@sz0154a.westchester.pa.mail.comcast.net> @ 2010-02-06 1:37 ` pspreadborough 2010-02-06 16:27 ` Khem Raj 0 siblings, 1 reply; 17+ messages in thread From: pspreadborough @ 2010-02-06 1:37 UTC (permalink / raw) To: openembedded-devel ----- "Travis Stratman" <tstratman@emacinc.com> wrote: > On Fri, 2010-02-05 at 13:41 -0800, Khem Raj wrote: > > On Fri, Feb 5, 2010 at 12:43 PM, Travis Stratman <tstratman@emacinc.com> wrote: > > > On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote: > > >> On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv@vollmann.ch> wrote: > > >> > On 02/03/10 15:03, pspreadborough@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? > > > > Well you said armv4t thats a whole different story than armv4 (without > > 't') for EABI > > AFAICT SA1110 is based on ARMv4 not ARMv4t. > > You are correct, my mistake. I have built a EABI rootfs but I get a kernel panic when it attempts to run init, hence my attempts to verify my EABI executables on a OABI fs. Perhaps it's time for me to try the OE EABI compiler. Can you advise me on which OE recipes to use for this? Regards, Pete ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-06 1:37 ` pspreadborough @ 2010-02-06 16:27 ` Khem Raj 2010-02-06 16:38 ` pspreadborough 0 siblings, 1 reply; 17+ messages in thread From: Khem Raj @ 2010-02-06 16:27 UTC (permalink / raw) To: openembedded-devel On Fri, Feb 5, 2010 at 5:37 PM, <pspreadborough@comcast.net> wrote: > > ----- "Travis Stratman" <tstratman@emacinc.com> wrote: >> On Fri, 2010-02-05 at 13:41 -0800, Khem Raj wrote: >> > On Fri, Feb 5, 2010 at 12:43 PM, Travis Stratman <tstratman@emacinc.com> wrote: >> > > On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote: >> > >> On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv@vollmann.ch> wrote: >> > >> > On 02/03/10 15:03, pspreadborough@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? >> > >> > Well you said armv4t thats a whole different story than armv4 (without >> > 't') for EABI >> > AFAICT SA1110 is based on ARMv4 not ARMv4t. >> >> You are correct, my mistake. > > I have built a EABI rootfs but I get a kernel panic when it attempts > to run init, hence my attempts to verify my EABI executables on a OABI > fs. > > Perhaps it's time for me to try the OE EABI compiler. Can you advise me > on which OE recipes to use for this? use 4.4.2 or 4.4.3 > > Regards, > > Pete > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-06 16:27 ` Khem Raj @ 2010-02-06 16:38 ` pspreadborough 2010-02-06 17:27 ` Khem Raj 0 siblings, 1 reply; 17+ messages in thread From: pspreadborough @ 2010-02-06 16:38 UTC (permalink / raw) To: openembedded-devel ----- "Khem Raj" <raj.khem@gmail.com> wrote: > > > > Perhaps it's time for me to try the OE EABI compiler. Can you advise me > > on which OE recipes to use for this? > > use 4.4.2 or 4.4.3 > Mmmm, I don't see any 4.4.? targets: bitbake -s gcc 0:4.2.4-r3 gcc-canadian-sdk 0:4.2.4-r2 gcc-cross 0:4.3.2+csl-arm-2008q3-39-r1 0:4.2.4-r5 gcc-cross-initial 0:4.2.4-r5 gcc-cross-intermediate 0:4.2.4-r5 gcc-cross-kernel-3.3.3 0:3.3.3-r6 gcc-cross-kernel-3.3.4 0:3.3.4-r9 gcc-cross-kernel-3.4.4 0:3.4.4-r13 gcc-cross-kernel-4.2.1 0:4.2.1+csl-arm-2007q3-53-r4 gcc-cross-kernel-4.2.4 0:4.2.4-r5 gcc-cross-sdk 0:4.2.4-r5 gcc-native 0:3.4.6-r10 gcc-noemu 0:4.1.2-r0 > > > > Regards, > > > > Pete > > > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-06 16:38 ` pspreadborough @ 2010-02-06 17:27 ` Khem Raj 0 siblings, 0 replies; 17+ messages in thread From: Khem Raj @ 2010-02-06 17:27 UTC (permalink / raw) To: openembedded-devel On Sat, Feb 6, 2010 at 8:38 AM, <pspreadborough@comcast.net> wrote: > > ----- "Khem Raj" <raj.khem@gmail.com> wrote: > >> > >> > Perhaps it's time for me to try the OE EABI compiler. Can you advise me >> > on which OE recipes to use for this? >> >> use 4.4.2 or 4.4.3 >> > > Mmmm, I don't see any 4.4.? targets: > are you using .dev branch ? > bitbake -s > > gcc 0:4.2.4-r3 > gcc-canadian-sdk 0:4.2.4-r2 > gcc-cross 0:4.3.2+csl-arm-2008q3-39-r1 0:4.2.4-r5 > gcc-cross-initial 0:4.2.4-r5 > gcc-cross-intermediate 0:4.2.4-r5 > gcc-cross-kernel-3.3.3 0:3.3.3-r6 > gcc-cross-kernel-3.3.4 0:3.3.4-r9 > gcc-cross-kernel-3.4.4 0:3.4.4-r13 > gcc-cross-kernel-4.2.1 0:4.2.1+csl-arm-2007q3-53-r4 > gcc-cross-kernel-4.2.4 0:4.2.4-r5 > gcc-cross-sdk 0:4.2.4-r5 > gcc-native 0:3.4.6-r10 > gcc-noemu 0:4.1.2-r0 > >> > >> > Regards, >> > >> > Pete >> > >> > >> _______________________________________________ >> Openembedded-devel mailing list >> Openembedded-devel@lists.openembedded.org >> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel >> > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 17+ messages in thread
* EABI pain and frustration! @ 2010-02-03 14:03 pspreadborough 2010-02-03 14:43 ` Koen Kooi 2010-02-05 12:29 ` Detlef Vollmann 0 siblings, 2 replies; 17+ messages in thread From: pspreadborough @ 2010-02-03 14:03 UTC (permalink / raw) To: openembedded-devel 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. Any help or suggestions would be greatly appreciated. Cheers, Pete ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-03 14:03 pspreadborough @ 2010-02-03 14:43 ` Koen Kooi 2010-02-03 15:59 ` Khem Raj 2010-02-05 12:29 ` Detlef Vollmann 1 sibling, 1 reply; 17+ messages in thread From: Koen Kooi @ 2010-02-03 14:43 UTC (permalink / raw) To: openembedded-devel -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 03-02-10 15:03, pspreadborough@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. Which MACHINE and DISTRO are you using in OE? And also: why CSL? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Darwin) iD8DBQFLaYuoMkyGM64RGpERAiBXAJ9EKxw1hWGKcmJGo5LlEsDmHYJ/wACfZ1Id 3Jz3mIP5xiMAez+V8l63TQ0= =aaua -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-03 14:43 ` Koen Kooi @ 2010-02-03 15:59 ` Khem Raj 0 siblings, 0 replies; 17+ messages in thread From: Khem Raj @ 2010-02-03 15:59 UTC (permalink / raw) To: openembedded-devel On (03/02/10 15:43), Koen Kooi wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > On 03-02-10 15:03, pspreadborough@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. hmm just tune and machine opts wont be enough you have to chose right abi options too. because your userland is OABI thats what you should chose for helloworld too. > > Which MACHINE and DISTRO are you using in OE? And also: why CSL? > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.5 (Darwin) > > iD8DBQFLaYuoMkyGM64RGpERAiBXAJ9EKxw1hWGKcmJGo5LlEsDmHYJ/wACfZ1Id > 3Jz3mIP5xiMAez+V8l63TQ0= > =aaua > -----END PGP SIGNATURE----- > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-03 14:03 pspreadborough 2010-02-03 14:43 ` Koen Kooi @ 2010-02-05 12:29 ` Detlef Vollmann 2010-02-05 13:31 ` pspreadborough 2010-02-05 18:00 ` Khem Raj 1 sibling, 2 replies; 17+ messages in thread From: Detlef Vollmann @ 2010-02-05 12:29 UTC (permalink / raw) To: openembedded-devel On 02/03/10 15:03, pspreadborough@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. Just checking: are you sure this is an EABI/OABI problem and not a Thumb code problem? Detlef ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-05 12:29 ` Detlef Vollmann @ 2010-02-05 13:31 ` pspreadborough 2010-02-05 18:00 ` Khem Raj 1 sibling, 0 replies; 17+ messages in thread From: pspreadborough @ 2010-02-05 13:31 UTC (permalink / raw) To: openembedded-devel ----- "Detlef Vollmann" <dv@vollmann.ch> wrote: > On 02/03/10 15:03, pspreadborough@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. > Just checking: are you sure this is an EABI/OABI problem and not a > Thumb code problem? I don't think so as I have the no-thumb compiler option enabled. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-05 12:29 ` Detlef Vollmann 2010-02-05 13:31 ` pspreadborough @ 2010-02-05 18:00 ` Khem Raj 2010-02-05 20:43 ` Travis Stratman 1 sibling, 1 reply; 17+ messages in thread From: Khem Raj @ 2010-02-05 18:00 UTC (permalink / raw) To: openembedded-devel On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv@vollmann.ch> wrote: > On 02/03/10 15:03, pspreadborough@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 ? > > Just checking: are you sure this is an EABI/OABI problem and not a > Thumb code problem? > > Detlef > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-05 18:00 ` Khem Raj @ 2010-02-05 20:43 ` Travis Stratman 2010-02-05 21:41 ` Khem Raj 2010-02-06 14:01 ` Phil Blundell 0 siblings, 2 replies; 17+ messages in thread From: Travis Stratman @ 2010-02-05 20:43 UTC (permalink / raw) To: openembedded-devel On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote: > On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv@vollmann.ch> wrote: > > On 02/03/10 15:03, pspreadborough@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 ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-05 20:43 ` Travis Stratman @ 2010-02-05 21:41 ` Khem Raj 2010-02-05 22:53 ` Travis Stratman 2010-02-06 14:01 ` Phil Blundell 1 sibling, 1 reply; 17+ messages in thread From: Khem Raj @ 2010-02-05 21:41 UTC (permalink / raw) To: openembedded-devel On Fri, Feb 5, 2010 at 12:43 PM, Travis Stratman <tstratman@emacinc.com> wrote: > On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote: >> On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv@vollmann.ch> wrote: >> > On 02/03/10 15:03, pspreadborough@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? Well you said armv4t thats a whole different story than armv4 (without 't') for EABI AFAICT SA1110 is based on ARMv4 not ARMv4t. > > Thanks, > > TAS > > > > _______________________________________________ > Openembedded-devel mailing list > Openembedded-devel@lists.openembedded.org > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-05 21:41 ` Khem Raj @ 2010-02-05 22:53 ` Travis Stratman 0 siblings, 0 replies; 17+ messages in thread From: Travis Stratman @ 2010-02-05 22:53 UTC (permalink / raw) To: openembedded-devel On Fri, 2010-02-05 at 13:41 -0800, Khem Raj wrote: > On Fri, Feb 5, 2010 at 12:43 PM, Travis Stratman <tstratman@emacinc.com> wrote: > > On Fri, 2010-02-05 at 10:00 -0800, Khem Raj wrote: > >> On Fri, Feb 5, 2010 at 4:29 AM, Detlef Vollmann <dv@vollmann.ch> wrote: > >> > On 02/03/10 15:03, pspreadborough@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? > > Well you said armv4t thats a whole different story than armv4 (without > 't') for EABI > AFAICT SA1110 is based on ARMv4 not ARMv4t. You are correct, my mistake. Thanks, TAS ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-05 20:43 ` Travis Stratman 2010-02-05 21:41 ` Khem Raj @ 2010-02-06 14:01 ` Phil Blundell 2010-02-06 16:24 ` pspreadborough 1 sibling, 1 reply; 17+ messages in thread From: Phil Blundell @ 2010-02-06 14:01 UTC (permalink / raw) To: openembedded-devel On Fri, 2010-02-05 at 14:43 -0600, Travis Stratman wrote: > >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 don't think this is strictly true: there shouldn't be any particular reason why OABI and EABI binaries couldn't coexist on the same filesystem. Of course, you would need to have both sets of runtimes installed (ld.so and libc at a mininum, plus whatever other libraries are needed by your apps) so this would not be completely trivial to arrange, but I can't think of anything that would impose a hard requirement for everything on the system to be using the same ABI. p. ^ permalink raw reply [flat|nested] 17+ messages in thread
* Re: EABI pain and frustration! 2010-02-06 14:01 ` Phil Blundell @ 2010-02-06 16:24 ` pspreadborough 0 siblings, 0 replies; 17+ messages in thread From: pspreadborough @ 2010-02-06 16:24 UTC (permalink / raw) To: openembedded-devel ----- "Phil Blundell" <philb@gnu.org> wrote: > On Fri, 2010-02-05 at 14:43 -0600, Travis Stratman wrote: > > >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 don't think this is strictly true: there shouldn't be any particular > reason why OABI and EABI binaries couldn't coexist on the same > filesystem. Of course, you would need to have both sets of runtimes > installed (ld.so and libc at a mininum, plus whatever other libraries > are needed by your apps) so this would not be completely trivial to > arrange, but I can't think of anything that would impose a hard > requirement for everything on the system to be using the same ABI. I used a statically linked executable in order to avoid having to install the support binaries. Pete ^ permalink raw reply [flat|nested] 17+ messages in thread
end of thread, other threads:[~2010-02-06 17:30 UTC | newest]
Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1525882292.3655251265221536810.JavaMail.root@sz0154a.westchester.pa.mail.comcast.net>
2010-02-03 18:32 ` EABI pain and frustration! pspreadborough
2010-02-03 18:39 ` Koen Kooi
[not found] <1444973837.415081265420091001.JavaMail.root@sz0154a.westchester.pa.mail.comcast.net>
2010-02-06 1:37 ` pspreadborough
2010-02-06 16:27 ` Khem Raj
2010-02-06 16:38 ` pspreadborough
2010-02-06 17:27 ` Khem Raj
2010-02-03 14:03 pspreadborough
2010-02-03 14:43 ` Koen Kooi
2010-02-03 15:59 ` Khem Raj
2010-02-05 12:29 ` Detlef Vollmann
2010-02-05 13:31 ` pspreadborough
2010-02-05 18:00 ` Khem Raj
2010-02-05 20:43 ` Travis Stratman
2010-02-05 21:41 ` Khem Raj
2010-02-05 22:53 ` Travis Stratman
2010-02-06 14:01 ` Phil Blundell
2010-02-06 16:24 ` pspreadborough
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.