summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorYash Shinde <Yash.Shinde@windriver.com>2025-06-25 03:20:13 -0700
committerRichard Purdie <richard.purdie@linuxfoundation.org>2025-06-26 11:02:34 +0100
commit6c529c908c313aa137fc11d7e534991c4bca6b9a (patch)
tree26ffc2acff33102080ce7157828c82ae9927b13d /meta
parent6f39c76f60d5899f1d79fea5f14e415a90ab9485 (diff)
downloadpoky-6c529c908c313aa137fc11d7e534991c4bca6b9a.tar.gz
rust: Upgrade 1.86.0 -> 1.87.0
Rust stable version updated to 1.87.0. https://blog.rust-lang.org/2025/05/15/Rust-1.87.0/ * Update LLVM data-layout for arm64. LLVM requires matching data layouts and the aarch64 llvm data-layout was updated to to allow using 32-bit signed/unsigned pointers when building 64-bit targets using 270, 271 and 272 address spaces. https://github.com/rust-lang/rust/commit/e9853961452b56997cc127b51308879b9cd09482 https://github.com/llvm/llvm-project/commit/c9f27275c1330a325661bdf14fb3bc444a5e3648 * Rebase existing patches with v1.87.0. * Two tests from the `ui` and `codegen` modules now fail only on riscv64. Enable them on arm32/64 and x86-32/64 targets, while restricting them on riscv64 via `only-<target_arch>` tags. Test Results Summary: +-----------+--------+---------+ | Machine | Passed | Ignored | +-----------+--------+---------+ | arm-32 | 28,320 | 901 | | arm-64 | 28,400 | 849 | | x86-32 | 28,285 | 885 | | x86-64 | 28,518 | 676 | | riscv-64 | 27,845 | 868 | +-----------+--------+---------+ * Backport triagebot.patch to skip tidy linkcheck when triagebot.toml is not present. Distribution tarballs won't include triagebot.toml, which causes tidy checks to fail. This backport ensures tidy checks can still run successfully even when the file is missing. https://github.com/rust-lang/rust/pull/142666/commits * During rust installation, some binaries were installed from 'stage2-tools' built path to '${D}${bindir}'. However, from v1.87 the stage2-tools are no longer built by default. Update logic to install from `stage1-tools` instead. (From OE-Core rev: 16ce25e6970b4a50f6433606a0c87d22ec74ea5a) Signed-off-by: Yash Shinde <Yash.Shinde@windriver.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/conf/distro/include/tcmode-default.inc2
-rw-r--r--meta/recipes-devtools/rust/cargo_1.87.0.bb (renamed from meta/recipes-devtools/rust/cargo_1.86.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch30
-rw-r--r--meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch4
-rw-r--r--meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch11
-rw-r--r--meta/recipes-devtools/rust/files/rust-oe-selftest.patch147
-rw-r--r--meta/recipes-devtools/rust/files/triagebot.patch32
-rw-r--r--meta/recipes-devtools/rust/libstd-rs_1.87.0.bb (renamed from meta/recipes-devtools/rust/libstd-rs_1.86.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-cross-canadian_1.87.0.bb (renamed from meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb)0
-rw-r--r--meta/recipes-devtools/rust/rust-llvm_1.87.0.bb (renamed from meta/recipes-devtools/rust/rust-llvm_1.86.0.bb)4
-rw-r--r--meta/recipes-devtools/rust/rust-snapshot.inc78
-rw-r--r--meta/recipes-devtools/rust/rust-source.inc3
-rw-r--r--meta/recipes-devtools/rust/rust_1.87.0.bb (renamed from meta/recipes-devtools/rust/rust_1.86.0.bb)4
14 files changed, 186 insertions, 131 deletions
diff --git a/meta/classes-recipe/rust-target-config.bbclass b/meta/classes-recipe/rust-target-config.bbclass
index 906a5083d7..cac6e90a9e 100644
--- a/meta/classes-recipe/rust-target-config.bbclass
+++ b/meta/classes-recipe/rust-target-config.bbclass
@@ -171,7 +171,7 @@ MAX_ATOMIC_WIDTH[armv7-eabi] = "64"
171FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2" 171FEATURES[armv7-eabi] = "+v7,+vfp2,+thumb2"
172 172
173## aarch64-unknown-linux-{gnu, musl} 173## aarch64-unknown-linux-{gnu, musl}
174DATA_LAYOUT[aarch64] = "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32" 174DATA_LAYOUT[aarch64] = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128-Fn32"
175TARGET_ENDIAN[aarch64] = "little" 175TARGET_ENDIAN[aarch64] = "little"
176TARGET_POINTER_WIDTH[aarch64] = "64" 176TARGET_POINTER_WIDTH[aarch64] = "64"
177TARGET_C_INT_WIDTH[aarch64] = "32" 177TARGET_C_INT_WIDTH[aarch64] = "32"
diff --git a/meta/conf/distro/include/tcmode-default.inc b/meta/conf/distro/include/tcmode-default.inc
index e943ca77d1..c506bb3ad5 100644
--- a/meta/conf/distro/include/tcmode-default.inc
+++ b/meta/conf/distro/include/tcmode-default.inc
@@ -12,7 +12,7 @@ PREFERRED_PROVIDER_virtual/gettext ??= "gettext"
12GCCVERSION ?= "15.%" 12GCCVERSION ?= "15.%"
13SDKGCCVERSION ?= "${GCCVERSION}" 13SDKGCCVERSION ?= "${GCCVERSION}"
14GLIBCVERSION ?= "2.41%" 14GLIBCVERSION ?= "2.41%"
15RUSTVERSION ?= "1.86.0%" 15RUSTVERSION ?= "1.87.0%"
16 16
17PREFERRED_VERSION_gcc ?= "${GCCVERSION}" 17PREFERRED_VERSION_gcc ?= "${GCCVERSION}"
18PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}" 18PREFERRED_VERSION_gcc-cross-${TARGET_ARCH} ?= "${GCCVERSION}"
diff --git a/meta/recipes-devtools/rust/cargo_1.86.0.bb b/meta/recipes-devtools/rust/cargo_1.87.0.bb
index fc41a19a25..fc41a19a25 100644
--- a/meta/recipes-devtools/rust/cargo_1.86.0.bb
+++ b/meta/recipes-devtools/rust/cargo_1.87.0.bb
diff --git a/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch b/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
index 5e0f5912a1..a7da69dce3 100644
--- a/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
+++ b/meta/recipes-devtools/rust/files/0001-src-core-build_steps-tool.rs-switch-off-lto-for-rust.patch
@@ -24,9 +24,9 @@ diff --git a/src/bootstrap/src/core/build_steps/tool.rs b/src/bootstrap/src/core
24index 087df2f8a..00790affb 100644 24index 087df2f8a..00790affb 100644
25--- a/src/bootstrap/src/core/build_steps/tool.rs 25--- a/src/bootstrap/src/core/build_steps/tool.rs
26+++ b/src/bootstrap/src/core/build_steps/tool.rs 26+++ b/src/bootstrap/src/core/build_steps/tool.rs
27@@ -1,14 +1,11 @@ 27@@ -15,14 +15,12 @@
28 use std::path::PathBuf; 28 #[cfg(feature = "tracing")]
29 use std::{env, fs}; 29 use tracing::instrument;
30 30
31-use crate::core::build_steps::compile::is_lto_stage; 31-use crate::core::build_steps::compile::is_lto_stage;
32 use crate::core::build_steps::toolstate::ToolState; 32 use crate::core::build_steps::toolstate::ToolState;
@@ -36,18 +36,20 @@ index 087df2f8a..00790affb 100644
36- Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step, cargo_profile_var, 36- Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step, cargo_profile_var,
37-}; 37-};
38-use crate::core::config::{DebuginfoLevel, RustcLto, TargetSelection}; 38-use crate::core::config::{DebuginfoLevel, RustcLto, TargetSelection};
39+
39+use crate::core::builder::{Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step}; 40+use crate::core::builder::{Builder, Cargo as CargoCommand, RunConfig, ShouldRun, Step};
40+use crate::core::config::{DebuginfoLevel, TargetSelection}; 41+use crate::core::config::{DebuginfoLevel, TargetSelection};
41 use crate::utils::channel::GitInfo; 42 use crate::utils::channel::GitInfo;
42 use crate::utils::exec::{BootstrapCommand, command}; 43 use crate::utils::exec::{BootstrapCommand, command};
43 use crate::utils::helpers::{add_dylib_path, exe, t}; 44 use crate::utils::helpers::{add_dylib_path, exe, t};
44@@ -658,19 +655,7 @@ 45@@ -148,20 +146,7 @@
45 SourceType::InTree, 46 &self.extra_features,
46 features.as_slice(),
47 ); 47 );
48- 48
49- // rustdoc is performance sensitive, so apply LTO to it. 49- if path.ends_with("/rustdoc") &&
50- if is_lto_stage(&build_compiler) { 50- // rustdoc is performance sensitive, so apply LTO to it.
51- is_lto_stage(&self.compiler)
52- {
51- let lto = match builder.config.rust_lto { 53- let lto = match builder.config.rust_lto {
52- RustcLto::Off => Some("off"), 54- RustcLto::Off => Some("off"),
53- RustcLto::Thin => Some("thin"), 55- RustcLto::Thin => Some("thin"),
@@ -60,14 +62,14 @@ index 087df2f8a..00790affb 100644
60- } 62- }
61+ cargo.rustflag("-Clto=off"); 63+ cargo.rustflag("-Clto=off");
62 64
63 let _guard = builder.msg_tool( 65 if !self.allow_features.is_empty() {
64 Kind::Build, 66 cargo.allow_features(self.allow_features);
65diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs 67diff --git a/src/bootstrap/src/core/builder/mod.rs b/src/bootstrap/src/core/builder/mod.rs
66--- a/src/bootstrap/src/core/builder/mod.rs 68--- a/src/bootstrap/src/core/builder/mod.rs
67+++ b/src/bootstrap/src/core/builder/mod.rs 69+++ b/src/bootstrap/src/core/builder/mod.rs
68@@ -11,7 +11,7 @@ 70@@ -13,7 +13,7 @@
69 71 #[cfg(feature = "tracing")]
70 use clap::ValueEnum; 72 use tracing::instrument;
71 73
72-pub use self::cargo::{Cargo, cargo_profile_var}; 74-pub use self::cargo::{Cargo, cargo_profile_var};
73+pub use self::cargo::Cargo; 75+pub use self::cargo::Cargo;
diff --git a/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch b/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
index bb27ca35ff..5bd1abffb4 100644
--- a/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
+++ b/meta/recipes-devtools/rust/files/oeqa-selftest-Increase-timeout-in-process-sigpipe-ru.patch
@@ -22,10 +22,10 @@ index 11f363d62..c12d66016 100644
22+++ b/tests/ui/process/process-sigpipe.rs 22+++ b/tests/ui/process/process-sigpipe.rs
23@@ -23,7 +23,7 @@ use std::thread; 23@@ -23,7 +23,7 @@ use std::thread;
24 fn main() { 24 fn main() {
25 // Just in case `yes` doesn't check for EPIPE... 25 // Just in case `yes` or `while-echo` doesn't check for EPIPE...
26 thread::spawn(|| { 26 thread::spawn(|| {
27- thread::sleep_ms(5000); 27- thread::sleep_ms(5000);
28+ thread::sleep_ms(50000); 28+ thread::sleep_ms(50000);
29 process::exit(1); 29 process::exit(1);
30 }); 30 });
31 let output = process::Command::new("sh") 31 // QNX Neutrino does not have `yes`. Therefore, use `while-echo` for `nto`
diff --git a/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch b/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch
index 20a49d46dc..9bbbce0182 100644
--- a/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch
+++ b/meta/recipes-devtools/rust/files/revert-link-std-statically-in-rustc_driver-feature.patch
@@ -200,11 +200,10 @@ diff --git a/src/bootstrap/src/core/build_steps/compile.rs b/src/bootstrap/src/c
200index 27bbc8bd8f..a6fc4df2eb 100644 200index 27bbc8bd8f..a6fc4df2eb 100644
201--- a/src/bootstrap/src/core/build_steps/compile.rs 201--- a/src/bootstrap/src/core/build_steps/compile.rs
202+++ b/src/bootstrap/src/core/build_steps/compile.rs 202+++ b/src/bootstrap/src/core/build_steps/compile.rs
203@@ -1940,24 +1940,8 @@ impl Step for Assemble { 203@@ -2158,23 +2158,7 @@
204 let src_libdir = builder.sysroot_target_libdir(build_compiler, host);
205 for f in builder.read_dir(&src_libdir) { 204 for f in builder.read_dir(&src_libdir) {
206 let filename = f.file_name().into_string().unwrap(); 205 let filename = f.file_name().into_string().unwrap();
207- 206
208- let is_proc_macro = proc_macros.contains(&filename); 207- let is_proc_macro = proc_macros.contains(&filename);
209- let is_dylib_or_debug = is_dylib(&f.path()) || is_debug_info(&filename); 208- let is_dylib_or_debug = is_dylib(&f.path()) || is_debug_info(&filename);
210- 209-
@@ -214,8 +213,7 @@ index 27bbc8bd8f..a6fc4df2eb 100644
214- let can_be_rustc_dynamic_dep = if builder 213- let can_be_rustc_dynamic_dep = if builder
215- .link_std_into_rustc_driver(target_compiler.host) 214- .link_std_into_rustc_driver(target_compiler.host)
216- && !target_compiler.host.is_windows() 215- && !target_compiler.host.is_windows()
217+ if (is_dylib(Path::new(&filename)) || is_debug_info(&filename)) && !proc_macros.contains(&filename) 216- {
218 {
219- let is_std = filename.starts_with("std-") || filename.starts_with("libstd-"); 217- let is_std = filename.starts_with("std-") || filename.starts_with("libstd-");
220- !is_std 218- !is_std
221- } else { 219- } else {
@@ -223,6 +221,7 @@ index 27bbc8bd8f..a6fc4df2eb 100644
223- }; 221- };
224- 222-
225- if is_dylib_or_debug && can_be_rustc_dynamic_dep && !is_proc_macro { 223- if is_dylib_or_debug && can_be_rustc_dynamic_dep && !is_proc_macro {
226 builder.copy_link(&f.path(), &rustc_libdir.join(&filename)); 224+ if (is_dylib(Path::new(&filename)) || is_debug_info(&filename)) && !proc_macros.contains(&filename) {
225 builder.copy_link(&f.path(), &rustc_libdir.join(&filename), FileType::Regular);
227 } 226 }
228 } 227 }
diff --git a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
index 49d85072cb..b7ef806e65 100644
--- a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
+++ b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch
@@ -47,61 +47,85 @@ diff --git a/library/std/tests/sync/rwlock.rs b/library/std/tests/sync/rwlock.rs
47index 1a9d3d3f12f..0a9cfc48806 100644 47index 1a9d3d3f12f..0a9cfc48806 100644
48--- a/library/std/tests/sync/rwlock.rs 48--- a/library/std/tests/sync/rwlock.rs
49+++ b/library/std/tests/sync/rwlock.rs 49+++ b/library/std/tests/sync/rwlock.rs
50@@ -47,6 +47,7 @@ fn frob() { 50@@ -74,6 +74,7 @@
51 } 51
52
53 #[test] 52 #[test]
53 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
54+#[ignore] 54+#[ignore]
55 fn test_rw_arc_poison_wr() { 55 fn test_rw_arc_poison_wr() {
56 let arc = Arc::new(RwLock::new(1)); 56 let arc = Arc::new(RwLock::new(1));
57 let arc2 = arc.clone(); 57 let arc2 = arc.clone();
58@@ -72,6 +73,7 @@ fn test_rw_arc_poison_mapped_w_r() { 58@@ -87,6 +88,7 @@
59 } 59
60 60 #[test]
61 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
62+#[ignore]
63 fn test_rw_arc_poison_mapped_w_r() {
64 let arc = Arc::new(RwLock::new(1));
65 let arc2 = arc.clone();
66@@ -101,6 +103,7 @@
67
61 #[test] 68 #[test]
69 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
62+#[ignore] 70+#[ignore]
63 fn test_rw_arc_poison_ww() { 71 fn test_rw_arc_poison_ww() {
64 let arc = Arc::new(RwLock::new(1)); 72 let arc = Arc::new(RwLock::new(1));
65 assert!(!arc.is_poisoned()); 73 assert!(!arc.is_poisoned());
66@@ -100,6 +102,7 @@ fn test_rw_arc_poison_mapped_w_w() { 74@@ -115,6 +118,7 @@
67 } 75 }
68 76
77 #[test]
78+#[ignore]
79 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
80 fn test_rw_arc_poison_mapped_w_w() {
81 let arc = Arc::new(RwLock::new(1));
82@@ -131,6 +135,7 @@
83
69 #[test] 84 #[test]
85 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
70+#[ignore] 86+#[ignore]
71 fn test_rw_arc_no_poison_rr() { 87 fn test_rw_arc_no_poison_rr() {
72 let arc = Arc::new(RwLock::new(1)); 88 let arc = Arc::new(RwLock::new(1));
73 let arc2 = arc.clone(); 89 let arc2 = arc.clone();
74@@ -127,6 +130,7 @@ fn test_rw_arc_no_poison_mapped_r_r() { 90@@ -160,6 +165,7 @@
75 } 91
76
77 #[test] 92 #[test]
93 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
78+#[ignore] 94+#[ignore]
79 fn test_rw_arc_no_poison_rw() { 95 fn test_rw_arc_no_poison_rw() {
80 let arc = Arc::new(RwLock::new(1)); 96 let arc = Arc::new(RwLock::new(1));
81 let arc2 = arc.clone(); 97 let arc2 = arc.clone();
82@@ -192,6 +196,7 @@ fn test_rw_arc() { 98@@ -227,6 +233,7 @@
83 } 99
84
85 #[test] 100 #[test]
101 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
86+#[ignore] 102+#[ignore]
87 fn test_rw_arc_access_in_unwind() { 103 fn test_rw_arc_access_in_unwind() {
88 let arc = Arc::new(RwLock::new(1)); 104 let arc = Arc::new(RwLock::new(1));
89 let arc2 = arc.clone(); 105 let arc2 = arc.clone();
90@@ -275,6 +280,7 @@ fn drop(&mut self) { 106@@ -326,6 +333,7 @@
91 } 107
92
93 #[test] 108 #[test]
109 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
94+#[ignore] 110+#[ignore]
95 fn test_into_inner_poison() { 111 fn test_into_inner_poison() {
96 let m = new_poisoned_rwlock(NonCopy(10)); 112 let m = new_poisoned_rwlock(NonCopy(10));
97 113
98@@ -299,6 +305,7 @@ fn test_get_mut() { 114@@ -362,6 +370,7 @@
99 } 115
100
101 #[test] 116 #[test]
117 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
102+#[ignore] 118+#[ignore]
103 fn test_get_mut_poison() { 119 fn test_get_mut_poison() {
104 let mut m = new_poisoned_rwlock(NonCopy(10)); 120 let mut m = new_poisoned_rwlock(NonCopy(10));
121
122@@ -567,6 +576,7 @@
123
124 #[test]
125 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
126+#[ignore]
127 fn panic_while_mapping_write_unlocked_poison() {
128 let lock = RwLock::new(());
105 129
106diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs 130diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs
107--- a/library/test/src/tests.rs 131--- a/library/test/src/tests.rs
@@ -117,52 +141,22 @@ diff --git a/library/test/src/tests.rs b/library/test/src/tests.rs
117diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs 141diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs
118--- a/library/std/tests/sync/mutex.rs 142--- a/library/std/tests/sync/mutex.rs
119+++ b/library/std/tests/sync/mutex.rs 143+++ b/library/std/tests/sync/mutex.rs
120@@ -193,6 +193,7 @@ 144@@ -312,6 +312,7 @@
121 } 145
122
123 #[test] 146 #[test]
147 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
124+#[ignore] 148+#[ignore]
125 fn test_mutex_arc_poison_mapped() { 149 fn test_mutex_arc_poison_mapped() {
126 let arc = Arc::new(Mutex::new(1)); 150 let arc = Arc::new(Mutex::new(1));
127 assert!(!arc.is_poisoned()); 151 assert!(!arc.is_poisoned());
128diff --git a/library/std/tests/sync/mutex.rs b/library/std/tests/sync/mutex.rs 152@@ -391,6 +392,7 @@
129--- a/library/std/tests/sync/mutex.rs 153
130+++ b/library/std/tests/sync/mutex.rs
131@@ -272,6 +272,7 @@
132 }
133
134 #[test] 154 #[test]
155 #[cfg_attr(not(panic = "unwind"), ignore = "test requires unwinding support")]
135+#[ignore] 156+#[ignore]
136 fn panic_while_mapping_unlocked_poison() { 157 fn panic_while_mapping_unlocked_poison() {
137 let lock = Mutex::new(()); 158 let lock = Mutex::new(());
138 159
139diff --git a/library/std/src/sync/rwlock/tests.rs b/library/std/tests/sync/rwlock.rs
140--- a/library/std/tests/sync/rwlock.rs
141+++ b/library/std/tests/sync/rwlock.rs
142@@ -59,6 +59,7 @@ fn test_rw_arc_poison_wr() {
143 }
144
145 #[test]
146+#[ignore]
147 fn test_rw_arc_poison_mapped_w_r() {
148 let arc = Arc::new(RwLock::new(1));
149 let arc2 = arc.clone();
150@@ -86,6 +87,7 @@ fn test_rw_arc_poison_ww() {
151 }
152
153 #[test]
154+#[ignore]
155 fn test_rw_arc_poison_mapped_w_w() {
156 let arc = Arc::new(RwLock::new(1));
157 let arc2 = arc.clone();
158@@ -431,6 +433,7 @@ fn panic_while_mapping_read_unlocked_no_poison() {
159 }
160
161 #[test]
162+#[ignore]
163 fn panic_while_mapping_write_unlocked_poison() {
164 let lock = RwLock::new(());
165
166diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs 160diff --git a/library/coretests/benches/num/int_log/mod.rs b/library/coretests/benches/num/int_log/mod.rs
167index 3807cd5d76c..018c5c04456 100644 161index 3807cd5d76c..018c5c04456 100644
168--- a/library/coretests/benches/num/int_log/mod.rs 162--- a/library/coretests/benches/num/int_log/mod.rs
@@ -199,10 +193,10 @@ index 9d4f52a092..d425e5f7b7 100644
199 fn thread_current_in_dtor() { 193 fn thread_current_in_dtor() {
200 // Go through one round of TLS destruction first. 194 // Go through one round of TLS destruction first.
201 struct Defer; 195 struct Defer;
202diff --git a/library/alloc/tests/sort/tests.rs b/library/alloc/tests/sort/tests.rs 196diff --git a/library/alloctests/tests/sort/tests.rs b/library/alloctests/tests/sort/tests.rs
203index 14e6013f96..b670f27ab4 100644 197index 14e6013f96..b670f27ab4 100644
204--- a/library/alloc/tests/sort/tests.rs 198--- a/library/alloctests/tests/sort/tests.rs
205+++ b/library/alloc/tests/sort/tests.rs 199+++ b/library/alloctests/tests/sort/tests.rs
206@@ -915,12 +915,14 @@ gen_sort_test_fns_with_default_patterns_3_ty!( 200@@ -915,12 +915,14 @@ gen_sort_test_fns_with_default_patterns_3_ty!(
207 macro_rules! instantiate_sort_test_inner { 201 macro_rules! instantiate_sort_test_inner {
208 ($sort_impl:ty, miri_yes, $test_fn_name:ident) => { 202 ($sort_impl:ty, miri_yes, $test_fn_name:ident) => {
@@ -234,10 +228,10 @@ diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly/dwarf-m
234index 5b8e5ff4f4a..e558fbd7bd7 100644 228index 5b8e5ff4f4a..e558fbd7bd7 100644
235--- a/tests/assembly/dwarf-mixed-versions-lto.rs 229--- a/tests/assembly/dwarf-mixed-versions-lto.rs
236+++ b/tests/assembly/dwarf-mixed-versions-lto.rs 230+++ b/tests/assembly/dwarf-mixed-versions-lto.rs
237@@ -1,6 +1,11 @@ 231@@ -2,6 +2,11 @@
238 // This test ensures that if LTO occurs between crates with different DWARF versions, we
239 // will choose the highest DWARF version for the final binary. This matches Clang's behavior. 232 // will choose the highest DWARF version for the final binary. This matches Clang's behavior.
240 233 // Note: `.2byte` directive is used on MIPS.
234
241+//@ only-x86 235+//@ only-x86
242+//@ only-x86_64 236+//@ only-x86_64
243+//@ only-arm 237+//@ only-arm
@@ -259,3 +253,30 @@ index 0e712bc3a4e..93965d990d0 100644
259 //@ revisions: OPT2 OPT3 253 //@ revisions: OPT2 OPT3
260 //@[OPT2] compile-flags: -Copt-level=2 254 //@[OPT2] compile-flags: -Copt-level=2
261 //@[OPT3] compile-flags: -C opt-level=3 255 //@[OPT3] compile-flags: -C opt-level=3
256diff --git a/tests/codegen/uninhabited-transparent-return-abi.rs b/tests/codegen/uninhabited-transparent-return-abi.rs
257index face1577c3f..d69e5e34a7b 100644
258--- a/tests/codegen/uninhabited-transparent-return-abi.rs
259+++ b/tests/codegen/uninhabited-transparent-return-abi.rs
260@@ -1,4 +1,8 @@
261 //@ compile-flags: -Copt-level=3
262+//@ only-x86
263+//@ only-x86_64
264+//@ only-arm
265+//@ only-aarch64
266
267 // See https://github.com/rust-lang/rust/issues/135802
268
269diff --git a/tests/ui/abi/rust-cold-works-with-rustic-args.rs b/tests/ui/abi/rust-cold-works-with-rustic-args.rs
270index 57027364699..3faa7ea035e 100644
271--- a/tests/ui/abi/rust-cold-works-with-rustic-args.rs
272+++ b/tests/ui/abi/rust-cold-works-with-rustic-args.rs
273@@ -1,5 +1,9 @@
274 //@build-pass
275 //@compile-flags: -Clink-dead-code=true --crate-type lib
276+//@ only-x86
277+//@ only-x86_64
278+//@ only-arm
279+//@ only-aarch64
280 // We used to not handle all "rustic" ABIs in a (relatively) uniform way,
281 // so we failed to fix up arguments for actually passing through the ABI...
282 #![feature(rust_cold_cc)]
diff --git a/meta/recipes-devtools/rust/files/triagebot.patch b/meta/recipes-devtools/rust/files/triagebot.patch
new file mode 100644
index 0000000000..715664d081
--- /dev/null
+++ b/meta/recipes-devtools/rust/files/triagebot.patch
@@ -0,0 +1,32 @@
1Skip tidy triagebot linkcheck if triagebot.toml doesn't exist
2
3Distribution tarballs won't include triagebot.toml, which
4causes tidy checks to fail with the following error:
5
6 tidy error: triagebot.toml file not found
7 some tidy checks failed
8
9Drop the triagebot.toml check which is mostly to catch broken
10path filters *within* `triagebot.toml` and not enforce
11the existence of it.
12
13Upstream-Status: Backport [https://github.com/rust-lang/rust/pull/142666/commits]
14
15Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
16---
17diff --git a/src/tools/tidy/src/triagebot.rs b/src/tools/tidy/src/triagebot.rs
18--- a/src/tools/tidy/src/triagebot.rs
19+++ b/src/tools/tidy/src/triagebot.rs
20@@ -6,8 +6,11 @@
21
22 pub fn check(path: &Path, bad: &mut bool) {
23 let triagebot_path = path.join("triagebot.toml");
24+
25+ // This check is mostly to catch broken path filters *within* `triagebot.toml`, and not enforce
26+ // the existence of `triagebot.toml` itself (which is more obvious), as distribution tarballs
27+ // will not include non-essential bits like `triagebot.toml`.
28 if !triagebot_path.exists() {
29- tidy_error!(bad, "triagebot.toml file not found");
30 return;
31 }
32
diff --git a/meta/recipes-devtools/rust/libstd-rs_1.86.0.bb b/meta/recipes-devtools/rust/libstd-rs_1.87.0.bb
index b39ec0ab39..b39ec0ab39 100644
--- a/meta/recipes-devtools/rust/libstd-rs_1.86.0.bb
+++ b/meta/recipes-devtools/rust/libstd-rs_1.87.0.bb
diff --git a/meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb b/meta/recipes-devtools/rust/rust-cross-canadian_1.87.0.bb
index 55865238ab..55865238ab 100644
--- a/meta/recipes-devtools/rust/rust-cross-canadian_1.86.0.bb
+++ b/meta/recipes-devtools/rust/rust-cross-canadian_1.87.0.bb
diff --git a/meta/recipes-devtools/rust/rust-llvm_1.86.0.bb b/meta/recipes-devtools/rust/rust-llvm_1.87.0.bb
index 327e8e6b69..d70aa350ab 100644
--- a/meta/recipes-devtools/rust/rust-llvm_1.86.0.bb
+++ b/meta/recipes-devtools/rust/rust-llvm_1.87.0.bb
@@ -2,9 +2,9 @@ SUMMARY = "LLVM compiler framework (packaged with rust)"
2LICENSE ?= "Apache-2.0-with-LLVM-exception" 2LICENSE ?= "Apache-2.0-with-LLVM-exception"
3HOMEPAGE = "http://www.rust-lang.org" 3HOMEPAGE = "http://www.rust-lang.org"
4 4
5# check src/llvm-project/cmake/Modules/LLVMVersion.cmake for llvm version in use 5# check src/llvm-project/llvm/CMakeLists.txt for llvm version in use
6# 6#
7LLVM_RELEASE = "19.1.7" 7LLVM_RELEASE = "20.1.1"
8 8
9require rust-source.inc 9require rust-source.inc
10 10
diff --git a/meta/recipes-devtools/rust/rust-snapshot.inc b/meta/recipes-devtools/rust/rust-snapshot.inc
index 445390fcaf..87b39a2cc2 100644
--- a/meta/recipes-devtools/rust/rust-snapshot.inc
+++ b/meta/recipes-devtools/rust/rust-snapshot.inc
@@ -4,56 +4,56 @@
4## The exact (previous) version that has been used is specified in the source tarball. 4## The exact (previous) version that has been used is specified in the source tarball.
5## The version is replicated here. 5## The version is replicated here.
6 6
7SNAPSHOT_VERSION = "1.85.0" 7SNAPSHOT_VERSION = "1.86.0"
8 8
9SRC_URI[rustc-snapshot-aarch64.sha256sum] = "e742b768f67303010b002b515f6613c639e69ffcc78cd0857d6fe7989e9880f6" 9SRC_URI[rustc-snapshot-aarch64.sha256sum] = "ccece9e59546d2e6ff3fc3b8f4b033aab21631c271eefbe814b3cbace6628c6e"
10SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "8af1d793f7820e9ad0ee23247a9123542c3ea23f8857a018651c7788af9bc5b7" 10SRC_URI[rust-std-snapshot-aarch64.sha256sum] = "176129577a5d560bbd94bcd2d24c0228bb495b73219df02556b4e4b4f0815bf7"
11SRC_URI[cargo-snapshot-aarch64.sha256sum] = "cdebe48b066d512d664c13441e8fae2d0f67106c2080aa44289d98b24192b8bc" 11SRC_URI[cargo-snapshot-aarch64.sha256sum] = "37156542b702e8b4ffd1c5c75017632582343e93ca378285cdc92196c85c77e3"
12SRC_URI[clippy-snapshot-aarch64.sha256sum] = "f3b8e769021a6bcee8174ac49a60c367effb6d97af0f2a6c44dc9ea39ff2bda9" 12SRC_URI[clippy-snapshot-aarch64.sha256sum] = "e70edcf560e6b50861618d7045d2b38cae9e2a555f489062570e2e7041563f42"
13 13
14SRC_URI[rustc-snapshot-i686.sha256sum] = "c5a5751f3cfa027b53fee83d01dec8e555f3622b6993335aed12b1747aa9543c" 14SRC_URI[rustc-snapshot-i686.sha256sum] = "976f4604d949d722738a9fe95313035226571128396e942b0fc678180be487b0"
15SRC_URI[rust-std-snapshot-i686.sha256sum] = "401571adfe1223d83ed041e5a8c54c1f3afb3010d1d5b0c1fd79e7da1ab0a0de" 15SRC_URI[rust-std-snapshot-i686.sha256sum] = "ce9f0fa4b0760730e26bf315cebe099f0b883436e095c5fc4b94ba20bd9f121a"
16SRC_URI[cargo-snapshot-i686.sha256sum] = "3832027242911ab96fd86128587fc563596a5b10e8e38a073facf61c1ac9668f" 16SRC_URI[cargo-snapshot-i686.sha256sum] = "24f20bdc1bb14f4ffbdc2f540488bebc3340437418725c3162215ae03cdad480"
17SRC_URI[clippy-snapshot-i686.sha256sum] = "74ed13a67c6ea0452c0d9e8697c6cfdd8280f983b207187ac93c287f72b65066" 17SRC_URI[clippy-snapshot-i686.sha256sum] = "6788449fa0eceebe4ea8c797bbaf27495dad152087b3085d58dc05cacab0617a"
18 18
19SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "d43d2119ff25d879b2d280d3e5a03fcd21c57a32d479ad5626500c32432f18c9" 19SRC_URI[rustc-snapshot-loongarch64.sha256sum] = "970089ad61f8ca82017b59444aee483c1fc005e3f7a6af63cd5f146df8287cce"
20SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "2d05f5e13e7cb3ee6b0ca0dcd13a231a28eeb0faa4d15257a35cf7284149cd6a" 20SRC_URI[rust-std-snapshot-loongarch64.sha256sum] = "2f528377f57fbf81da35e2f08ec7ba50daddabebdce2cc86b6ec909fee157a33"
21SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "9aa447eefcd3ba2f9dbab77596c8669849899ab243543fc8f1914089707081ac" 21SRC_URI[cargo-snapshot-loongarch64.sha256sum] = "c3b8ab03b64c824f2ea25db578b5760d44302be3fd1e4a78404c98cba39301f4"
22SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "d437b39465343a71ff475a65acb6c03bc0f800861f293f48accf1fa170458432" 22SRC_URI[clippy-snapshot-loongarch64.sha256sum] = "1ab711423497a1d02408a240da28ad366450574dd7f528ffaee80d1d5ed10550"
23 23
24SRC_URI[rustc-snapshot-powerpc.sha256sum] = "fbe7154abc641d6cacfdc6239ed4701fc7a09b5046c6d1bd209b59e7f2b2d0f0" 24SRC_URI[rustc-snapshot-powerpc.sha256sum] = "21ea61181ba7daa04f61bec6a295ad76ce34bfbd74ad1d679c4548977bd82eb9"
25SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "ab2d5ac7cd295adaa4d959e8abbf42b372292c95d1a9f18aad64951ad6e2ab2b" 25SRC_URI[rust-std-snapshot-powerpc.sha256sum] = "e5ed58a861619bcc89fc3f969174c84fd6ed8a26b5d4b196f06efb868653c1c1"
26SRC_URI[cargo-snapshot-powerpc.sha256sum] = "e67c30a72f969c51ad199084b3ce0cdc573a4e21f732b2cc39dafbcb9807a5ce" 26SRC_URI[cargo-snapshot-powerpc.sha256sum] = "fd832c269af81dd1ee9f3831991fccdc2c7312e9a9069908510eefe7c313d144"
27SRC_URI[clippy-snapshot-powerpc.sha256sum] = "497104d49803598cd3801749ac86cb26c88a2bd9c3a8c7bdc18fdf487f4650c0" 27SRC_URI[clippy-snapshot-powerpc.sha256sum] = "c94578d31e4145a4169ab5761537a2a0133818278fb62ee76251ef8ef45228c8"
28 28
29SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "f8e38291ba4241bc28e9c118d7a449ce3601abdeb2076f2f618858679fb3b929" 29SRC_URI[rustc-snapshot-powerpc64.sha256sum] = "a54bbe16e6a405f137a0dc51fd570140c80077ba769d29d885a60e74cb3196bb"
30SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "e9ff89e759125ad2786ad2f6c40e820095720ea00fba66819d15fba79489430a" 30SRC_URI[rust-std-snapshot-powerpc64.sha256sum] = "06538b41a9351c449d215498d4ec2f072f728bd18df8fac7ef8534a0d0f34e27"
31SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "73cf850f6715acbf0029c7e5d4694825f61bd4e193e6413e65a78bcb13df97b7" 31SRC_URI[cargo-snapshot-powerpc64.sha256sum] = "4d398cd8da17d1a5f26734b39cb17e791b243ac3570f8da2e5e5580a9dfad578"
32SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "29b63f23cd9af95846a246c9cc8349e514c3fb92ec0c840a38155e252d6cc668" 32SRC_URI[clippy-snapshot-powerpc64.sha256sum] = "0abf31a8cb2762a7a81dbee8a5798e43e11a83326711ce00ad16c5587bcf5e49"
33 33
34SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "371e40f9d6d82aecb056f70f82868d98ddc1c20510aa7d388442ac8d2d86a6ca" 34SRC_URI[rustc-snapshot-powerpc64le.sha256sum] = "7585a20b02b7dd497e393a2e7552a0c6aabb51556fcf7507c6f7ffde530f8c88"
35SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "d0cfda4e18623d17922eb367e44ac9549ab3d5fe1c0bdbe0c2c95754255fa705" 35SRC_URI[rust-std-snapshot-powerpc64le.sha256sum] = "fcf940c0553a04cb9bd85cce524729c2f54b000b554fee95c7aa218d608b7e3d"
36SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "e1469f4249a7e21f872af487dcd1bd10ce388b5b3679bdab0cb0965e1e30fe47" 36SRC_URI[cargo-snapshot-powerpc64le.sha256sum] = "8fefd2317023716a018986c4a62558a7b543ccf34e4e6d1104afc66edcae1c9c"
37SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "d8c590bc2e6fc75800e41516427f5095ba0e15d7633167689499fcf6523dc61a" 37SRC_URI[clippy-snapshot-powerpc64le.sha256sum] = "8cc65649396ccad73cecd17b972ab8d4c34837136cf374425be63d697b541469"
38 38
39SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "2da33044f17a8bc49a1478dc1eb2536df491a44d6e6bb0ec7c86f46877d44e98" 39SRC_URI[rustc-snapshot-riscv64gc.sha256sum] = "4d1106b576221182f84412f3377a5148eab6950d20e45e4274cd8b58df46f26b"
40SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "0f5ecfe54859bbe715821f982b1a5396784fdf55605d00ece05d3e57a965ed16" 40SRC_URI[rust-std-snapshot-riscv64gc.sha256sum] = "b28b9c2f183521a204f2899610253c11c86ee4aa903fe66d8410dfaa22c926e6"
41SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "c9f28b519799fc2d8089865e30fad04bb5339604d13725365fcd7ad7ee6c1489" 41SRC_URI[cargo-snapshot-riscv64gc.sha256sum] = "7825556908e10a48320cfb2d812851271d7cf549977173e028a0dd23af9d7eac"
42SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "9d21bc180196bccdb301e7e03034d3fd0df14b0c6520da0317bba7b1ce385fe8" 42SRC_URI[clippy-snapshot-riscv64gc.sha256sum] = "c39c53a82fdaaa97413728a4f3f9feb5b31bdf3e3e563c64651bd01713e79166"
43 43
44SRC_URI[rustc-snapshot-s390x.sha256sum] = "308361737ed522aa77dd8b4ea91b5db244113ada5fa234d3ed008b526d07e2e8" 44SRC_URI[rustc-snapshot-s390x.sha256sum] = "18caf22fbfc4d26c80b39b4c6b1cd5fb42dba3e32d5d3600c22eae6f688d7f4c"
45SRC_URI[rust-std-snapshot-s390x.sha256sum] = "d25053fbee1a0cb899bac8c8e4968aa35f9c3637e486cb5bb2c79ad43a78f3e7" 45SRC_URI[rust-std-snapshot-s390x.sha256sum] = "3919f6962d0aefdd2cd75d8dba749ed826936065b64c9a8d54d1d85c2685fd66"
46SRC_URI[cargo-snapshot-s390x.sha256sum] = "7e1defd60095c91ded1612194f811ec5f2fc2e83bb914d35594d01fa3c54049d" 46SRC_URI[cargo-snapshot-s390x.sha256sum] = "1c6eb1be254574881a611a3b8904cdcfe43c79a285875673e59c890dcd5766c2"
47SRC_URI[clippy-snapshot-s390x.sha256sum] = "9780d8c4cfef9d05460b3e540aad142391b2e3994accf8cfc8afb87fefac6cf0" 47SRC_URI[clippy-snapshot-s390x.sha256sum] = "c87183b52ddb4085ddf2524a775fd255d5fd11ad2fdd6424574f08750a8cf378"
48 48
49SRC_URI[rustc-snapshot-x86_64.sha256sum] = "7436f13797475082cd87aa65547449e01659d6a810b4cd5f8aedc48bb9f89dfb" 49SRC_URI[rustc-snapshot-x86_64.sha256sum] = "4438b809ce4a083af31ed17aeeedcc8fc60ccffc0625bef1926620751b6989d7"
50SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "285e105d25ebdf501341238d4c0594ecdda50ec9078f45095f793a736b1f1ac2" 50SRC_URI[rust-std-snapshot-x86_64.sha256sum] = "67be7184ea388d8ce0feaf7fdea46f1775cfc2970930264343b3089898501d37"
51SRC_URI[cargo-snapshot-x86_64.sha256sum] = "0aff33b57b0e0b102d762a2b53042846c1ca346cff4b7bd96b5c03c9e8e51d81" 51SRC_URI[cargo-snapshot-x86_64.sha256sum] = "c5c1590f7e9246ad9f4f97cfe26ffa92707b52a769726596a9ef81565ebd908b"
52SRC_URI[clippy-snapshot-x86_64.sha256sum] = "0dc3ca1708a6c9eed05d0802364377572b79ff079815b7bcbe8e3991f77c4117" 52SRC_URI[clippy-snapshot-x86_64.sha256sum] = "02aaff2c1407d2da8dba19aa4970dd873e311902b120a66cbcdbe51eb8836edf"
53 53
54SRC_URI[rust-std-snapshot-i586.sha256sum] = "3cb7318da10876de14076549d79410a8441923a92d62b616d8c105f5f5cd831b" 54SRC_URI[rust-std-snapshot-i586.sha256sum] = "f0bddc6dba7d719b8ba131bcd634a8379e00fc825a51c0f17abf424c9cb5c052"
55 55
56SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "65cd47af46a5b74e61ff6ae4cce8a979ee8670a57b8aa61e732828d1da073f73" 56SRC_URI[rust-std-snapshot-sparc64.sha256sum] = "722238ae13e6e101d1b698d2b3a7915d59bb7f485b594e8d833cce8b9460383b"
57 57
58SRC_URI += " \ 58SRC_URI += " \
59 ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \ 59 ${RUST_DIST_SERVER}/dist/${RUST_STD_SNAPSHOT}.tar.xz;name=rust-std-snapshot-${RUST_BUILD_ARCH};subdir=rust-snapshot-components \
diff --git a/meta/recipes-devtools/rust/rust-source.inc b/meta/recipes-devtools/rust/rust-source.inc
index 30b159a84f..ed15d9c763 100644
--- a/meta/recipes-devtools/rust/rust-source.inc
+++ b/meta/recipes-devtools/rust/rust-source.inc
@@ -9,8 +9,9 @@ SRC_URI += "https://static.rust-lang.org/dist/rustc-${RUST_VERSION}-src.tar.xz;n
9 file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \ 9 file://revert-link-std-statically-in-rustc_driver-feature.patch;patchdir=${RUSTSRC} \
10 file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \ 10 file://0001-libunwind-Use-gcs-instead-of-gcs-target-attribute.patch;patchdir=${RUSTSRC} \
11 file://0001-Disable-libunwind-cross-architecture-unwinding.patch;patchdir=${RUSTSRC} \ 11 file://0001-Disable-libunwind-cross-architecture-unwinding.patch;patchdir=${RUSTSRC} \
12 file://triagebot.patch;patchdir=${RUSTSRC} \
12" 13"
13SRC_URI[rust.sha256sum] = "d939eada065dc827a9d4dbb55bd48533ad14c16e7f0a42e70147029c82a7707b" 14SRC_URI[rust.sha256sum] = "8623b8651893e8c6aebfa45b6a90645a4f652f7b18189a0992a90d11ac2631f4"
14 15
15RUSTSRC = "${UNPACKDIR}/rustc-${RUST_VERSION}-src" 16RUSTSRC = "${UNPACKDIR}/rustc-${RUST_VERSION}-src"
16 17
diff --git a/meta/recipes-devtools/rust/rust_1.86.0.bb b/meta/recipes-devtools/rust/rust_1.87.0.bb
index b13ec116be..5d804c7398 100644
--- a/meta/recipes-devtools/rust/rust_1.86.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.87.0.bb
@@ -266,7 +266,7 @@ rust_do_install:class-nativesdk() {
266 266
267 install -d ${D}${bindir} 267 install -d ${D}${bindir}
268 for i in cargo-clippy clippy-driver rustfmt; do 268 for i in cargo-clippy clippy-driver rustfmt; do
269 cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} 269 cp build/${RUST_BUILD_SYS}/stage1-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir}
270 patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i 270 patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i
271 done 271 done
272 272
@@ -301,7 +301,7 @@ rust_do_install:class-target() {
301 301
302 install -d ${D}${bindir} 302 install -d ${D}${bindir}
303 for i in ${EXTRA_TOOLS}; do 303 for i in ${EXTRA_TOOLS}; do
304 cp build/${RUST_BUILD_SYS}/stage2-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir} 304 cp build/${RUST_BUILD_SYS}/stage1-tools/${RUST_HOST_SYS}/release/$i ${D}${bindir}
305 patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i 305 patchelf --set-rpath "\$ORIGIN/../lib" ${D}${bindir}/$i
306 done 306 done
307 307