]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core-contrib.git/commitdiff
rust-target-config: Update data layouts for 32-bit arm targets
authorTronje Krabbe <tkrabbe@jusst.de>
Fri, 21 Jun 2024 15:57:28 +0000 (08:57 -0700)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 26 Jun 2024 12:58:57 +0000 (13:58 +0100)
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 <tkrabbe@jusst.de>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
meta/classes-recipe/rust-target-config.bbclass

index 330ad8a3f531f908994aca20407c8ce96943af35..334f2e7d5fc8f5bd71003249755d7038bd791710 100644 (file)
@@ -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"