Patchwork [1/1] More n32 fixups

login
register
mail settings
Submitter Peter Seebach
Date Feb. 21, 2013, 5:40 p.m.
Message ID <da66b07f031b6522b25dc353724b3c656d7511e1.1361468282.git.peter.seebach@windriver.com>
Download mbox | patch
Permalink /patch/44985/
State Accepted
Commit 593ee3698ed1b6925b561f70ba269e345578ff4c
Headers show

Comments

Peter Seebach - Feb. 21, 2013, 5:40 p.m.
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(-)
Bernhard Reutner-Fischer - Feb. 21, 2013, 11:23 p.m.
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

Patch

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",