[OE-core] [PATCH] Revert "cross-canadian: Handle powerpc linux verses linux-gnuspe"

David Nyström david.c.nystrom at gmail.com
Mon Jan 13 12:37:15 UTC 2014


On fre 10 jan 2014 16:15:08, Richard Purdie wrote:
> On Fri, 2014-01-10 at 15:48 +0100, David Nyström wrote:
>> The reverted commit seems to introduce some problems for the toolchain tarball
>> for powerpc.
>> I see this both in master and on dora.
>>
>> 1. Looks like the relocation scripts fails for environments:
>>
>> ~/tests/poky [master]
>> $ cat /opt/oel/2014-01-01/environment-setup-ppce500v2-oel-linux | grep "#"
>> export SDKTARGETSYSROOT=##SDKTARGETSYSROOT##
>>
>> ~/tests/poky [master]
>> $ cat /opt/oel/2014-01-01/environment-setup-ppce500v2-oel-linux-gnuspe | grep "#"
>>
>> 2. nativeSDK gnuspe compiler does not allow -mabi=spe
>> ABIEXTENSION is zeroed both for linux-gnuspe and linux
>>
>> 3. Compiler can't create executables.
>> I think this is due to libgcc_s.so from the SDK target sysroot is in mabi=spe.
>>
>> 4. -mspe is included in CC var for both linux and gnuspe.
>> cat /opt/oel/2014-01-01/environment-setup-ppce500v2-oel-linux | grep mabi
>> export CC="powerpc-oel-linux-gcc  -m32 -mcpu=8548 -mabi=spe -mspe ....
>> export CXX="powerpc-oel-linux-g++  -m32 -mcpu=8548 -mabi=spe -mspe ....
>> export CPP="powerpc-oel-linux-gcc -E  -m32 -mcpu=8548 -mabi=spe -mspe ....
>>
>> With the commit reverted, I can successfully build target code with the canadian compiler
>> from the SDK tarball. Only the gnuspe environment file is generated.
>
> Ok, so how do you propose we fix the issues the patch was added to
> address?
>
> Cheers,
>
> Richard
>

Just to clarify bug 5354:
If I understand the bug correctly, this would arise when first building 
the nativesdk tarball on a MACHINE with ABI linux,
and then building the nativesdk for another MACHINE(with the same the 
same TUNE) after altering ABIEXTENSION to linux-gnuspe ?

If I understand bug 5354 correctly, perhaps the tmp/sdk/tarball.here 
can be ABI specific ?
i.e. a generic rule that all nativesdk builds are invalidated if the 
ABI changes. I guess that would mean:
cross-canadian.bbclass: TARGET_ARCH[vardeps] += "ABIEXTENSION"
+ Adding ABIEXTENSION to the nativesdk tarball name.

PPC '=mabi=spe' seems to be one-way compatible,  I could not get the 
non-SPE configured compiler
to work with the SPE sysroot.
Another possible solution would be to always configure the compiler to 
SPE, and use compile time flags in the
environment file to do the selects. + symlinks for the compiler paths.
However, even if we fix it this way for powerpc, we will still have 
this issue with thumb f.ex.

It would be good if the Freescale folks could chime in here.

Br,
David




More information about the Openembedded-core mailing list