rust: Fix assertion failure error on oe-selftest

Fixes: thread 'main' panicked at 'assertion failed: `(left == right)`
       left: `x86_64-unknown-linux-gnu`,
       right: `x86_64-poky-linux-gnu`: Cannot obtain compiler for non-native build triple at stage 0', compile.rs:1474:13

Add correct target value for cross-compiled targets on stage1 during rust oe-selfest.

(From OE-Core rev: b8c1091276b6b9b1ae162dd19b2652f493a686d8)

Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Yash Shinde
2024-01-25 05:16:00 -08:00
committed by Richard Purdie
parent 208b3bee78
commit ac7375e02f

View File

@@ -0,0 +1,26 @@
Add correct build value for cross-compiled targets on stage1 when
bootstapping rustc.
Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/119619/commits/b888e2f82b9dbe81875f50d13adbc0271a9401ff]
Signed-off-by: onur-ozkan <work@onurozkan.dev>
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
---
diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs
--- a/src/bootstrap/test.rs
+++ b/src/bootstrap/test.rs
@@ -1489,8 +1489,12 @@
// NOTE: Only stage 1 is special cased because we need the rustc_private artifacts to match the
// running compiler in stage 2 when plugins run.
let stage_id = if suite == "ui-fulldeps" && compiler.stage == 1 {
- compiler = builder.compiler(compiler.stage - 1, target);
- format!("stage{}-{}", compiler.stage + 1, target)
+ // At stage 0 (stage - 1) we are using the beta compiler. Using `self.target` can lead finding
+ // an incorrect compiler path on cross-targets, as the stage 0 beta compiler is always equal
+ // to `build.build` in the configuration.
+ let build = builder.build.build;
+ compiler = builder.compiler(compiler.stage - 1, build);
+ format!("stage{}-{}", compiler.stage + 1, build)
} else {
format!("stage{}-{}", compiler.stage, target)
};