* [PATCH 0/1] MIPS n32 shouldn't have SITEINFO_BITS = "64"
@ 2013-02-21 17:40 Peter Seebach
2013-02-21 17:40 ` [PATCH 1/1] More n32 fixups Peter Seebach
0 siblings, 1 reply; 4+ messages in thread
From: Peter Seebach @ 2013-02-21 17:40 UTC (permalink / raw)
To: openembedded-core
MIPS n32 is a mips64 which is 32 bit. This historical quirk is recognized
by insane.bbclass (except for a typo I made in a previous patch, also
fixed here), but siteinfo doesn't know, so various programs fail to build
correctly for it because SITEINFO_BITS is telling them they are 64-bit
builds. (We ran into this with nss, which isn't in oe-core that I know
of.)
So, add "bit-32" to mips-linux-gnun32's feature list (the SITEINFO_BITS
test checks for 32 first, 64 second, so I don't have to remove bit-64),
and remove the nonexistent mips-linux-gnun32 cases. Likewise for
mipsel/mips64el.
The following changes since commit a5362de60c0051f16b88a40bd9cb41915bee0b0f:
Ross Burton (1):
rootfs_ipkg: fix BAD_RECOMMENDATIONS handling
are available in the git repository at:
git://git.yoctoproject.org/poky-contrib seebs/gnun32
http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=seebs/gnun32
Peter Seebach (1):
More n32 fixups
meta/classes/insane.bbclass | 2 +-
meta/classes/siteinfo.bbclass | 6 ++----
2 files changed, 3 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 4+ messages in thread* [PATCH 1/1] More n32 fixups 2013-02-21 17:40 [PATCH 0/1] MIPS n32 shouldn't have SITEINFO_BITS = "64" Peter Seebach @ 2013-02-21 17:40 ` Peter Seebach [not found] ` <13cff0cc5c1.2760.0f39ed3bcad52ef2c88c90062b7714dc@gmail.com> 0 siblings, 1 reply; 4+ messages in thread From: Peter Seebach @ 2013-02-21 17:40 UTC (permalink / raw) To: openembedded-core For perfectly sound reasons, n32 MIPS is a mips64 subset denoted by an ABI change, thus, "mips64-vendor-linux-gnun32" rather than "mips-vendor-linux-gnu". A previous change had fixed up insane.bbclass to recognize these, which mostly worked, but left SITEINFO_BITS set to 64. Since bit-32 is processed first, and there are specific checks for linux-gnun32, modify the mips64-linux-gnun32 lines to specify "bit-32", so things that check SITEINFO_BITS get the right answer. Also, drop the mips{,el}-linux-gnun32 lines, because that's not a valid combination; n32 only makes sense for mips64. Also, the insane.bbclass change spelled "mips64el" as "mipsel64", which no one noticed because no one's using little-endian n32, apparently. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> --- meta/classes/insane.bbclass | 2 +- meta/classes/siteinfo.bbclass | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index f52fcea..3eff4df 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -107,7 +107,7 @@ def package_qa_get_machine_dict(): }, "linux-gnun32" : { "mips64": ( 8, 0, 0, False, 32), - "mipsel64": ( 8, 0, 0, True, 32), + "mips64el": ( 8, 0, 0, True, 32), }, } diff --git a/meta/classes/siteinfo.bbclass b/meta/classes/siteinfo.bbclass index e09d16a..09f88c6 100644 --- a/meta/classes/siteinfo.bbclass +++ b/meta/classes/siteinfo.bbclass @@ -67,10 +67,8 @@ def siteinfo_data(d): "arm-linux-uclibceabi": "arm-linux-uclibc", "armeb-linux-gnueabi": "armeb-linux", "armeb-linux-uclibceabi": "armeb-linux-uclibc", - "mips-linux-gnun32": "mips-linux", - "mipsel-linux-gnun32": "mipsel-linux", - "mips64-linux-gnun32": "mips-linux", - "mips64el-linux-gnun32": "mipsel-linux", + "mips64-linux-gnun32": "mips-linux bit-32", + "mips64el-linux-gnun32": "mipsel-linux bit-32", "powerpc-linux": "powerpc32-linux", "powerpc-linux-uclibc": "powerpc-linux powerpc32-linux", "powerpc-linux-gnuspe": "powerpc-linux powerpc32-linux", -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 4+ messages in thread
[parent not found: <13cff0cc5c1.2760.0f39ed3bcad52ef2c88c90062b7714dc@gmail.com>]
* Re: [PATCH 1/1] More n32 fixups [not found] ` <13cff0cc5c1.2760.0f39ed3bcad52ef2c88c90062b7714dc@gmail.com> @ 2013-02-21 23:23 ` Bernhard Reutner-Fischer 2013-02-21 23:31 ` Peter Seebach 0 siblings, 1 reply; 4+ messages in thread From: Bernhard Reutner-Fischer @ 2013-02-21 23:23 UTC (permalink / raw) To: Peter Seebach, openembedded-core On 21 February 2013 18:40:22 Peter Seebach <peter.seebach@windriver.com> wrote: > For perfectly sound reasons, n32 MIPS is a mips64 subset denoted by an > ABI change, thus, "mips64-vendor-linux-gnun32" rather than > "mips-vendor-linux-gnu". A previous change had fixed up insane.bbclass > to recognize these, which mostly worked, but left SITEINFO_BITS set to > 64. > > Since bit-32 is processed first, and there are specific checks for > linux-gnun32, modify the mips64-linux-gnun32 lines to specify "bit-32", > so things that check SITEINFO_BITS get the right answer. Also, drop > the mips{,el}-linux-gnun32 lines, because that's not a valid combination; > n32 only makes sense for mips64. > > Also, the insane.bbclass change spelled "mips64el" as "mipsel64", which > no one noticed because no one's using little-endian n32, apparently. Would be great if you could have a look at the FIXME in meta/recipes-core/uclibc/uclibc-config.inc for the correct setting of the respective mips ABI. Cheers, Sent with AquaMail for Android http://www.aqua-mail.com ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/1] More n32 fixups 2013-02-21 23:23 ` Bernhard Reutner-Fischer @ 2013-02-21 23:31 ` Peter Seebach 0 siblings, 0 replies; 4+ messages in thread From: Peter Seebach @ 2013-02-21 23:31 UTC (permalink / raw) To: Bernhard Reutner-Fischer; +Cc: openembedded-core On Fri, 22 Feb 2013 00:23:48 +0100 Bernhard Reutner-Fischer <rep.dot.nop@gmail.com> wrote: > > Also, the insane.bbclass change spelled "mips64el" as "mipsel64", > > which no one noticed because no one's using little-endian n32, > > apparently. > > Would be great if you could have a look at the FIXME in > meta/recipes-core/uclibc/uclibc-config.inc for the correct setting of > the respective mips ABI. Hmm. I can look, but I don't think I've touched uclibc in a fairly long time. Untested, but possibly pretty close: --- a/meta/recipes-core/uclibc/uclibc-config.inc +++ b/meta/recipes-core/uclibc/uclibc-config.inc @@ -73,9 +73,11 @@ def map_uclibc_abi(o, d): return 'ARM_EABI' else: return 'ARM_OABI' - # FIXME: This is inaccurate! Handle o32, n32, n64 elif re.match('^mips.*64$', arch): - return 'MIPS_N64_ABI' + if o.endswith('gnun32'): + return 'MIPS_N32_ABI' + else: + return 'MIPS_N64_ABI' elif re.match('^mips.*', arch): return 'MIPS_O32_ABI' return "" -s -- Listen, get this. Nobody with a good compiler needs to be justified. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-02-21 23:48 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-21 17:40 [PATCH 0/1] MIPS n32 shouldn't have SITEINFO_BITS = "64" Peter Seebach
2013-02-21 17:40 ` [PATCH 1/1] More n32 fixups Peter Seebach
[not found] ` <13cff0cc5c1.2760.0f39ed3bcad52ef2c88c90062b7714dc@gmail.com>
2013-02-21 23:23 ` Bernhard Reutner-Fischer
2013-02-21 23:31 ` Peter Seebach
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox