@@ -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"
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(-)