Openembedded Core Discussions
 help / color / mirror / Atom feed
From: "WXbet" <WXbet@proton.me>
To: openembedded-core@lists.openembedded.org
Subject: Re: Patchtest results for [OE-core][PATCH] rust-target-config: set MIPS ABI in the target JSON
Date: Sat, 01 Aug 2026 13:22:03 -0700	[thread overview]
Message-ID: <1187398.1785615723859112886@lists.openembedded.org> (raw)
In-Reply-To: <0101019fbe2a3432-caeb4aed-426f-4bf0-90d5-1eeef8d57452-000000@us-west-2.amazonses.com>


[-- Attachment #1.1: Type: text/plain, Size: 49 bytes --]

Sorry, I am not able to send it in another way.

[-- Attachment #1.2: Type: text/html, Size: 60 bytes --]

[-- Attachment #2: 0001-rust-target-config-set-MIPS-ABI-in-the-target-JSON.patch --]
[-- Type: application/octet-stream, Size: 2229 bytes --]

From 44c9b20f5bba9abb0207c6caed8ba377f500dc56 Mon Sep 17 00:00:00 2001
From: WXbet <57314510+WXbet@users.noreply.github.com>
Date: Sat, 1 Aug 2026 17:34:12 +0200
Subject: [OE-core][PATCH] rust-target-config: set MIPS ABI in the target JSON

rustc 1.96 (rust-lang/rust#153769) started rejecting MIPS target JSON
files that do not carry both an "abi" field and a matching "llvm-
abiname" field, aborting libstd-rs's do_compile with

  error: error loading target specification:
         invalid MIPS ABI name and `cfg(target_abi)` combination:
         ABI name: <empty>
         cfg(target_abi): <empty>

rust_gen_target() populates the target JSON from the DATA_LAYOUT /
TARGET_ENDIAN / ... varflags plus an arch-specific "abi" branch that
today only covers arm/armv7. On mips*/mipsel* neither "abi" nor
"llvm-abiname" is written, so rustc's stricter check fails.

Cover every MIPS tune shipped in meta/conf/machine/include/mips/
arch-mips.inc's AVAILTUNES:

  arch=mips / mipsel                      -> o32
  arch=mips64 / mips64el, ABIEXTENSION="" -> n64
  arch=mips64 / mips64el, ABIEXTENSION=n32 -> n32

Note that the mips64-o32 / mips64el-o32 tunes (o32 ABI on a 64-bit
MIPS CPU) get MIPSPKGSFX_BYTE="" from arch-mips.inc and therefore
TUNE_ARCH="mips[el]"; they fall into the 32-bit branch above.
---
 meta/classes-recipe/rust-target-config.bbclass | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass
index 6acbe5e688..54919091fe 100644
--- a/meta/classes-recipe/rust-target-config.bbclass
+++ b/meta/classes-recipe/rust-target-config.bbclass
@@ -438,6 +438,13 @@ def rust_gen_target(d, thing, wd, arch):
         elif fpu == "hard":
             tspec['abi'] = "eabihf"
             tspec['llvm-floatabi'] = "hard"
+    if arch in ["mips", "mipsel"]:
+        tspec['abi'] = "o32"
+        tspec['llvm-abiname'] = "o32"
+    elif arch in ["mips64", "mips64el"]:
+        mips_abi = "n32" if abi == "n32" else "n64"
+        tspec['abi'] = mips_abi
+        tspec['llvm-abiname'] = mips_abi
     tspec['default-uwtable'] = True
     tspec['dynamic-linking'] = True
     tspec['executables'] = True
-- 
2.47.1.windows.1


      reply	other threads:[~2026-08-01 20:22 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-01 16:16 [OE-core][PATCH] rust-target-config: set MIPS ABI in the target JSON WXbet
2026-08-01 16:31 ` Patchtest results for " patchtest
2026-08-01 20:22   ` WXbet [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1187398.1785615723859112886@lists.openembedded.org \
    --to=wxbet@proton.me \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox