diff mbox series

rust-target-config: Update data layouts for 32-bit arm targets

Message ID 20240621155728.2918194-1-raj.khem@gmail.com
State New
Headers show
Series rust-target-config: Update data layouts for 32-bit arm targets | expand

Commit Message

Khem Raj June 21, 2024, 3:57 p.m. UTC
From: Tronje Krabbe <tkrabbe@jusst.de>

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>
---
 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 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"