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:
Siggi (OpenClaw Agent)
2026-03-01 20:58:18 +00:00
commit 16accb6b24
15086 changed files with 1292356 additions and 0 deletions

View File

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

View File

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

View 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

View File

@@ -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,

View File

@@ -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());

View File

@@ -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,

View File

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

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/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)
};

View File

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