Complete Yocto mirror with license table for TQMa6UL (2038-compliance)
- 264 license table entries with exact download URLs (224/264 resolved) - Complete sources/ directory with all BitBake recipes - Build configuration: tqma6ul-multi-mba6ulx, spaetzle (musl) - Full traceability for Softwarefreigabeantrag - GCC 13.4.0, Linux 6.6.102, U-Boot 2023.04, musl 1.2.4 - License distribution: GPL-2.0 (24), MIT (23), GPL-2.0+ (18), BSD-3 (16)
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
From 5e37ea7cb9d99d91f2c5ac6edf19ff777f95bb88 Mon Sep 17 00:00:00 2001
|
||||
From: Arlo Siemsen <arsiem@microsoft.com>
|
||||
Date: Thu, 4 Jan 2024 11:40:56 -0600
|
||||
Subject: [PATCH] Handle vendored sources when remapping paths
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/rust-lang/rust/pull/119582]
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
---
|
||||
src/bootstrap/src/core/builder.rs | 19 ++++++++++++-------
|
||||
1 file changed, 12 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/src/bootstrap/src/core/builder.rs b/src/bootstrap/src/core/builder.rs
|
||||
index cd276674dee6..48fdb2c7f7b7 100644
|
||||
--- a/src/bootstrap/src/core/builder.rs
|
||||
+++ b/src/bootstrap/src/core/builder.rs
|
||||
@@ -1789,15 +1789,20 @@ pub fn cargo(
|
||||
}
|
||||
|
||||
if self.config.rust_remap_debuginfo {
|
||||
- // FIXME: handle vendored sources
|
||||
- let registry_src = t!(home::cargo_home()).join("registry").join("src");
|
||||
let mut env_var = OsString::new();
|
||||
- for entry in t!(std::fs::read_dir(registry_src)) {
|
||||
- if !env_var.is_empty() {
|
||||
- env_var.push("\t");
|
||||
- }
|
||||
- env_var.push(t!(entry).path());
|
||||
+ if self.config.vendor {
|
||||
+ let vendor = self.build.src.join("vendor");
|
||||
+ env_var.push(vendor);
|
||||
env_var.push("=/rust/deps");
|
||||
+ } else {
|
||||
+ let registry_src = t!(home::cargo_home()).join("registry").join("src");
|
||||
+ for entry in t!(std::fs::read_dir(registry_src)) {
|
||||
+ if !env_var.is_empty() {
|
||||
+ env_var.push("\t");
|
||||
+ }
|
||||
+ env_var.push(t!(entry).path());
|
||||
+ env_var.push("=/rust/deps");
|
||||
+ }
|
||||
}
|
||||
cargo.env("RUSTC_CARGO_REGISTRY_SRC_TO_REMAP", env_var);
|
||||
}
|
||||
--
|
||||
2.39.0
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
From 8bf0c566387e6a48d854d5f69c43c8bfa45092f9 Mon Sep 17 00:00:00 2001
|
||||
From: Alex Kiernan <alexk@zuma.ai>
|
||||
Date: Sun, 24 Dec 2023 09:40:01 +0000
|
||||
Subject: [PATCH] Revert "Map source absolute paths to OUT_DIR as relative.
|
||||
(#684)"
|
||||
|
||||
This reverts commit c4f414f449bb7cffba3bc923f277704d1d08a8ec.
|
||||
|
||||
Upstream-Status: Inappropriate [patches need rework]
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
---
|
||||
src/lib.rs | 22 ++--------------------
|
||||
1 file changed, 2 insertions(+), 20 deletions(-)
|
||||
|
||||
Index: rustc-1.72.0-src/vendor/cc/src/lib.rs
|
||||
===================================================================
|
||||
--- rustc-1.72.0-src.orig/vendor/cc/src/lib.rs
|
||||
+++ rustc-1.72.0-src/vendor/cc/src/lib.rs
|
||||
@@ -56,12 +56,11 @@
|
||||
#![allow(deprecated)]
|
||||
#![deny(missing_docs)]
|
||||
|
||||
-use std::collections::{hash_map, HashMap};
|
||||
+use std::collections::HashMap;
|
||||
use std::env;
|
||||
use std::ffi::{OsStr, OsString};
|
||||
use std::fmt::{self, Display, Formatter};
|
||||
use std::fs;
|
||||
-use std::hash::Hasher;
|
||||
use std::io::{self, BufRead, BufReader, Read, Write};
|
||||
use std::path::{Component, Path, PathBuf};
|
||||
use std::process::{Child, Command, Stdio};
|
||||
@@ -1037,24 +1036,7 @@ impl Build {
|
||||
|
||||
let mut objects = Vec::new();
|
||||
for file in self.files.iter() {
|
||||
- let obj = if file.has_root() {
|
||||
- // If `file` is an absolute path, prefix the `basename`
|
||||
- // with the `dirname`'s hash to ensure name uniqueness.
|
||||
- let basename = file
|
||||
- .file_name()
|
||||
- .ok_or_else(|| Error::new(ErrorKind::InvalidArgument, "file_name() failure"))?
|
||||
- .to_string_lossy();
|
||||
- let dirname = file
|
||||
- .parent()
|
||||
- .ok_or_else(|| Error::new(ErrorKind::InvalidArgument, "parent() failure"))?
|
||||
- .to_string_lossy();
|
||||
- let mut hasher = hash_map::DefaultHasher::new();
|
||||
- hasher.write(dirname.to_string().as_bytes());
|
||||
- dst.join(format!("{:016x}-{}", hasher.finish(), basename))
|
||||
- .with_extension("o")
|
||||
- } else {
|
||||
- dst.join(file).with_extension("o")
|
||||
- };
|
||||
+ let obj = dst.join(file).with_extension("o");
|
||||
let obj = if !obj.starts_with(&dst) {
|
||||
dst.join(obj.file_name().ok_or_else(|| {
|
||||
Error::new(ErrorKind::IOError, "Getting object file details failed.")
|
||||
Index: rustc-1.72.0-src/vendor/cc/.cargo-checksum.json
|
||||
===================================================================
|
||||
--- rustc-1.72.0-src.orig/vendor/cc/.cargo-checksum.json
|
||||
+++ rustc-1.72.0-src/vendor/cc/.cargo-checksum.json
|
||||
@@ -1 +1 @@
|
||||
-{"files":{"Cargo.lock":"dddb9c49058d411a098e98dc1c06e3bc89f859a2080d96c11b11aec67394bb8c","Cargo.toml":"1953a8bc4b98e351fe75917c151b1e08a46531d562aebba25a90add4aadecac2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"58af5106352aafa62175a90f8a5f25fa114028bf909220dc0735d79745999ec1","src/bin/gcc-shim.rs":"36dc4e447428e73c548cc7106ca1e8f282c098463b014e13a729a44445de4880","src/com.rs":"29d0dee08a656ab1a4cc3e5fe24542e0fab5c1373cbc9b05059f7572cf9b8313","src/lib.rs":"17a4659710aa290c4ed9c23063c7b202c5bcf2a84de33aa1f01fc6fded69a1f8","src/registry.rs":"98ae2b71781acc49297e5544fa0cf059f735636f8f1338edef8dbf7232443945","src/setup_config.rs":"72deaf1927c0b713fd5c2b2d5b8f0ea3a303a00fda1579427895cac26a94122d","src/vs_instances.rs":"2d3f8278a803b0e7052f4eeb1979b29f963dd0143f4458e2cb5f33c4e5f0963b","src/winapi.rs":"e128e95b2d39ae7a02f54a7e25d33c488c14759b9f1a50a449e10545856950c3","src/windows_registry.rs":"1f973f804b4b451e48ff6d98ce660355772f164dfdf79a6ae514645c7c764005","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"a3c8d116973bb16066bf6ec4de5143183f97de7aad085d85f8118a2eaac3e1e0","tests/test.rs":"61fb35ae6dd5cf506ada000bdd82c92e9f8eac9cc053b63e83d3f897436fbf8f"},"package":"50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"}
|
||||
\ No newline at end of file
|
||||
+{"files":{"Cargo.lock":"dddb9c49058d411a098e98dc1c06e3bc89f859a2080d96c11b11aec67394bb8c","Cargo.toml":"1953a8bc4b98e351fe75917c151b1e08a46531d562aebba25a90add4aadecac2","LICENSE-APACHE":"a60eea817514531668d7e00765731449fe14d059d3249e0bc93b36de45f759f2","LICENSE-MIT":"378f5840b258e2779c39418f3f2d7b2ba96f1c7917dd6be0713f88305dbda397","README.md":"58af5106352aafa62175a90f8a5f25fa114028bf909220dc0735d79745999ec1","src/bin/gcc-shim.rs":"36dc4e447428e73c548cc7106ca1e8f282c098463b014e13a729a44445de4880","src/com.rs":"29d0dee08a656ab1a4cc3e5fe24542e0fab5c1373cbc9b05059f7572cf9b8313","src/lib.rs":"dfb36b17362e9a5b266cb19a229d982e8c0bba784b1e99769f690692b0cd5c4e","src/registry.rs":"98ae2b71781acc49297e5544fa0cf059f735636f8f1338edef8dbf7232443945","src/setup_config.rs":"72deaf1927c0b713fd5c2b2d5b8f0ea3a303a00fda1579427895cac26a94122d","src/vs_instances.rs":"2d3f8278a803b0e7052f4eeb1979b29f963dd0143f4458e2cb5f33c4e5f0963b","src/winapi.rs":"e128e95b2d39ae7a02f54a7e25d33c488c14759b9f1a50a449e10545856950c3","src/windows_registry.rs":"1f973f804b4b451e48ff6d98ce660355772f164dfdf79a6ae514645c7c764005","tests/cc_env.rs":"e02b3b0824ad039b47e4462c5ef6dbe6c824c28e7953af94a0f28f7b5158042e","tests/cflags.rs":"57f06eb5ce1557e5b4a032d0c4673e18fbe6f8d26c1deb153126e368b96b41b3","tests/cxxflags.rs":"c2c6c6d8a0d7146616fa1caed26876ee7bc9fcfffd525eb4743593cade5f3371","tests/support/mod.rs":"a3c8d116973bb16066bf6ec4de5143183f97de7aad085d85f8118a2eaac3e1e0","tests/test.rs":"61fb35ae6dd5cf506ada000bdd82c92e9f8eac9cc053b63e83d3f897436fbf8f"},"package":"50d30906286121d95be3d479533b458f87493b30a4b5f79a607db8f5d11aa91f"}
|
||||
\ No newline at end of file
|
||||
@@ -0,0 +1,51 @@
|
||||
From 065d7c263091118437465d714d8a29dbb6296921 Mon Sep 17 00:00:00 2001
|
||||
From: Alexander Kanavin <alex@linutronix.de>
|
||||
Date: Mon, 13 May 2024 14:57:54 +0200
|
||||
Subject: [PATCH] cargo: do not write host information into compilation unit
|
||||
hashes
|
||||
|
||||
This breaks reproducibility in cross-builds where the cross-target
|
||||
can be the same, but build hosts are different, as seen with
|
||||
"rustc --version -v":
|
||||
...
|
||||
host: x86_64-unknown-linux-gnu
|
||||
|
||||
vs.
|
||||
|
||||
host: aarch64-unknown-linux-gnu
|
||||
|
||||
This can possibly be improved by only hashing host info if the build
|
||||
is a native one (e.g. there's no --target option passed to cargo
|
||||
invocation) but I'm not sure how.
|
||||
|
||||
Upstream-Status: Inappropriate [reported at https://github.com/rust-lang/cargo/issues/13922]
|
||||
Signed-off-by: Alexander Kanavin <alex@linutronix.de>
|
||||
---
|
||||
.../src/cargo/core/compiler/context/compilation_files.rs | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/tools/cargo/src/cargo/core/compiler/context/compilation_files.rs b/src/tools/cargo/src/cargo/core/compiler/context/compilation_files.rs
|
||||
index d83dbf10c..b2ad8d9f3 100644
|
||||
--- a/src/tools/cargo/src/cargo/core/compiler/context/compilation_files.rs
|
||||
+++ b/src/tools/cargo/src/cargo/core/compiler/context/compilation_files.rs
|
||||
@@ -652,7 +652,7 @@ fn hash_rustc_version(bcx: &BuildContext<'_, '_>, hasher: &mut StableHasher) {
|
||||
if vers.pre.is_empty() || bcx.config.cli_unstable().separate_nightlies {
|
||||
// For stable, keep the artifacts separate. This helps if someone is
|
||||
// testing multiple versions, to avoid recompiles.
|
||||
- bcx.rustc().verbose_version.hash(hasher);
|
||||
+ //bcx.rustc().verbose_version.hash(hasher);
|
||||
return;
|
||||
}
|
||||
// On "nightly"/"beta"/"dev"/etc, keep each "channel" separate. Don't hash
|
||||
@@ -665,7 +665,7 @@ fn hash_rustc_version(bcx: &BuildContext<'_, '_>, hasher: &mut StableHasher) {
|
||||
// Keep "host" since some people switch hosts to implicitly change
|
||||
// targets, (like gnu vs musl or gnu vs msvc). In the future, we may want
|
||||
// to consider hashing `unit.kind.short_name()` instead.
|
||||
- bcx.rustc().host.hash(hasher);
|
||||
+ //bcx.rustc().host.hash(hasher);
|
||||
// None of the other lines are important. Currently they are:
|
||||
// binary: rustc <-- or "rustdoc"
|
||||
// commit-hash: 38114ff16e7856f98b2b4be7ab4cd29b38bed59a
|
||||
--
|
||||
2.39.2
|
||||
|
||||
@@ -0,0 +1,90 @@
|
||||
Detect and fetch custom target configurations when rustc is
|
||||
bootstrapped in rust oe-selftest.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/119619/commits/26c71cbcf1a9bce6ceb962d753c467d098f63cf6]
|
||||
|
||||
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
||||
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
|
||||
---
|
||||
diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs
|
||||
index e85f6319936..c45c0b3c652 100644
|
||||
--- a/src/tools/compiletest/src/common.rs
|
||||
+++ b/src/tools/compiletest/src/common.rs
|
||||
@@ -479,6 +479,7 @@ fn new(config: &Config) -> TargetCfgs {
|
||||
let mut targets: HashMap<String, TargetCfg> = serde_json::from_str(&rustc_output(
|
||||
config,
|
||||
&["--print=all-target-specs-json", "-Zunstable-options"],
|
||||
+ Default::default(),
|
||||
))
|
||||
.unwrap();
|
||||
|
||||
@@ -491,16 +492,33 @@ fn new(config: &Config) -> TargetCfgs {
|
||||
let mut all_families = HashSet::new();
|
||||
let mut all_pointer_widths = HashSet::new();
|
||||
|
||||
- // Handle custom target specs, which are not included in `--print=all-target-specs-json`.
|
||||
- if config.target.ends_with(".json") {
|
||||
- targets.insert(
|
||||
- config.target.clone(),
|
||||
- serde_json::from_str(&rustc_output(
|
||||
- config,
|
||||
- &["--print=target-spec-json", "-Zunstable-options", "--target", &config.target],
|
||||
- ))
|
||||
- .unwrap(),
|
||||
- );
|
||||
+ // If current target is not included in the `--print=all-target-specs-json` output,
|
||||
+ // we check whether it is a custom target from the user or a synthetic target from bootstrap.
|
||||
+ if !targets.contains_key(&config.target) {
|
||||
+ let mut envs: HashMap<String, String> = HashMap::new();
|
||||
+
|
||||
+ if let Ok(t) = std::env::var("RUST_TARGET_PATH") {
|
||||
+ envs.insert("RUST_TARGET_PATH".into(), t);
|
||||
+ }
|
||||
+
|
||||
+ // This returns false only when the target is neither a synthetic target
|
||||
+ // nor a custom target from the user, indicating it is most likely invalid.
|
||||
+ if config.target.ends_with(".json") || !envs.is_empty() {
|
||||
+ targets.insert(
|
||||
+ config.target.clone(),
|
||||
+ serde_json::from_str(&rustc_output(
|
||||
+ config,
|
||||
+ &[
|
||||
+ "--print=target-spec-json",
|
||||
+ "-Zunstable-options",
|
||||
+ "--target",
|
||||
+ &config.target,
|
||||
+ ],
|
||||
+ envs,
|
||||
+ ))
|
||||
+ .unwrap(),
|
||||
+ );
|
||||
+ }
|
||||
}
|
||||
|
||||
for (target, cfg) in targets.iter() {
|
||||
@@ -545,7 +563,9 @@ fn get_current_target_config(
|
||||
// code below extracts them from `--print=cfg`: make sure to only override fields that can
|
||||
// actually be changed with `-C` flags.
|
||||
for config in
|
||||
- rustc_output(config, &["--print=cfg", "--target", &config.target]).trim().lines()
|
||||
+ rustc_output(config, &["--print=cfg", "--target", &config.target], Default::default())
|
||||
+ .trim()
|
||||
+ .lines()
|
||||
{
|
||||
let (name, value) = config
|
||||
.split_once("=\"")
|
||||
@@ -624,11 +644,12 @@ pub enum Endian {
|
||||
Big,
|
||||
}
|
||||
|
||||
-fn rustc_output(config: &Config, args: &[&str]) -> String {
|
||||
+fn rustc_output(config: &Config, args: &[&str], envs: HashMap<String, String>) -> String {
|
||||
let mut command = Command::new(&config.rustc_path);
|
||||
add_dylib_path(&mut command, iter::once(&config.compile_lib_path));
|
||||
command.args(&config.target_rustcflags).args(args);
|
||||
command.env("RUSTC_BOOTSTRAP", "1");
|
||||
+ command.envs(envs);
|
||||
|
||||
let output = match command.output() {
|
||||
Ok(output) => output,
|
||||
|
||||
@@ -0,0 +1,59 @@
|
||||
When building for the target, some build paths end up embedded in the binaries.
|
||||
These changes remove that. Further investigation is needed to work out the way
|
||||
to resolve these issues properly upstream.
|
||||
|
||||
Upstream-Status: Inappropriate [patches need rework]
|
||||
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
||||
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
|
||||
|
||||
diff --git a/compiler/rustc_codegen_llvm/src/context.rs b/compiler/rustc_codegen_llvm/src/context.rs
|
||||
index b4b2ab1e1f8a..8bb3e3f0557c 100644
|
||||
--- a/compiler/rustc_codegen_llvm/src/context.rs
|
||||
+++ b/compiler/rustc_codegen_llvm/src/context.rs
|
||||
@@ -158,46 +158,6 @@ pub unsafe fn create_module<'ll>(
|
||||
}
|
||||
}
|
||||
|
||||
- // Ensure the data-layout values hardcoded remain the defaults.
|
||||
- if sess.target.is_builtin {
|
||||
- // tm is disposed by its drop impl
|
||||
- let tm = crate::back::write::create_informational_target_machine(tcx.sess);
|
||||
- llvm::LLVMRustSetDataLayoutFromTargetMachine(llmod, &tm);
|
||||
-
|
||||
- let llvm_data_layout = llvm::LLVMGetDataLayoutStr(llmod);
|
||||
- let llvm_data_layout = str::from_utf8(CStr::from_ptr(llvm_data_layout).to_bytes())
|
||||
- .expect("got a non-UTF8 data-layout from LLVM");
|
||||
-
|
||||
- // Unfortunately LLVM target specs change over time, and right now we
|
||||
- // don't have proper support to work with any more than one
|
||||
- // `data_layout` than the one that is in the rust-lang/rust repo. If
|
||||
- // this compiler is configured against a custom LLVM, we may have a
|
||||
- // differing data layout, even though we should update our own to use
|
||||
- // that one.
|
||||
- //
|
||||
- // As an interim hack, if CFG_LLVM_ROOT is not an empty string then we
|
||||
- // disable this check entirely as we may be configured with something
|
||||
- // that has a different target layout.
|
||||
- //
|
||||
- // Unsure if this will actually cause breakage when rustc is configured
|
||||
- // as such.
|
||||
- //
|
||||
- // FIXME(#34960)
|
||||
- let cfg_llvm_root = option_env!("CFG_LLVM_ROOT").unwrap_or("");
|
||||
- let custom_llvm_used = !cfg_llvm_root.trim().is_empty();
|
||||
-
|
||||
- if !custom_llvm_used && target_data_layout != llvm_data_layout {
|
||||
- bug!(
|
||||
- "data-layout for target `{rustc_target}`, `{rustc_layout}`, \
|
||||
- differs from LLVM target's `{llvm_target}` default layout, `{llvm_layout}`",
|
||||
- rustc_target = sess.opts.target_triple,
|
||||
- rustc_layout = target_data_layout,
|
||||
- llvm_target = sess.target.llvm_target,
|
||||
- llvm_layout = llvm_data_layout
|
||||
- );
|
||||
- }
|
||||
- }
|
||||
-
|
||||
let data_layout = SmallCStr::new(&target_data_layout);
|
||||
llvm::LLVMSetDataLayout(llmod, data_layout.as_ptr());
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
rust: reproducibility issue fix with v1.75
|
||||
|
||||
With 1.75 rust release, the '.rustc' section of shared object libs are embedded with absolute path names which is casuing reproducibility issues.
|
||||
This change will fix the path name format back to '/rust/$hash' as in earlier versions.
|
||||
|
||||
Below are the links for detailed bug description & discusssion with upstream rust.
|
||||
https://github.com/rust-lang/rust/issues/120825#issuecomment-1964307219
|
||||
https://github.com/rust-lang/rust/issues/120825#issuecomment-1964652656
|
||||
|
||||
Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/121959/commits/a9a979839bbdfec48c75d618ab0dce8a953589b8]
|
||||
Signed-off-by: Sundeep KOKKONDA <sundeep.kokkonda@windriver.com>
|
||||
---
|
||||
--- a/compiler/rustc_session/src/session.rs 2023-12-21 08:55:28.000000000 -0800
|
||||
+++ b/compiler/rustc_session/src/session.rs 2024-02-26 07:29:15.527577022 -0800
|
||||
@@ -1260,19 +1260,6 @@
|
||||
}
|
||||
|
||||
pub fn should_prefer_remapped_for_codegen(&self) -> bool {
|
||||
- // bail out, if any of the requested crate types aren't:
|
||||
- // "compiled executables or libraries"
|
||||
- for crate_type in &self.opts.crate_types {
|
||||
- match crate_type {
|
||||
- CrateType::Executable
|
||||
- | CrateType::Dylib
|
||||
- | CrateType::Rlib
|
||||
- | CrateType::Staticlib
|
||||
- | CrateType::Cdylib => continue,
|
||||
- CrateType::ProcMacro => return false,
|
||||
- }
|
||||
- }
|
||||
-
|
||||
let has_split_debuginfo = match self.split_debuginfo() {
|
||||
SplitDebuginfo::Off => false,
|
||||
SplitDebuginfo::Packed => true,
|
||||
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
When rust.channel is set to either beta or stable, we can't use
|
||||
nightly features on bootstrap without RUSTC_BOOTSTRAP. Set RUSTC_BOOTSTRAP=1
|
||||
to use nightly features on stable or beta.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/119619/commits/8aa7dd06f6e50621dc10f9f9490681be8a45876f]
|
||||
|
||||
Signed-off-by: onur-ozkan <work@onurozkan.dev>
|
||||
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
|
||||
---
|
||||
diff --git a/src/bootstrap/synthetic_targets.rs b/ src/bootstrap/synthetic_targets.rs
|
||||
index d2c65b740da..45baf56f46b 100644
|
||||
--- a/src/bootstrap/src/core/build_steps/synthetic_targets.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/synthetic_targets.rs
|
||||
@@ -59,6 +59,7 @@ fn create_synthetic_target(
|
||||
let mut cmd = Command::new(builder.rustc(compiler));
|
||||
cmd.arg("--target").arg(base.rustc_target_arg());
|
||||
cmd.args(["-Zunstable-options", "--print", "target-spec-json"]);
|
||||
+ cmd.env("RUSTC_BOOTSTRAP", "1");
|
||||
cmd.stdout(Stdio::piped());
|
||||
|
||||
let output = cmd.spawn().unwrap().wait_with_output().unwrap();
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -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/src/core/build_steps/test.rs
|
||||
+++ b/src/bootstrap/src/core/build_steps/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)
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
*
|
||||
* Copyright (C) 2022 Wind River Systems
|
||||
*
|
||||
* SPDX-License-Identifier: MIT
|
||||
*
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
|
||||
int main (int argc, char *argv[])
|
||||
{
|
||||
unsetenv("LD_LIBRARY_PATH");
|
||||
execvp("target-rust-ccld-wrapper", argv);
|
||||
|
||||
return 0;
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user