[OE-core] [PATCH 1/3] arch-mips.inc: don't override TRANSLATED_TARGET_ARCH

Dmitry Eremin-Solenikov dbaryshkov at gmail.com
Fri Jun 19 09:23:54 UTC 2015


> On 6/18/15 8:13 AM, Dmitry Eremin-Solenikov wrote:
>> Currently MIPS64 N32 is broken. There is internal disagreement
>> between TARGET_ARCH (which doesn't contain ABIEXTENSION) and
>> TRANSLATED_TARGET_ARCH (which contains ABIEXTENSION). ABI is already
>> encoded into the TARGET_OS. ARM tunes in the same situation override
>> neither the TARGET_ARCH nor the TRANSLATED_TARGET_ARCH. So let's drop
>> this override.
>
> This series won't work properly, unless I'm reading something incorrectly.
>
> You won't be able to build/install a tri-lib system after this change, as
> something needs to be there to differential between MIPS32 (o32), MIPS64 (n32)
> and MIPS64 (n64).
>
> Currently this is done via the ABIEXTENSION value.

Why do you need this differentiation in the TARGET_ARCH? We have TARGET_SYS
(triplets) for that, don't we? And the compilers for the N64/N32 (the
only thing IIRC
that is really dependent on the TARGET_ARCH) should be interchangeable, AFAIU.

Can you point me, please, how to create a tri-ABI SDK and/or image?

>
> What is currently broken w/ MIPS64 N32?  We put in a number of fixes for this
> problem and SDK generation in the YP 1.8 time frame.  Perhaps something has
> changed since then or maybe the fixes were not as complete as we thought?

Quite simple configuration (MIPS64 N32 image) fails to build.


lumag at nexs:~/OE$ MACHINE=qemumips64n32 bitbake core-image-base
NOTE: Started PRServer with DBfile:
/home/lumag/OE/cache/prserv.sqlite3, IP: 127.0.0.1, PORT: 46391, PID:
15895
Loading cache: 100%
|########################################################################################################################|
ETA:  00:00:00
Loaded 1302 entries from dependency cache.
NOTE: Resolving any missing task queue dependencies
ERROR: Nothing RPROVIDES 'binutils-cross-canadian-mips64' (but
/home/lumag/OE/sources/openembedded-core/meta/recipes-core/packagegroups/packagegroup-cross-canadian.bb
RDEPENDS on or otherwise requires it)
NOTE: Runtime target 'binutils-cross-canadian-mips64' is unbuildable,
removing...
Missing or unbuildable dependency chain was: ['binutils-cross-canadian-mips64']
NOTE: Runtime target 'packagegroup-cross-canadian-qemumips64n32' is
unbuildable, removing...
Missing or unbuildable dependency chain was:
['packagegroup-cross-canadian-qemumips64n32',
'binutils-cross-canadian-mips64']
ERROR: Required build target 'core-image-base' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-base',
'packagegroup-cross-canadian-qemumips64n32',
'binutils-cross-canadian-mips64']




-- 
With best wishes
Dmitry



More information about the Openembedded-core mailing list