From: Richard Purdie <rpurdie@rpsys.net>
To: openembedded-devel@lists.openembedded.org
Subject: Re: [PATCH 0/3] Make multi-machine toolchains to co-exist.
Date: Sun, 25 Jul 2010 16:21:37 +0100 [thread overview]
Message-ID: <1280071297.13006.124.camel@rex> (raw)
In-Reply-To: <AANLkTik9ZnjaXvx6vxnjzxx013ms+cDjVv1FvsK31r5u@mail.gmail.com>
On Sun, 2010-07-25 at 07:41 -0700, Khem Raj wrote:
> On Sun, Jul 25, 2010 at 5:31 AM, Koen Kooi <k.kooi@student.utwente.nl> wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> >
> > On 25-07-10 13:16, Koen Kooi wrote:
> >> On 25-07-10 10:32, Koen Kooi wrote:
> >>> On 24-07-10 23:25, Khem Raj wrote:
> >>>> On (24/07/10 22:51), Koen Kooi wrote:
> >>>>> -----BEGIN PGP SIGNED MESSAGE-----
> >>>>> Hash: SHA1
> >>>>>
> >>>>> On 24-07-10 11:32, Khem Raj wrote:
> >>>>>> Hi
> >>>>>>
> >>>>>> Following three patches are for making multi-machine toolchains co-exist with
> >>>>>> new cross staging for toolchain.
> >>>>>>
> >>>>>> It changes the toolchain triplet from TARGET_ARCH-VENDOR-OS to TARGET_SUB_ARCH-VENDOR-OS
> >>>>>>
> >>>>>> which means that a toolchain for armv7 is called armv7-oe-linux-gnueabi-*
> >>>>>> and for armv5te its called armv5te-oe-linux-gnueabi-*
> >>>>>>
> >>>>>> They can coexist in same native sysroot. The symlinks would mean that
> >>>>>> gcc will not accidently mix the assemblers or linkers.
> >>>>>>
> >>>>>> I have booted a minimal-image on qemuarm successfully. The build for
> >>>>>> beagleboard in same sysroot is underway.
> >>>>>>
> >>>>>> Please give it a shot in your environments (especially Koen's env)
> >>>>>
> >>>>> MACHINE=beagleboard bitbake nano ; MACHINE=hawkboard bitbake nano work,
> >>>>> going to try a bigger build now.
> >>
> >>>> You will need 4th patch which is attached here, for the sdk recipes.
> >>
> >>> OK, applied that as well, 'MACHINE=beagleboard bitbake console-image ;
> >>> MACHINE=hawkboard bitbake console-image' works as well.
> >>> Let's see what xbmc does :)
> >>
> >> xbmc builds, but mplayer and gstreamer-ti fail.
> >>
> >> The fix for mplayer is simple, change configure:2106 from
> >> arm|armv4t|armv5te) to arm*).
> >>
> >> The gstreamer-ti one is a bit harder to fix:
> >>
> >> | checking host system type... Invalid configuration
> >> `beagleboard-angstrom-linux-gnueabi': machine `beagleboard-angstrom' not
> >> recognized
> >> | configure: error: /bin/sh ./config.sub
> >> beagleboard-angstrom-linux-gnueabi failed
> >>
> >> That recipe is machine specific, so for TARGET_ARCH == MACHINE_ARCH we
> >> probably need to change things. Does anyone have a sample on how to do that?
> >
> > And cacao:
> >
> > | configure: error: armv7a systems are not supported at this time
> > | ERROR: Function do_configure failed
>
> yes I was expecting that kind of problems. openssl also has similar issues.
>
> another idea that struck me was that we could change the target triplet to drop
> TARGET_VENDOR and replace it with TARGET_SUB_ARCH and TARGET_SUBARCH
> could be anything
> we could even make it same as MACHINE_ARCH which means you will build
> toolchain per machine
> and they will live together.
>
> then the tool names will be something like arm-v7-linux-gnueabi-*
> powerpc-e500-linux-gnu
> mips-mips2-linux etc. instead of *-angstrom-*- or *-oe-*-
>
> or arm-beagleboad-linux-gnueabi-* etc if we go with MACHINE_ARCH
>
> that would keep all recipe configury happy as the arch detected from
> config.guess will be what
> we had (arm, mips, mipsel powerpc etc) so no changes needed but we
> will have to drop the brand
>
> does it sound good ? bad?
So we use the vendor part of the triplet? Its certainly an option that
should work but I'm nervous about assigning meaning into something we've
traditionally left to the distros.
The more I think about it, the more I suspect its the better way to
handle things though :/.
FWIW, I have got the other approach I mentioned working in Poky. Its
taken a few fixes to get it working right. In doing that I found a
number of areas in the toolchain that raised questions about exactly
what we're doing, and how fragile the current setup is. Symlinks in
gcc's libexec directory for the toolchain components like "as" and "ld"
are one thing I'm going to strongly recommend OE should consider.
Unfortunately I'm travelling for work next week and I'm not going to
have time to look at this until after that, much as I'd like to.
Cheers,
Richard
next prev parent reply other threads:[~2010-07-25 15:22 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-07-24 9:32 [PATCH 0/3] Make multi-machine toolchains to co-exist Khem Raj
2010-07-24 9:32 ` [PATCH 1/3] bitbake.conf: Define HOST_SYS and TARGET_SYS based on target sub-arch Khem Raj
2010-07-24 9:32 ` [PATCH 2/3] binutils-cross.inc, binutils.inc: Overhaul for new cross dir structure Khem Raj
2010-07-24 9:32 ` [PATCH 3/3] gcc-cross: Use EXTRA_OECONF_PATHS in initial and intermediate recipes Khem Raj
2010-07-24 10:47 ` [PATCH 0/3] Make multi-machine toolchains to co-exist Koen Kooi
2010-07-24 20:51 ` Koen Kooi
2010-07-24 21:25 ` Khem Raj
2010-07-25 8:32 ` Koen Kooi
2010-07-25 11:16 ` Koen Kooi
2010-07-25 12:31 ` Koen Kooi
2010-07-25 14:41 ` Khem Raj
2010-07-25 15:10 ` Koen Kooi
2010-07-25 15:53 ` Richard Purdie
2010-07-25 19:43 ` Khem Raj
2010-07-26 7:50 ` Koen Kooi
2010-07-26 8:54 ` Khem Raj
2010-07-25 15:21 ` Richard Purdie [this message]
2010-07-25 14:30 ` Khem Raj
2010-07-25 15:19 ` Koen Kooi
2010-07-26 9:02 ` Eric Bénard
2010-07-26 9:01 ` Eric Bénard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1280071297.13006.124.camel@rex \
--to=rpurdie@rpsys.net \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.