Hello, 2015-06-19 17:01 GMT+03:00 Mark Hatle <mark.ha...@windriver.com>: > On 6/19/15 4:23 AM, Dmitry Eremin-Solenikov wrote: >>> 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. > > The triplet for o32 is: > > mips-os-linux > > The triplet to n64 is: > > mips64-os-linux > > The triplet to n32 is: > > mips64-os-linux > > thus w/o the ABI extension there is no mechanism to distinguish between n64 > and n32. > >> Can you point me, please, how to create a tri-ABI SDK and/or image? > > Configure with a MIPS64 capable machine (yes qemumips64 is adequate). Then > add > the following to your local.conf: > > require conf/multilib.conf > DEFAULTTUNE = "mips32r2" > > MULTILIBS = "multilib:lib32 multilib:lib64" > DEFAULTTUNE_virtclass-multilib-lib32 = "mips64-n32" > DEFAULTTUNE_virtclass-multilib-lib64 = "mips64" > > > This will set the default ABI to 'o32', with optional n32 and n64 support. > (You > can switch around the defaulttune values to change which is default and which > is > optional. A common config is n32 default, o32 / n64 optional.)
I tried adding these settings to a special machine config (but there should be no difference with adding them to local.conf) and got a lot of errors from QA on linux-yocto (because of 32 vs 64 bitness missmatch on kernel objects). Are you sure that this config works out of box for you? -- With best wishes Dmitry -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core