summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorDeepesh Varatharajan <Deepesh.Varatharajan@windriver.com>2024-10-17 05:32:44 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2024-10-22 12:28:18 +0100
commit2d04e3e76f00b1cb8cd472041cd16744131a366f (patch)
tree55764a603143d54389284d15ece606310424301b /meta
parent570560f59b99786946c3d9e1649637719562f3bc (diff)
downloadpoky-2d04e3e76f00b1cb8cd472041cd16744131a366f.tar.gz
rust-target-config: Update the data layout for x86-64 target
The data layout for x86-64 target was different in rust from llvm. It resulted in the following data layout error: -------------------------------------------------------------------------------------- error: data-layout for target `x86_64-linux`, `e-m:e-i64:64-f80:128-n8:16:32:64-S128`, differs from LLVM target's `x86_64-unknown-linux-gnu` default layout, `e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128` -------------------------------------------------------------------------------------- The issue was reported in meta-rust layer as: https://github.com/meta-rust/meta-rust/pull/442 Hence, the data layout for x86-64 is modified as per the llvm sources which fixes the issue. After running the testsuite with the modified data layout; it was observed that the "tests/codegen/i128-x86-align.rs" passed. The modified data layout fixed the scalar pair which resolved the testcase failure. Hence, the testcase has been removed from the exclude list. (From OE-Core rev: 96f11d299b32a32086eb3d890c88eb7ce42057b0) Signed-off-by: Deepesh Varatharajan <Deepesh.Varatharajan@windriver.com> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/classes-recipe/rust-target-config.bbclass2
-rw-r--r--meta/lib/oeqa/selftest/cases/rust.py1
2 files changed, 1 insertions, 2 deletions
diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass
index 334f2e7d5f..f7aa6c74d8 100644
--- a/meta/classes-recipe/rust-target-config.bbclass
+++ b/meta/classes-recipe/rust-target-config.bbclass
@@ -153,7 +153,7 @@ TARGET_C_INT_WIDTH[aarch64] = "32"
153MAX_ATOMIC_WIDTH[aarch64] = "128" 153MAX_ATOMIC_WIDTH[aarch64] = "128"
154 154
155## x86_64-unknown-linux-{gnu, musl} 155## x86_64-unknown-linux-{gnu, musl}
156DATA_LAYOUT[x86_64] = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" 156DATA_LAYOUT[x86_64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-i128:128-f80:128-n8:16:32:64-S128"
157TARGET_ENDIAN[x86_64] = "little" 157TARGET_ENDIAN[x86_64] = "little"
158TARGET_POINTER_WIDTH[x86_64] = "64" 158TARGET_POINTER_WIDTH[x86_64] = "64"
159TARGET_C_INT_WIDTH[x86_64] = "32" 159TARGET_C_INT_WIDTH[x86_64] = "32"
diff --git a/meta/lib/oeqa/selftest/cases/rust.py b/meta/lib/oeqa/selftest/cases/rust.py
index cbe6366f75..88d7bb9518 100644
--- a/meta/lib/oeqa/selftest/cases/rust.py
+++ b/meta/lib/oeqa/selftest/cases/rust.py
@@ -83,7 +83,6 @@ class RustSelfTestSystemEmulated(OESelftestTestCase, OEPTestResultTestCase):
83 'src/tools/tidy/src/', 83 'src/tools/tidy/src/',
84 'tests/assembly/asm/aarch64-outline-atomics.rs', 84 'tests/assembly/asm/aarch64-outline-atomics.rs',
85 'tests/codegen/abi-main-signature-32bit-c-int.rs', 85 'tests/codegen/abi-main-signature-32bit-c-int.rs',
86 'tests/codegen/i128-x86-align.rs',
87 'tests/codegen/issues/issue-122805.rs', 86 'tests/codegen/issues/issue-122805.rs',
88 'tests/codegen/thread-local.rs', 87 'tests/codegen/thread-local.rs',
89 'tests/mir-opt/', 88 'tests/mir-opt/',