diff options
author | Yash Shinde <Yash.Shinde@windriver.com> | 2025-09-24 02:22:06 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2025-09-25 11:09:05 +0100 |
commit | 61ce087049be24f3306e8bb08acbfe2a8151e37c (patch) | |
tree | f29ddcd65ddc57637093b050c0994bde8e9da7c7 /meta/recipes-devtools/rust/files/rust-oe-selftest.patch | |
parent | cea21917206f6688e6d37efde783941463289b28 (diff) | |
download | poky-61ce087049be24f3306e8bb08acbfe2a8151e37c.tar.gz |
rust: Upgrade 1.89.0 -> 1.90.0
https://blog.rust-lang.org/2025/09/18/Rust-1.90.0/
* Recent changes in rustc require 'target-c-int-width' to be an integer,
not a string. This fixes type consistency when generating target specs.
https://github.com/rust-lang/rust/pull/142352.
* Rebase existing patches with v1.90.0.
* Drop merged patches with rust v1.90.0.
- backport-fix-test-string-merging.patch
https://github.com/rust-lang/rust/commit/2d51acd2fbcbadb6f30709c5dd305494d413d388
* The "remote-test-server" bin is now generated in stage1-tools-bin dir
rather than stage2. Update the test suite accordingly.
The tests/{assembly/codegen} dirs are renamed to
tests/{assembly,codegen}-llvm. Update the test suite and
patches accordingly.
https://github.com/rust-lang/rust/pull/144249/commits
* Use "//@ ignore-riscv64" tag for tests failing on riscv-64 instead of previous
"only-<target_arch>" tags.
Test results summary:
rust v1.90.0
+-----------+--------+---------+
| Machine | Passed | Ignored |
+-----------+--------+---------+
| arm-32 | 29,517 | 1,529 |
| arm-64 | 29,608 | 1,471 |
| x86-32 | 29,508 | 1,507 |
| x86-64 | 29,903 | 1,275 |
| riscv-64 | 29,584 | 1,494 |
+-----------+--------+---------+
Test results difference (1.90 - 1.89):
+-----------+--------+---------+
| Machine | Passed | Ignored |
+-----------+--------+---------+
| arm-32 | +278 | +61 |
| arm-64 | +279 | +59 |
| x86-32 | +277 | +58 |
| x86-64 | +419 | +50 |
| riscv-64 | +280 | +58 |
+-----------+--------+---------+
(From OE-Core rev: 86d09ec9cdbcea6e076ebac6e1243f9e20fb4378)
Signed-off-by: Yash Shinde <Yash.Shinde@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/rust/files/rust-oe-selftest.patch')
-rw-r--r-- | meta/recipes-devtools/rust/files/rust-oe-selftest.patch | 189 |
1 files changed, 129 insertions, 60 deletions
diff --git a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch index 550ac4ec6c..fe683e9dd9 100644 --- a/meta/recipes-devtools/rust/files/rust-oe-selftest.patch +++ b/meta/recipes-devtools/rust/files/rust-oe-selftest.patch | |||
@@ -226,76 +226,117 @@ index a05f274136..0e69b4cb98 100644 | |||
226 | fn sparse_inserts() { | 226 | fn sparse_inserts() { |
227 | let cache: VecCache<u32, u8, u32> = VecCache::default(); | 227 | let cache: VecCache<u32, u8, u32> = VecCache::default(); |
228 | let end = if cfg!(target_pointer_width = "64") && cfg!(target_os = "linux") { | 228 | let end = if cfg!(target_pointer_width = "64") && cfg!(target_os = "linux") { |
229 | diff --git a/tests/assembly/dwarf-mixed-versions-lto.rs b/tests/assembly/dwarf-mixed-versions-lto.rs | 229 | diff --git a/tests/assembly-llvm/dwarf-mixed-versions-lto.rs b/tests/assembly-llvm/dwarf-mixed-versions-lto.rs |
230 | index 5b8e5ff4f4a..e558fbd7bd7 100644 | 230 | index 828328df843..30753c56c76 100644 |
231 | --- a/tests/assembly/dwarf-mixed-versions-lto.rs | 231 | --- a/tests/assembly-llvm/dwarf-mixed-versions-lto.rs |
232 | +++ b/tests/assembly/dwarf-mixed-versions-lto.rs | 232 | +++ b/tests/assembly-llvm/dwarf-mixed-versions-lto.rs |
233 | @@ -2,6 +2,11 @@ | 233 | @@ -8,6 +8,7 @@ |
234 | // will choose the highest DWARF version for the final binary. This matches Clang's behavior. | ||
235 | // Note: `.2byte` directive is used on MIPS. | ||
236 | |||
237 | +//@ only-x86 | ||
238 | +//@ only-x86_64 | ||
239 | +//@ only-arm | ||
240 | +//@ only-aarch64 | ||
241 | + | ||
242 | //@ only-linux | ||
243 | //@ aux-build:dwarf-mixed-versions-lto-aux.rs | ||
244 | //@ compile-flags: -C lto -g -Cdwarf-version=5 | 234 | //@ compile-flags: -C lto -g -Cdwarf-version=5 |
245 | diff --git a/tests/codegen/uninhabited-transparent-return-abi.rs b/tests/codegen/uninhabited-transparent-return-abi.rs | 235 | //@ assembly-output: emit-asm |
246 | index face1577c3f..d69e5e34a7b 100644 | 236 | //@ no-prefer-dynamic |
247 | --- a/tests/codegen/uninhabited-transparent-return-abi.rs | 237 | +//@ ignore-riscv64 |
248 | +++ b/tests/codegen/uninhabited-transparent-return-abi.rs | 238 | |
249 | @@ -1,4 +1,8 @@ | 239 | extern crate dwarf_mixed_versions_lto_aux; |
240 | |||
241 | diff --git a/tests/codegen-llvm/const-vector.rs b/tests/codegen-llvm/const-vector.rs | ||
242 | index f4307492341..617e31140e9 100644 | ||
243 | --- a/tests/codegen-llvm/const-vector.rs | ||
244 | +++ b/tests/codegen-llvm/const-vector.rs | ||
245 | @@ -3,6 +3,7 @@ | ||
246 | //@ [OPT0_S390X] only-s390x | ||
247 | //@ [OPT0] compile-flags: -C no-prepopulate-passes -Copt-level=0 | ||
248 | //@ [OPT0_S390X] compile-flags: -C no-prepopulate-passes -Copt-level=0 -C target-cpu=z13 | ||
249 | +//@ ignore-riscv64 | ||
250 | |||
251 | // This test checks that constants of SIMD type are passed as immediate vectors. | ||
252 | // We ensure that both vector representations (struct with fields and struct wrapping array) work. | ||
253 | diff --git a/tests/codegen-llvm/enum/enum-aggregate.rs b/tests/codegen-llvm/enum/enum-aggregate.rs | ||
254 | index 0161e5f3fa1..773a06fabb4 100644 | ||
255 | --- a/tests/codegen-llvm/enum/enum-aggregate.rs | ||
256 | +++ b/tests/codegen-llvm/enum/enum-aggregate.rs | ||
257 | @@ -1,6 +1,7 @@ | ||
258 | //@ compile-flags: -Copt-level=0 -Cno-prepopulate-passes | ||
259 | //@ min-llvm-version: 19 | ||
260 | //@ only-64bit | ||
261 | +//@ ignore-riscv64 | ||
262 | |||
263 | #![crate_type = "lib"] | ||
264 | |||
265 | diff --git a/tests/codegen-llvm/enum/enum-match.rs b/tests/codegen-llvm/enum/enum-match.rs | ||
266 | index 57db44ec74e..1e2507f7c90 100644 | ||
267 | --- a/tests/codegen-llvm/enum/enum-match.rs | ||
268 | +++ b/tests/codegen-llvm/enum/enum-match.rs | ||
269 | @@ -1,5 +1,6 @@ | ||
270 | //@ compile-flags: -Copt-level=1 | ||
271 | //@ only-64bit | ||
272 | +//@ ignore-riscv64 | ||
273 | |||
274 | #![crate_type = "lib"] | ||
275 | #![feature(core_intrinsics)] | ||
276 | diff --git a/tests/codegen-llvm/enum/enum-transparent-extract.rs b/tests/codegen-llvm/enum/enum-transparent-extract.rs | ||
277 | index c5efb8d472b..e79b8916fc1 100644 | ||
278 | --- a/tests/codegen-llvm/enum/enum-transparent-extract.rs | ||
279 | +++ b/tests/codegen-llvm/enum/enum-transparent-extract.rs | ||
280 | @@ -1,5 +1,6 @@ | ||
281 | //@ compile-flags: -Copt-level=0 | ||
282 | //@ only-64bit | ||
283 | +//@ ignore-riscv64 | ||
284 | |||
285 | #![crate_type = "lib"] | ||
286 | |||
287 | diff --git a/tests/codegen-llvm/repeat-operand-zero-len.rs b/tests/codegen-llvm/repeat-operand-zero-len.rs | ||
288 | index b4cec42a07c..d450fead9a4 100644 | ||
289 | --- a/tests/codegen-llvm/repeat-operand-zero-len.rs | ||
290 | +++ b/tests/codegen-llvm/repeat-operand-zero-len.rs | ||
291 | @@ -1,4 +1,5 @@ | ||
292 | //@ compile-flags: -Copt-level=1 -Cno-prepopulate-passes | ||
293 | +//@ ignore-riscv64 | ||
294 | |||
295 | // This test is here to hit the `Rvalue::Repeat` case in `codegen_rvalue_operand`. | ||
296 | // It only applies when the resulting array is a ZST, so the test is written in | ||
297 | diff --git a/tests/codegen-llvm/simd/extract-insert-dyn.rs b/tests/codegen-llvm/simd/extract-insert-dyn.rs | ||
298 | index 729f0145314..2b1d1beb86a 100644 | ||
299 | --- a/tests/codegen-llvm/simd/extract-insert-dyn.rs | ||
300 | +++ b/tests/codegen-llvm/simd/extract-insert-dyn.rs | ||
301 | @@ -1,4 +1,5 @@ | ||
302 | //@compile-flags: -C opt-level=3 -C no-prepopulate-passes | ||
303 | +//@ ignore-riscv64 | ||
304 | |||
305 | #![feature( | ||
306 | core_intrinsics, | ||
307 | diff --git a/tests/codegen-llvm/transmute-scalar.rs b/tests/codegen-llvm/transmute-scalar.rs | ||
308 | index ce1b0558b2e..e8fda2cd566 100644 | ||
309 | --- a/tests/codegen-llvm/transmute-scalar.rs | ||
310 | +++ b/tests/codegen-llvm/transmute-scalar.rs | ||
311 | @@ -1,5 +1,6 @@ | ||
312 | //@ add-core-stubs | ||
313 | //@ compile-flags: -C opt-level=0 -C no-prepopulate-passes | ||
314 | +//@ ignore-riscv64 | ||
315 | |||
316 | #![crate_type = "lib"] | ||
317 | #![feature(no_core, repr_simd, arm_target_feature, mips_target_feature, s390x_target_feature)] | ||
318 | diff --git a/tests/codegen-llvm/uninhabited-transparent-return-abi.rs b/tests/codegen-llvm/uninhabited-transparent-return-abi.rs | ||
319 | index face1577c3f..09e0846bad0 100644 | ||
320 | --- a/tests/codegen-llvm/uninhabited-transparent-return-abi.rs | ||
321 | +++ b/tests/codegen-llvm/uninhabited-transparent-return-abi.rs | ||
322 | @@ -1,4 +1,5 @@ | ||
250 | //@ compile-flags: -Copt-level=3 | 323 | //@ compile-flags: -Copt-level=3 |
251 | +//@ only-x86 | 324 | +//@ ignore-riscv64 |
252 | +//@ only-x86_64 | ||
253 | +//@ only-arm | ||
254 | +//@ only-aarch64 | ||
255 | 325 | ||
256 | // See https://github.com/rust-lang/rust/issues/135802 | 326 | // See https://github.com/rust-lang/rust/issues/135802 |
257 | 327 | ||
258 | diff --git a/tests/ui/abi/rust-cold-works-with-rustic-args.rs b/tests/ui/abi/rust-cold-works-with-rustic-args.rs | 328 | diff --git a/tests/ui/abi/rust-cold-works-with-rustic-args.rs b/tests/ui/abi/rust-cold-works-with-rustic-args.rs |
259 | index 57027364699..3faa7ea035e 100644 | 329 | index 551485469d3..575db924968 100644 |
260 | --- a/tests/ui/abi/rust-cold-works-with-rustic-args.rs | 330 | --- a/tests/ui/abi/rust-cold-works-with-rustic-args.rs |
261 | +++ b/tests/ui/abi/rust-cold-works-with-rustic-args.rs | 331 | +++ b/tests/ui/abi/rust-cold-works-with-rustic-args.rs |
262 | @@ -1,5 +1,9 @@ | 332 | @@ -1,6 +1,7 @@ |
263 | //@build-pass | 333 | //@ add-core-stubs |
264 | //@compile-flags: -Clink-dead-code=true --crate-type lib | 334 | //@ build-pass |
265 | +//@ only-x86 | 335 | //@ compile-flags: -Clink-dead-code=true |
266 | +//@ only-x86_64 | 336 | +//@ ignore-riscv64 |
267 | +//@ only-arm | ||
268 | +//@ only-aarch64 | ||
269 | // We used to not handle all "rustic" ABIs in a (relatively) uniform way, | 337 | // We used to not handle all "rustic" ABIs in a (relatively) uniform way, |
270 | // so we failed to fix up arguments for actually passing through the ABI... | 338 | // so we failed to fix up arguments for actually passing through the ABI... |
271 | #![feature(rust_cold_cc)] | 339 | #![feature(rust_cold_cc)] |
272 | diff --git a/tests/codegen/simd/extract-insert-dyn.rs b/tests/codegen/simd/extract-insert-dyn.rs | ||
273 | index 729f0145314..1b21356518e 100644 | ||
274 | --- a/tests/codegen/simd/extract-insert-dyn.rs | ||
275 | +++ b/tests/codegen/simd/extract-insert-dyn.rs | ||
276 | @@ -1,3 +1,8 @@ | ||
277 | +//@ only-x86 | ||
278 | +//@ only-x86_64 | ||
279 | +//@ only-arm | ||
280 | +//@ only-aarch64 | ||
281 | + | ||
282 | //@compile-flags: -C opt-level=3 -C no-prepopulate-passes | ||
283 | |||
284 | #![feature( | ||
285 | diff --git a/tests/codegen/const-vector.rs b/tests/codegen/const-vector.rs | ||
286 | index 42921442e03..af0edc2ee92 100644 | ||
287 | --- a/tests/codegen/const-vector.rs | ||
288 | +++ b/tests/codegen/const-vector.rs | ||
289 | @@ -1,3 +1,8 @@ | ||
290 | +//@ only-x86 | ||
291 | +//@ only-x86_64 | ||
292 | +//@ only-arm | ||
293 | +//@ only-aarch64 | ||
294 | + | ||
295 | //@ revisions: OPT0 OPT0_S390X | ||
296 | //@ [OPT0] ignore-s390x | ||
297 | //@ [OPT0_S390X] only-s390x | ||
298 | |||
299 | diff --git a/tests/ui/linking/executable-no-mangle-strip.rs b/tests/ui/linking/executable-no-mangle-strip.rs | 340 | diff --git a/tests/ui/linking/executable-no-mangle-strip.rs b/tests/ui/linking/executable-no-mangle-strip.rs |
300 | index cc283dc53..73cbab9c0 100644 | 341 | index cc283dc53..73cbab9c0 100644 |
301 | --- a/tests/ui/linking/executable-no-mangle-strip.rs | 342 | --- a/tests/ui/linking/executable-no-mangle-strip.rs |
@@ -308,3 +349,31 @@ index cc283dc53..73cbab9c0 100644 | |||
308 | 349 | ||
309 | // Regression test for <https://github.com/rust-lang/rust/issues/139744>. | 350 | // Regression test for <https://github.com/rust-lang/rust/issues/139744>. |
310 | // Functions in the binary marked with no_mangle should be GC-ed if they | 351 | // Functions in the binary marked with no_mangle should be GC-ed if they |
352 | diff --git a/library/std_detect/src/detect/os/linux/aarch64/tests.rs b/library/std_detect/src/detect/os/linux/aarch64/tests.rs | ||
353 | index a3562f2fd93..d4e52ed91be 100644 | ||
354 | --- a/library/std_detect/src/detect/os/linux/aarch64/tests.rs | ||
355 | +++ b/library/std_detect/src/detect/os/linux/aarch64/tests.rs | ||
356 | @@ -27,6 +27,7 @@ fn baseline_hwcaps() -> AtHwcap { | ||
357 | } | ||
358 | |||
359 | #[test] | ||
360 | + #[ignore] | ||
361 | fn linux_empty_hwcap2_aarch64() { | ||
362 | let file = concat!( | ||
363 | env!("CARGO_MANIFEST_DIR"), | ||
364 | @@ -39,6 +40,7 @@ fn linux_empty_hwcap2_aarch64() { | ||
365 | assert_eq!(AtHwcap::from(v), baseline_hwcaps()); | ||
366 | } | ||
367 | #[test] | ||
368 | + #[ignore] | ||
369 | fn linux_no_hwcap2_aarch64() { | ||
370 | let file = concat!( | ||
371 | env!("CARGO_MANIFEST_DIR"), | ||
372 | @@ -51,6 +53,7 @@ fn linux_no_hwcap2_aarch64() { | ||
373 | assert_eq!(AtHwcap::from(v), baseline_hwcaps()); | ||
374 | } | ||
375 | #[test] | ||
376 | + #[ignore] | ||
377 | fn linux_hwcap2_aarch64() { | ||
378 | let file = | ||
379 | concat!(env!("CARGO_MANIFEST_DIR"), "/src/detect/test_data/linux-hwcap2-aarch64.auxv"); | ||