Rollup of 10 pull requests - #160929
Open
JonathanBrouwer wants to merge 23 commits into
Open
Conversation
This commit adjusts the changes made in 159733. A wasi-libc bug was discovered in 160828 which is present in certain situations which means that the changes in 159733 expose this bug. The purpose of this PR is to get wasip1/wasip2 targets fixed again while preserving a working implementation for wasip3. This upstream bug is already fixed in wasi-libc meaning that this PR won't be necessary once wasi-sdk-34 is published and used in rust-lang/rust. Until that time, however, this effectively reverts 159733 for wasip1/wasip2. The wasip3 target is Tier 3 still and requires wasi-sdk-34 anyway which is why that's left unchanged. Closes 160828
the previous version, v0.5.0 (from 2018), does not include a Cargo lockfile which makes the test brittle as bugs and unintentional breaking changes in any new release of a dependency can make the test fail the newly chosen version, v0.7.7, includes a Cargo lockfile
This is currently not really implemented, but partial support for it is added in various places across the tree. This is a patch extracted from the wider set of work to make review easier, which wires up: * Unstable flag in rustc * Bootstrap flag to enable using wasm-proc-macros (this needs an extra std compilation, wiring into compiletest) * Partial compiletest support for the flag (mostly just CLI side of things)
Do not pass `-no-pie` on Windows The warning can be seen with a simple example: ``` ❯ cargo new /tmp/hello -q ❯ cargo rustc --target x86_64-pc-windows-gnullvm -q -- -C target-feature=+crt-static warning: linker stderr: clang: argument unused during compilation: '-no-pie' [-Wunused-command-line-argument] | = note: `#[warn(linker_messages)]` on by default ```
…oboet
Arc: Remove unnecessary fmt::Display use for overflow assertion
- [x] I did not use an LLM to create a change in this PR.
- [ ] I used an LLM to create a change in this PR, and I have explained below how it was used.
This PR removes unnecessary `fmt::Display` generated assembly because of use of formatting in the overflow check assertion(`assert!(n <= MAX_REFCOUNT, "{}", INTERNAL_OVERFLOW_ERROR);`).
This reduces generated x64 assembly for counter increment(simplified) from:
```asm
increase_counter:
test rdi, rdi
js .LBB1_2
inc rdi
mov rax, rdi
ret
.LBB1_2:
sub rsp, 24
lea rax, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.2]
mov qword ptr [rsp + 8], rax
lea rax, [rip + <&str as core[4e7ceada952a6ea0]::fmt::Display>::fmt]
mov qword ptr [rsp + 16], rax
lea rdi, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.0]
lea rdx, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.4]
lea rsi, [rsp + 8]
call qword ptr [rip + core[4e7ceada952a6ea0]::panicking::panic_fmt@GOTPCREL]
.Lanon.642d46026bcfa00bfed8baf8cdbf502d.0:
.asciz "\300"
.Lanon.642d46026bcfa00bfed8baf8cdbf502d.1:
.ascii "Arc counter overflow"
```
To:
```asm
increase_counter:
test rdi, rdi
js .LBB0_2
inc rdi
mov rax, rdi
ret
.LBB0_2:
push rax
lea rdi, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.0]
lea rdx, [rip + .Lanon.642d46026bcfa00bfed8baf8cdbf502d.2]
mov esi, 41
call qword ptr [rip + core[4e7ceada952a6ea0]::panicking::panic_fmt@GOTPCREL]
.Lanon.642d46026bcfa00bfed8baf8cdbf502d.0:
.ascii "Arc counter overflow"
```
Godbolt link:
https://godbolt.org/z/3qjxooYWM
I expect bors to report a binary size reduction for all programs using Arc. There might also be performance improvements as a byproduct of CPU cache hit increase.
Miri: give the incremental session a chance to finish This helps with rust-lang/miri#5013. Reruns still aren't as fast as I'd like, but using nextest to run libcore tests shows a big difference: ``` before: Nextest run ID 56b7b355-6225-4083-96e3-aeeabbe80523 with nextest profile: default-miri Starting 10 tests across 2 binaries (2760 tests skipped) PASS [ 31.264s] coretests::coretests any::any_downcast_mut PASS [ 31.287s] coretests::coretests any::distinct_type_names PASS [ 32.747s] coretests::coretests iter::traits::iterator::test_any PASS [ 32.758s] coretests::coretests any::any_owning PASS [ 32.864s] coretests::coretests any::dyn_type_name PASS [ 32.973s] coretests::coretests any::any_downcast_ref PASS [ 33.139s] coretests::coretests any::any_unsized PASS [ 33.719s] coretests::coretests any::any_referenced PASS [ 35.786s] coretests::coretests any::any_fixed_vec PASS [ 38.951s] coretests::coretests num::dec2flt::parse::many_digits ──────────── Summary [ 38.955s] 10 tests run: 10 passed, 2760 skipped after: Nextest run ID af603971-e41e-466d-8469-0425057fa325 with nextest profile: default-miri Starting 10 tests across 2 binaries (2761 tests skipped) PASS [ 15.063s] coretests::coretests any::any_unsized PASS [ 15.176s] coretests::coretests any::distinct_type_names PASS [ 15.200s] coretests::coretests any::any_referenced PASS [ 15.550s] coretests::coretests iter::traits::iterator::test_any PASS [ 15.993s] coretests::coretests any::any_fixed_vec PASS [ 17.506s] coretests::coretests num::dec2flt::parse::many_digits PASS [ 17.902s] coretests::coretests any::any_downcast_ref PASS [ 18.188s] coretests::coretests any::any_owning PASS [ 19.270s] coretests::coretests any::dyn_type_name PASS [ 19.702s] coretests::coretests any::any_downcast_mut ──────────── Summary [ 19.705s] 10 tests run: 10 passed, 2761 skipped ``` It still seems to spend at least 10s building the crate before Miri even begins running, no idea what it is doing in that time. But it's 15s less than before so that's good. :)
…, r=bjorn3,jieyouxu Add -Zwasm-proc-macros flag This is currently not really implemented, but partial support for it is added in various places across the tree. This is a patch extracted from the wider set of work to make review easier, which wires up: * Unstable flag in rustc * Bootstrap flag to enable using wasm-proc-macros (this needs an extra std compilation, wiring into compiletest) * Partial compiletest support for the flag (mostly just CLI side of things) * I suspect this will not work across all platforms but based on success with the full patch it should be enough for Linux, I think. I'd rather get them working on at least one platform and then iterate from there, unless we have clear ideas for improvements now. cc rust-lang#160389 (tracking issue) cc rust-lang#157590 (more complete implementation) r? @bjorn3
…, r=clarfonthey std: Adjust cfgs again for TLS on WASI This commit adjusts the changes made in rust-lang#159733. A wasi-libc bug was discovered in rust-lang#160828 which is present in certain situations which means that the changes in rust-lang#159733 expose this bug. The purpose of this PR is to get wasip1/wasip2 targets fixed again while preserving a working implementation for wasip3. This upstream bug is already fixed in wasi-libc meaning that this PR won't be necessary once wasi-sdk-34 is published and used in rust-lang/rust. Until that time, however, this effectively reverts rust-lang#159733 for wasip1/wasip2. The wasip3 target is Tier 3 still and requires wasi-sdk-34 anyway which is why that's left unchanged. Closes rust-lang#160828
…ulacrum Allow running an arbitrary number of try jobs per PR Requested on [Zulip](https://rust-lang.zulipchat.com/#narrow/channel/242791-t-infra/topic/bors.20try.20job.20nolimit/with/615782805). Companion bors PR: rust-lang/bors#812
rustc-book: update sys-v abi link Upstream has moved to a new location and the current link is 6 years out of date. See https://github.com/hjl-tools/x86-psABI/
…-cfg, r=Urgau Add rust_analyzer to check-cfg names Add rust_analyzer as a known cfg name, set to expect no values Add test to verify name is recognized and warned on setting a value Fixes rust-lang#160736 r? @Urgau
…, r=mejrs tests/run-make-cargo/thumb-none-cortex-m: bump `cortex-m` dependency the previous version, v0.5.0 (from 2018), does not include a Cargo lockfile which makes the test brittle as bugs and unintentional breaking changes in any new release of a dependency can make the test fail the newly chosen version, v0.7.7, includes a Cargo lockfile fixes rust-lang#160907
No longer mention the removed generic This was added in rust-lang@464dc07, and should've been deleted in rust-lang@1162bdc, but wasn't. cc @moulins
Contributor
Author
Contributor
This comment has been minimized.
This comment has been minimized.
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 11, 2026
Rollup of 10 pull requests try-job: dist-various-1 try-job: test-various try-job: x86_64-gnu-aux try-job: x86_64-gnu-llvm-21-3 try-job: x86_64-msvc-1 try-job: aarch64-apple-1 try-job: aarch64-apple-2 try-job: x86_64-mingw-1 try-job: i686-msvc-1 try-job: i686-msvc-2
Collaborator
|
The job Click to see the possible cause of the failure (guessed by this bot) |
Contributor
Author
??? github |
rust-bors Bot
pushed a commit
that referenced
this pull request
Aug 11, 2026
…uwer Rollup of 10 pull requests Successful merges: - #160620 (Do not pass `-no-pie` on Windows) - #160731 (Arc: Remove unnecessary fmt::Display use for overflow assertion) - #160760 (Miri: give the incremental session a chance to finish) - #160854 (Add -Zwasm-proc-macros flag) - #160868 (std: Adjust cfgs again for TLS on WASI) - #160894 (Allow running an arbitrary number of try jobs per PR) - #160790 (rustc-book: update sys-v abi link) - #160878 (Add rust_analyzer to check-cfg names) - #160909 (tests/run-make-cargo/thumb-none-cortex-m: bump `cortex-m` dependency) - #160920 (No longer mention the removed generic)
This comment has been minimized.
This comment has been minimized.
Contributor
|
💔 Test for 8c19109 failed: CI. Failed job:
|
Contributor
Author
|
@bors retry |
Collaborator
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
Contributor
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Successful merges:
-no-pieon Windows #160620 (Do not pass-no-pieon Windows)cortex-mdependency #160909 (tests/run-make-cargo/thumb-none-cortex-m: bumpcortex-mdependency)r? @ghost
Create a similar rollup