-
Notifications
You must be signed in to change notification settings - Fork 13.3k
Miri subtree update #125286
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
Merged
Merged
Miri subtree update #125286
Conversation
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
…Jung support `f*_algebraic` supports the [`f*_algebraic`](https://doc.rust-lang.org/std/intrinsics/fn.fadd_algebraic.html) intrinsics.
Use non-null pointer for size 0 posix memalign Fixes rust-lang#3576
a bit of intrinsics organization
Don't print unnecessary sysroot messages Currently, when running `cargo miri setup`, we always print that a sysroot is being prepared, even if we just bail out of building after checking the hash. So that message is wrong; we didn't actually prepare a sysroot. We also always print the preparing message for `cargo miri run`, even if no sysroot is prepared. With this PR, `cargo miri run` prints no sysroot messages when an existing one is reused, and when a redundant `cargo miri setup` is requested, we print: ``` A sysroot for Miri is already available in `/home/ben/.cache/miri`. ```
fixing part of `miri test alloc/hashmap`.
Illumos part3 Fixes rust-lang/miri#3567
intrinsics: just panic when they get used incorrectly This is already what we do most of the time, so do it consistently.
Rustup, aligned heap-allocations on wasm Pulls in rust-lang#125003 so allocation tests should now work on wasm.
attempt changing Bytes in MiriMachine to MiriAllocBytes rename miri_alloc_bytes to alloc_bytes generalize impl VisitProvenance for Allocation for any Bytes: AllocBytes mend MiriAllocBytes -> Self::Bytes fix Invariant documentation and bugs (drop), impl Clone Update MiriAllocBytes description Co-authored-by: Ralf Jung <[email protected]> Rephrase MiriAllocBytes ptr invariant Co-authored-by: Ralf Jung <[email protected]> Update MiriAllocBytes ptr documentation Co-authored-by: Ralf Jung <[email protected]> fix safety comment in MiriAllocBytes::clone fix safety comment in MiriAllocBytes::from_bytes try implementing clone without unsafe remove derive(PartialEq,Eq,Hash), fix fmt move ptr.is_null() check inside only necessary branch use std::ptr::without_provenance_mut, requiring feature(strict_provenance) align.bytes_usize() instead of align.bytes().try_into().unwrap() Update src/provenance_gc.rs Co-authored-by: Ralf Jung <[email protected]> fix clippy error on deref
Adjust Allocation Bytes used by Miri to custom MiriAllocBytes Previously, the `MiriMachine` used `type Bytes = Box<[u8]>` for its allocations. This PR swaps this out for a custom `MiriAllocBytes` type implemented in `alloc_bytes.rs`. This is in anticipation of an extension to Miri's FFI, which will require its allocations to take care of alignment (the methods in `impl AllocBytes for Box<[u8]>` ignore this `_align: Align` argument). Needs rust-lang#124492
Give `FileDescription::{read, write}` access to the `MiriInterpCx ` fixes rust-lang#3572
Ignore the Helix configuration directory For us Helix users.
support aligned_alloc for unixes. Fixes rust-lang/miri#3577
make basic things work on Android Fixes rust-lang/miri#3608
properly print error in 'cargo miri setup --print-sysroot' Based on rustc-build-sysroot now putting the stderr into the error message.
test wasm32-wasip2 instead of the deprecated wasm32-wasi target
use a little arg-parsing helper for miri-script
Windows still needs the old custom ABI as SEH unwinding isn't supported by miri. Unlike DWARF unwinding it preserves all stack frames until right after the do_catch function has executed. Because of this panic_unwind stack allocates the exception object. Miri can't currently model unwinding without destroying stack frames and as such will report a use-after-free of the exception object.
- share implementation with miri_starting_unwind - make test use a custom unwinding class - extend comments - use NeedsUnwind more consistently
Directly implement native exception raise methods in miri This implements the `_Unwind_RaiseException` function used on pretty much every unix system for starting unwinding. This allows removing the miri special case from libpanic_unwind for unix. Windows still needs `miri_start_unwind` as SEH unwinding isn't supported by miri. Unlike DWARF unwinding, SEH preserves all stack frames until right after the do_catch function has executed. Because of this panic_unwind stack allocates the exception object. Miri can't currently model unwinding without destroying stack frames and as such will report a use-after-free of the exception object.
The Miri subtree was changed cc @rust-lang/miri These commits modify the If this was unintentional then you should revert the changes before this PR is merged. |
@bors r+ |
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
May 19, 2024
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#124948 (chore: Remove repeated words (extension of rust-lang#124924)) - rust-lang#124992 (Add example to IsTerminal::is_terminal) - rust-lang#125279 (make `Debug` impl for `Term` simpler) - rust-lang#125286 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
rust-timer
added a commit
to rust-lang-ci/rust
that referenced
this pull request
May 19, 2024
Rollup merge of rust-lang#125286 - RalfJung:miri-sync, r=RalfJung Miri subtree update r? `@ghost`
bors
added a commit
to rust-lang-ci/rust
that referenced
this pull request
May 30, 2024
…iaskrgr Rollup of 4 pull requests Successful merges: - rust-lang#124948 (chore: Remove repeated words (extension of rust-lang#124924)) - rust-lang#124992 (Add example to IsTerminal::is_terminal) - rust-lang#125279 (make `Debug` impl for `Term` simpler) - rust-lang#125286 (Miri subtree update) r? `@ghost` `@rustbot` modify labels: rollup
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
S-waiting-on-bors
Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
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.
r? @ghost