From: Tronje Krabbe Date: Fri, 21 Jun 2024 15:57:28 +0000 (-0700) Subject: rust-target-config: Update data layouts for 32-bit arm targets X-Git-Tag: uninative-4.6~196 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=802376953ed9f1b3e64b3cf57374c58d7ac68d88;p=thirdparty%2Fopenembedded%2Fopenembedded-core.git rust-target-config: Update data layouts for 32-bit arm targets update the rust data layout to sync with LLVM [1] fixes the following build error: error: data-layout for target `arm-poky-linux-gnueabi`, `e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64`, differs from LLVM target's `armv7-unknown-linux-gnueabihf` default layout, `e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64` meta-rust issue report with rust 1.76 [2] [1] https://github.com/llvm/llvm-project/commit/308e82ecebeef1342004637db9fdf11567a299b3 [2]: https://github.com/meta-rust/meta-rust/issues/444 Signed-off-by: Tronje Krabbe Signed-off-by: Khem Raj Signed-off-by: Alexandre Belloni --- diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass index 330ad8a3f53..334f2e7d5fc 100644 --- a/meta/classes-recipe/rust-target-config.bbclass +++ b/meta/classes-recipe/rust-target-config.bbclass @@ -130,7 +130,7 @@ def llvm_features(d): llvm_features[vardepvalue] = "${@llvm_features(d)}" ## arm-unknown-linux-gnueabihf -DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" +DATA_LAYOUT[arm-eabi] = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" TARGET_ENDIAN[arm-eabi] = "little" TARGET_POINTER_WIDTH[arm-eabi] = "32" TARGET_C_INT_WIDTH[arm-eabi] = "32" @@ -138,7 +138,7 @@ MAX_ATOMIC_WIDTH[arm-eabi] = "64" FEATURES[arm-eabi] = "+v6,+vfp2" ## armv7-unknown-linux-gnueabihf -DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-i64:64-v128:64:128-a:0:32-n32-S64" +DATA_LAYOUT[armv7-eabi] = "e-m:e-p:32:32-Fi8-i64:64-v128:64:128-a:0:32-n32-S64" TARGET_ENDIAN[armv7-eabi] = "little" TARGET_POINTER_WIDTH[armv7-eabi] = "32" TARGET_C_INT_WIDTH[armv7-eabi] = "32"