[oe] [PATCH] sane-toolchain-eglibc.inc: Set TARGET_OS = linux-gnuspe for e500

Phil Blundell philb at gnu.org
Sun Aug 30 08:29:07 UTC 2009


On Sun, 2009-08-30 at 09:10 +0100, Phil Blundell wrote:
> On Sat, 2009-08-29 at 18:22 -0700, Khem Raj wrote:
> > We can override only for powerpc second time around. So changing it
> to 
> > 
> > TARGET_OS_powerpc =
> > "linux${@['','-gnuspe'][bb.data.getVar('TARGET_ARCH',d,1) in ['ppc',
> > 'powerpc'] and bb.data.getVar('MACHINE',d) in ['calamari',
> 'tqm8540']]}"
> > 
> > will that be ok ?
> 
> That's better, but it still doesn't seem terribly elegant.  I also
> remain slightly unconvinced that the eglibc-specific file is,
> conceptually, the right place for this logic. 

Actually, there is still a bigger problem with this change: it will
cause the ABI to change in a semi-random way depending on the selected
MACHINE and this will screw up people who are trying to do multimachine
builds.

For example, if I set MACHINE=calamari and then bitbake micro-image, it
will select linux-gnuspe and I will presumably get the SPE ABI.  But
then, if I set MACHINE=efika, say, and build another package in the same
tree, it'll now select regular linux and the ABI will change, although
this won't be reflected in the naming of the output packages: they'll
all just be named "powerpc".  Worse, if eglibc itself happens to be
version-bumped while I am building for efika, my C library will be
quietly recompiled with a different ABI and, presumably, lose in a
fairly serious way.

p.






More information about the Openembedded-devel mailing list