summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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