diff mbox series

[1/2] rust-target-config.bbclass: Add i128:128 to mips64 data layouts

Message ID 20261113-msieron-rust-mips-llvm-v1-1-cd3b005bd089@nokia.com
State Under Review
Headers show
Series Fix rust for mips platforms | expand

Commit Message

Michal Sieron Nov. 13, 2026, 3:13 p.m. UTC
LLVM 22 added i128:128 to the default MIPS64 data layout. rustc rejects
a target spec whose data-layout differs from the one LLVM reports, so
building libstd for mips64 fails:

  error: data-layout for target `mips64-octeon2-linux-gnu`,
  `E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128`, differs from LLVM
  target's `mips64-octeon2-linux-gnu` default layout,
  `E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128`

Add i128:128 to the mips64 and mips64el entries to match, as already
done for the other 64-bit architectures. mips64-n32 is left alone.

AI-Generated: Uses Cursor

Signed-off-by: Michal Sieron <michal.sieron@nokia.com>
---
 meta/classes-recipe/rust-target-config.bbclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff mbox series

Patch

diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass
index fee19a1a64..1faaaef33d 100644
--- a/meta/classes-recipe/rust-target-config.bbclass
+++ b/meta/classes-recipe/rust-target-config.bbclass
@@ -225,7 +225,7 @@  TARGET_C_INT_WIDTH[mipsel] = "32"
 MAX_ATOMIC_WIDTH[mipsel] = "32"
 
 ## mips64-unknown-linux-{gnu, musl}
-DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+DATA_LAYOUT[mips64] = "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
 TARGET_ENDIAN[mips64] = "big"
 TARGET_POINTER_WIDTH[mips64] = "64"
 TARGET_C_INT_WIDTH[mips64] = "32"
@@ -239,7 +239,7 @@  TARGET_C_INT_WIDTH[mips64-n32] = "32"
 MAX_ATOMIC_WIDTH[mips64-n32] = "64"
 
 ## mips64el-unknown-linux-{gnu, musl}
-DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-n32:64-S128"
+DATA_LAYOUT[mips64el] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128"
 TARGET_ENDIAN[mips64el] = "little"
 TARGET_POINTER_WIDTH[mips64el] = "64"
 TARGET_C_INT_WIDTH[mips64el] = "32"