Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 8 pull requests #138448

Merged
merged 42 commits into from
Mar 13, 2025
Merged

Rollup of 8 pull requests #138448

merged 42 commits into from
Mar 13, 2025

Conversation

matthiaskrgr
Copy link
Member

Successful merges:

r? @ghost
@rustbot modify labels: rollup

Create a similar rollup

petrochenkov and others added 30 commits March 9, 2025 14:23
Co-authored-by: Thalia Archibald <[email protected]>
Unclear why this needs to be done manually and is not done by the existing Trusty patches.
also add test with `fastcall`, which on i686 uses a different mangling scheme
When migrating the standard library to 2024, there will be some behavior
changes that users will be able to observe. This test should cover that
(I cannot think of any other observable differences).
We can create the expected error manually, rather than trying to produce
a real one, so the error conversion test can run on all targets. Before,
it was only running on 64-bit and not miri.

In Fedora, we also found that s390x was not getting the expected error,
"successfully" allocating the huge size because it was optimizing the
real `malloc` call away. It's possible to counter that by looking at the
pointer in any way, like a debug print, but it's more robust to just
deal with errors directly, since this test is only about conversion.
It reinterprets uninitialized memory as initialized and does not drop
existing elements of the Vec. Fix that.

Additionally, make it more general by appending, instead of overwriting
existing elements, and rename it to `append_to_enclave_vec`. A caller
can simply call `.clear()` before, for the old behavior.
Simulate OOM for the `try_oom_error` test

We can create the expected error manually, rather than trying to produce
a real one, so the error conversion test can run on all targets. Before,
it was only running on 64-bit and not miri.

In Fedora, we also found that s390x was not getting the expected error,
"successfully" allocating the huge size because it was optimizing the
real `malloc` call away. It's possible to counter that by looking at the
pointer in any way, like a debug print, but it's more robust to just
deal with errors directly, since this test is only about conversion.

Related: rust-lang#133806
@rustbot rustbot added A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend A-tidy Area: The tidy tool O-SGX Target: SGX O-windows Operating system: Windows S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue. rollup A PR which is a rollup labels Mar 13, 2025
@matthiaskrgr
Copy link
Member Author

@bors r+ rollup=never p=5

@bors
Copy link
Contributor

bors commented Mar 13, 2025

📌 Commit 3bfce83 has been approved by matthiaskrgr

It is now in the queue for this repository.

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels Mar 13, 2025
@bors
Copy link
Contributor

bors commented Mar 13, 2025

⌛ Testing commit 3bfce83 with merge a2aba05...

@bors
Copy link
Contributor

bors commented Mar 13, 2025

☀️ Test successful - checks-actions
Approved by: matthiaskrgr
Pushing a2aba05 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Mar 13, 2025
@bors bors merged commit a2aba05 into rust-lang:master Mar 13, 2025
7 checks passed
@rustbot rustbot added this to the 1.87.0 milestone Mar 13, 2025
Copy link

Post-merge analysis result

Test differences

  • x86_64-mingw-1
    • library/core/src/num/uint_macros.rs - num::u16::checked_div_euclid (line 1061): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::from_le (line 875): [missing] -> pass
    • library/core/src/num/mod.rs - num::usize::from_str_radix (line 1415): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i64::strict_abs (line 1544): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i8::strict_mul (line 821): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::is_positive (line 1961): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u32::overflowing_rem_euclid (line 2924): [missing] -> pass
    • library/core/src/iter/traits/collect.rs - iter::traits::collect::(EL,EK,EJ,EI,EH,EG,EF,EE,ED,EC,EB,EA)::extend (line 533): [missing] -> pass
    • library/std/src/net/tcp.rs - net::tcp::TcpStream::local_addr (line 204): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::to_le (line 945): [missing] -> pass
    • (and 6612 additional testss)
  • x86_64-apple-1
    • library/core/src/num/mod.rs - num::u16::from_str (line 1371): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u16::from_le (line 420): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::isize::wrapping_neg (line 2143): [missing] -> pass
    • library/core/src/num/mod.rs - num::i8::from_ascii_radix (line 1489): [missing] -> pass
    • library/std/src/net/udp.rs - net::udp::UdpSocket::peek (line 757): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicU8::from_ptr (line 2481): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::reverse_bits (line 808): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i128::checked_next_multiple_of (line 3269): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicI8::fetch_min (line 3367): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::pow (line 828): [missing] -> pass
    • (and 6612 additional testss)
  • x86_64-msvc-1
    • library/core/src/num/int_macros.rs - num::i8::strict_rem_euclid (line 1151): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u64::checked_pow (line 1762): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i64::signum (line 3558): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicU16::fetch_min (line 3367): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZeroI8 (line 515): [missing] -> pass
    • library/std/src/process.rs - process::Command::get_envs (line 1163): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::pow (line 825): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u16::checked_mul (line 906): [missing] -> pass
    • library/std/src/fs.rs - fs::File::lock_shared (line 719): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::swap_bytes (line 659): [missing] -> pass
    • (and 6612 additional testss)
  • aarch64-gnu
    • library/core/src/num/int_macros.rs - num::i128::isolate_least_significant_one (line 216): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u16::overflowing_sub_signed (line 2562): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::isize::saturating_add_unsigned (line 1725): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::leading_zeros (line 999): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::usize::div_ceil (line 3238): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u128::is_multiple_of (line 3327): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::usize::strict_pow (line 1811): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i16::strict_div (line 934): [missing] -> pass
    • library/std/src/fs.rs - fs::soft_link (line 2610): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::unsigned_abs (line 1929): [missing] -> pass
    • (and 6601 additional testss)
  • aarch64-apple
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::from_le (line 742): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::signum (line 916): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicU16::get_mut (line 2543): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i32::checked_neg (line 1171): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicI16::load (line 2689): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u32::strict_neg (line 1498): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u8::overflowing_shr (line 2999): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u128::checked_shr (line 1641): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::pow (line 825): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i128::overflowing_div_euclid (line 2713): [missing] -> pass
    • (and 6601 additional testss)
  • x86_64-gnu-llvm-19-3
    • library/core/src/num/int_macros.rs - num::isize::abs (line 3484): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i128::from_be_bytes (line 3706): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u64::strict_neg (line 1491): [missing] -> pass
    • library/std/src/process.rs - process::Command::arg (line 673): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicI16::new (line 2464): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::count_ones (line 534): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i128::strict_pow (line 1618): [missing] -> pass
    • library/std/src/process.rs - process::Stdio::piped (line 1345): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i64::from_le_bytes (line 3735): [missing] -> pass
    • library/std/src/net/tcp.rs - net::tcp::TcpListener::set_ttl (line 916): [missing] -> pass
    • (and 6505 additional testss)
  • x86_64-gnu-stable
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicU64::compare_exchange (line 2851): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::isize::ilog (line 3322): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i16::wrapping_add (line 1928): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::swap_bytes (line 656): [missing] -> pass
    • library/core/src/num/mod.rs - num::u64::midpoint (line 195): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::pow (line 828): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::isize::to_be (line 422): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicIsize::as_ptr (line 3410): [missing] -> ignore
    • library/core/src/num/int_macros.rs - num::i128::checked_shl (line 1258): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i64::checked_sub (line 637): [missing] -> pass
    • (and 6505 additional testss)
  • i686-msvc-1
    • library/core/src/num/int_macros.rs - num::i8::saturating_add (line 1703): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::from_be (line 714): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::isize::wrapping_rem (line 2092): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::swap_bytes (line 656): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::rotate_left (line 605): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::MIN (line 1366): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::usize::unchecked_sub (line 769): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::BITS (line 523): [missing] -> pass
    • library/core/src/sync/atomic.rs - sync::atomic::AtomicI8::try_update (line 3220): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating::pow (line 828): [missing] -> pass
    • (and 6505 additional testss)
  • x86_64-gnu
    • library/core/src/num/uint_macros.rs - num::u64::isqrt (line 3118): [missing] -> pass
    • library/core/src/num/saturating.rs - num::saturating::Saturating (line 305): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::saturating_mul (line 1022): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u16::checked_rem (line 1120): [missing] -> pass
    • library/core/src/num/shells/int_macros.rs - u8::MAX (line 30): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::to_be (line 770): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::rotate_left (line 716): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u16::checked_mul (line 906): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u8::from_be_bytes (line 3545): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u32::carrying_mul (line 2682): [missing] -> pass
    • (and 6505 additional testss)
  • x86_64-gnu-llvm-18-3
    • library/core/src/num/int_macros.rs - num::i16::strict_rem (line 1079): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i32::saturating_sub_unsigned (line 1771): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u128::strict_div_euclid (line 1100): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i64::to_be_bytes (line 3621): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i32::strict_sub_unsigned (line 759): [missing] -> pass
    • library/core/src/num/uint_macros.rs - num::u32::next_multiple_of (line 3273): [missing] -> pass
    • library/core/src/num/int_macros.rs - num::i8::strict_sub_unsigned (line 759): [missing] -> pass
    • library/core/src/num/wrapping.rs - num::wrapping::Wrapping::from_be (line 714): [missing] -> pass
    • library/core/src/num/nonzero.rs - num::nonzero::NonZero::wrapping_neg (line 2110): [missing] -> pass
    • library/std/src/net/tcp.rs - net::tcp::TcpStream::linger (line 456): [missing] -> pass
    • (and 6505 additional testss)

(and 15 additional diffs)

@rust-timer
Copy link
Collaborator

📌 Perf builds for each rolled up PR:

PR# Message Perf Build Sha
#126856 remove deprecated tool rls e845b95c176478b0e1836fff218a23dee2bb4c87 (link)
#133981 rustdoc-json: Refractor and document Id's 26ec318874790dea8b46864002e4861f07324223 (link)
#136842 Add libstd support for Trusty targets 91b29d6ebc0e2639338e623d94f8cbb0b689c379 (link)
#137355 Implement read_buf and vectored read/write for SGX stdio 65db513c33a5a062485b0ba15593be6808250913 (link)
#138162 Update the standard library to Rust 2024 6d759034b32bc708c4058ee6701b8f8b36790443 (link)
#138273 metadata: Ignore sysroot when doing the manual native lib s… 28410c1e747fdb3ae19e663b0c918222f476b548 (link)
#138346 naked functions: on windows emit .endef without the symbo… e8771366966f7b33147cd8d9a266b0368d8a0ffa (link)
#138370 Simulate OOM for the try_oom_error test 54a7ba440135ec25477912102d6afbe6f5702f38 (link)

previous master: 961351c76c

In the case of a perf regression, run the following command for each PR you suspect might be the cause: @rust-timer build $SHA

@rust-timer
Copy link
Collaborator

Finished benchmarking commit (a2aba05): comparison URL.

Overall result: ✅ improvements - no action needed

@rustbot label: -perf-regression

Instruction count

This is the most reliable metric that we have; it was used to determine the overall result at the top of this comment. However, even this metric can sometimes exhibit noise.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-0.2% [-0.2%, -0.2%] 1
All ❌✅ (primary) - - 0

Max RSS (memory usage)

Results (secondary -2.4%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
1.3% [1.3%, 1.3%] 1
Improvements ✅
(primary)
- - 0
Improvements ✅
(secondary)
-3.0% [-4.6%, -2.1%] 7
All ❌✅ (primary) - - 0

Cycles

This benchmark run did not return any relevant results for this metric.

Binary size

Results (primary -0.1%, secondary -0.0%)

This is a less reliable metric that may be of interest but was not used to determine the overall result at the top of this comment.

mean range count
Regressions ❌
(primary)
0.1% [0.0%, 0.2%] 9
Regressions ❌
(secondary)
0.0% [0.0%, 0.0%] 1
Improvements ✅
(primary)
-0.1% [-0.4%, -0.0%] 14
Improvements ✅
(secondary)
-0.0% [-0.0%, -0.0%] 17
All ❌✅ (primary) -0.1% [-0.4%, 0.2%] 23

Bootstrap: 777.245s -> 775.375s (-0.24%)
Artifact size: 365.15 MiB -> 365.12 MiB (-0.01%)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-run-make Area: port run-make Makefiles to rmake.rs A-rustdoc-json Area: Rustdoc JSON backend A-tidy Area: The tidy tool merged-by-bors This PR was explicitly merged by bors. O-SGX Target: SGX O-windows Operating system: Windows rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. T-bootstrap Relevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap) T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue. T-rustdoc Relevant to the rustdoc team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.