From 93292feac47b1bced1d9012626b413c96703ee9e Mon Sep 17 00:00:00 2001 From: Alex Kiernan Date: Fri, 8 Dec 2023 14:03:44 +0000 Subject: rust: Upgrade 1.70.0 -> 1.71.0 Switch libstd-rs to use the dummy `sysroot` crate which represents the standard library crates. Target getrandom-open64.patch at 0.2.8 (merged for 0.2.9). Drop bootstrap_fail.patch (backport merged). https://blog.rust-lang.org/2023/07/13/Rust-1.71.0.html (From OE-Core rev: c3eba94ee44adcd3a0aa61f6b087c15c02e4697f) Signed-off-by: Alex Kiernan Signed-off-by: Richard Purdie --- .../rust/files/bootstrap_fail.patch | 127 --------------------- 1 file changed, 127 deletions(-) delete mode 100644 meta/recipes-devtools/rust/files/bootstrap_fail.patch (limited to 'meta/recipes-devtools/rust/files/bootstrap_fail.patch') diff --git a/meta/recipes-devtools/rust/files/bootstrap_fail.patch b/meta/recipes-devtools/rust/files/bootstrap_fail.patch deleted file mode 100644 index 1f44b6eaf6..0000000000 --- a/meta/recipes-devtools/rust/files/bootstrap_fail.patch +++ /dev/null @@ -1,127 +0,0 @@ -rust: Fix BOOTSTRAP_CARGO failure during Rust Oe-selftest - -BOOTSTRAP_CARGO command fails due to codegen flags like `-Cpanic` were -prevented from being reflected in the current target configuration which -leads to Rust build(rust version 1.70) failure in Oe-selftest. - -Upstream-Status: Backport [https://github.com/rust-lang/rust/commit/9dffb52738e0b2ccd15af36d4607a709b21e020c] - -Signed-off-by: Yash Shinde ---- -diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs ---- a/src/tools/compiletest/src/common.rs -+++ b/src/tools/compiletest/src/common.rs -@@ -431,7 +431,6 @@ - .unwrap() - }; - -- let mut current = None; - let mut all_targets = HashSet::new(); - let mut all_archs = HashSet::new(); - let mut all_oses = HashSet::new(); -@@ -452,14 +451,11 @@ - } - all_pointer_widths.insert(format!("{}bit", cfg.pointer_width)); - -- if target == config.target { -- current = Some(cfg); -- } - all_targets.insert(target.into()); - } - - Self { -- current: current.expect("current target not found"), -+ current: Self::get_current_target_config(config), - all_targets, - all_archs, - all_oses, -@@ -471,6 +467,89 @@ - } - } - -+ fn get_current_target_config(config: &Config) -> TargetCfg { -+ let mut arch = None; -+ let mut os = None; -+ let mut env = None; -+ let mut abi = None; -+ let mut families = Vec::new(); -+ let mut pointer_width = None; -+ let mut endian = None; -+ let mut panic = None; -+ -+ for config in -+ rustc_output(config, &["--print=cfg", "--target", &config.target]).trim().lines() -+ { -+ let (name, value) = config -+ .split_once("=\"") -+ .map(|(name, value)| { -+ ( -+ name, -+ Some( -+ value -+ .strip_suffix("\"") -+ .expect("key-value pair should be properly quoted"), -+ ), -+ ) -+ }) -+ .unwrap_or_else(|| (config, None)); -+ -+ match name { -+ "target_arch" => { -+ arch = Some(value.expect("target_arch should be a key-value pair").to_string()); -+ } -+ "target_os" => { -+ os = Some(value.expect("target_os sould be a key-value pair").to_string()); -+ } -+ "target_env" => { -+ env = Some(value.expect("target_env should be a key-value pair").to_string()); -+ } -+ "target_abi" => { -+ abi = Some(value.expect("target_abi should be a key-value pair").to_string()); -+ } -+ "target_family" => { -+ families -+ .push(value.expect("target_family should be a key-value pair").to_string()); -+ } -+ "target_pointer_width" => { -+ pointer_width = Some( -+ value -+ .expect("target_pointer_width should be a key-value pair") -+ .parse::() -+ .expect("target_pointer_width should be a valid u32"), -+ ); -+ } -+ "target_endian" => { -+ endian = Some(match value.expect("target_endian should be a key-value pair") { -+ "big" => Endian::Big, -+ "little" => Endian::Little, -+ _ => panic!("target_endian should be either 'big' or 'little'"), -+ }); -+ } -+ "panic" => { -+ panic = Some(match value.expect("panic should be a key-value pair") { -+ "abort" => PanicStrategy::Abort, -+ "unwind" => PanicStrategy::Unwind, -+ _ => panic!("panic should be either 'abort' or 'unwind'"), -+ }); -+ } -+ _ => (), -+ } -+ } -+ -+ TargetCfg { -+ arch: arch.expect("target configuration should specify target_arch"), -+ os: os.expect("target configuration should specify target_os"), -+ env: env.expect("target configuration should specify target_env"), -+ abi: abi.expect("target configuration should specify target_abi"), -+ families, -+ pointer_width: pointer_width -+ .expect("target configuration should specify target_pointer_width"), -+ endian: endian.expect("target configuration should specify target_endian"), -+ panic: panic.expect("target configuration should specify panic"), -+ } -+ } -+ - // #[cfg(bootstrap)] - // Needed only for one cycle, remove during the bootstrap bump. - fn collect_all_slow(config: &Config) -> HashMap { -- cgit v1.2.3-54-g00ecf