Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
69 commits
Select commit Hold shift + click to select a range
7d09ce8
Bump slab from 0.4.10 to 0.4.11 in /tests/deps
dependabot[bot] Aug 20, 2025
6370c8e
Merge pull request #4533 from rust-lang/dependabot/cargo/tests/deps/s…
RalfJung Aug 20, 2025
07aff76
Prepare for merging from rust-lang/rust
Aug 21, 2025
fc5e20e
Merge ref '125ff8a788c5' from rust-lang/rust
Aug 21, 2025
f702219
update rustc-build-sysroot
RalfJung Aug 21, 2025
802de3d
Merge pull request #4534 from rust-lang/rustup-2025-08-21
RalfJung Aug 21, 2025
5c3f317
CI: also test on powerpc
RalfJung Aug 21, 2025
ad8b241
Merge pull request #4536 from RalfJung/ci
RalfJung Aug 21, 2025
9f15771
Prepare for merging from rust-lang/rust
Aug 22, 2025
4833659
Merge ref '8e3710ef31a0' from rust-lang/rust
Aug 22, 2025
dd91d77
Merge pull request #4537 from rust-lang/rustup-2025-08-22
RalfJung Aug 22, 2025
5068317
add some ZST reborrow tests
RalfJung Aug 22, 2025
069074e
Merge pull request #4538 from RalfJung/zst-rebor
RalfJung Aug 22, 2025
804b41e
Account for time spent tracing, use RDTSC for faster time
Stypox Aug 12, 2025
d70fea9
Merge pull request #4524 from Stypox/tracing-chrome-overhead-rdtsc
RalfJung Aug 23, 2025
c68450a
tree borrows: refactor new-permission logic
RalfJung Aug 23, 2025
416f988
refactor tb_rebor: reduce code duplication
RalfJung Aug 23, 2025
fe7892b
Merge pull request #4540 from RalfJung/tb-refactors
RalfJung Aug 23, 2025
8c2d2c0
Prepare for merging from rust-lang/rust
Aug 24, 2025
005dc5c
Merge ref 'f6d23413c399' from rust-lang/rust
Aug 24, 2025
9e18b7b
fmt
Aug 24, 2025
7f6f741
Merge pull request #4541 from rust-lang/rustup-2025-08-24
saethlin Aug 24, 2025
22ef90c
Prepare for merging from rust-lang/rust
Aug 25, 2025
ca89652
Merge ref 'a1dbb443527b' from rust-lang/rust
Aug 25, 2025
dd80147
Merge pull request #4542 from rust-lang/rustup-2025-08-25
RalfJung Aug 25, 2025
b08ebc5
TB: fix SIFA comment
RalfJung Aug 25, 2025
5ea8c2d
Merge pull request #4543 from RalfJung/tb-sifa
RalfJung Aug 25, 2025
a10bdf9
Prepare for merging from rust-lang/rust
Aug 27, 2025
aa58379
Merge ref '269d5b56bcfd' from rust-lang/rust
Aug 27, 2025
f44d957
Merge pull request #4544 from rust-lang/rustup-2025-08-27
RalfJung Aug 27, 2025
8743a04
Add documentation for tracing
Stypox Aug 22, 2025
4beb15f
Merge pull request #4539 from Stypox/tracing-docs
RalfJung Aug 28, 2025
01ed105
unix read/write: fix zero-size handling
RalfJung Aug 28, 2025
74ade5b
Merge pull request #4545 from RalfJung/zst-readwrite
RalfJung Aug 29, 2025
497df60
Add duplicate handle test + make null lpTargetHandle an abort, not an…
CraftSpider Jun 2, 2025
aabfe43
Merge pull request #4371 from CraftSpider/duplicate-handle-test
RalfJung Aug 29, 2025
615450e
Bump tracing-subscriber from 0.3.19 to 0.3.20
dependabot[bot] Aug 29, 2025
b00c449
Merge pull request #4546 from rust-lang/dependabot/cargo/tracing-subs…
saethlin Aug 29, 2025
435de36
Prepare for merging from rust-lang/rust
Aug 30, 2025
d269d23
Merge ref 'e004014d1bf4' from rust-lang/rust
Aug 30, 2025
c8d20ce
Merge pull request #4548 from rust-lang/rustup-2025-08-30
oli-obk Aug 30, 2025
f2ff4c2
native-lib mode: avoid unsoundness due to mrpotect
RalfJung Aug 30, 2025
0308a15
reduce some code duplication and update some comments
RalfJung Aug 30, 2025
1feabac
Merge pull request #4549 from RalfJung/mprotect
RalfJung Aug 30, 2025
fbd8b96
native-lib: more resilient grabbing of instruction bytes
nia-e Aug 31, 2025
4dbadd0
native-lib: pass structs to native code
nia-e Jul 13, 2025
7e0ae3a
Merge pull request #4551 from nia-e/fixup-jump-instr
RalfJung Aug 31, 2025
c1d1677
some refactoring and cleanup
RalfJung Aug 31, 2025
1f0216e
Merge pull request #4466 from nia-e/native-structs
RalfJung Aug 31, 2025
988c077
Prepare for merging from rust-lang/rust
Sep 1, 2025
4cc7cca
Merge ref '828e45ad11ce' from rust-lang/rust
Sep 1, 2025
e8626a3
Merge pull request #4553 from rust-lang/rustup-2025-09-01
RalfJung Sep 1, 2025
20a3256
improve output for 'cargo miri test --help'
RalfJung Sep 1, 2025
8236def
Merge pull request #4554 from RalfJung/help
RalfJung Sep 1, 2025
821a44d
move some configuration enums to a more logical place
RalfJung Sep 1, 2025
a354649
add a flag to always apply the maximum float error
RalfJung Sep 2, 2025
d4f861e
account for aarch64 windows oversleeping
RalfJung Sep 2, 2025
80c3ba8
Merge pull request #4555 from RalfJung/float-err
RalfJung Sep 2, 2025
4daea27
add zed editor config
nia-e Sep 2, 2025
ef1dab1
Prepare for merging from rust-lang/rust
Sep 3, 2025
d98a9c6
Merge ref '51ff895062ba' from rust-lang/rust
Sep 3, 2025
5f3197f
Merge pull request #4560 from rust-lang/rustup-2025-09-03
saethlin Sep 3, 2025
9f0b2a2
fix mangitude of applied float error
RalfJung Sep 2, 2025
3015ce1
Merge pull request #4559 from nia-e/zed-config
RalfJung Sep 3, 2025
1421247
Merge pull request #4558 from RalfJung/float-err-fix
oli-obk Sep 3, 2025
2839853
add flag to not shorten FD reads/writes; don't shorten pipe operations
RalfJung Sep 3, 2025
2c8bd9b
Merge pull request #4561 from RalfJung/short-fd-ops
RalfJung Sep 3, 2025
18683c2
update lockfile
RalfJung Sep 3, 2025
8667034
fix applying an error to infinities
RalfJung Sep 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -3204,9 +3204,9 @@ dependencies = [

[[package]]
name = "rustc-build-sysroot"
version = "0.5.9"
version = "0.5.11"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb13874a0e55baf4ac3d49d38206aecb31a55b75d6c4d04fd850b53942c8cc8"
checksum = "3b881c015c729b43105bbd3702a9bdecee28fafaa21126d1d62e454ec011a4b7"
dependencies = [
"anyhow",
"rustc_version",
Expand Down
5 changes: 5 additions & 0 deletions src/tools/miri/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,11 @@ jobs:
multiarch: s390x
gcc_cross: s390x-linux-gnu
qemu: true
- host_target: powerpc64le-unknown-linux-gnu
os: ubuntu-latest
multiarch: ppc64el
gcc_cross: powerpc64le-linux-gnu
qemu: true
- host_target: aarch64-apple-darwin
os: macos-latest
- host_target: i686-pc-windows-msvc
Expand Down
6 changes: 6 additions & 0 deletions src/tools/miri/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -255,6 +255,12 @@ when installing the Miri toolchain. Alternatively, set the `RUSTUP_TOOLCHAIN` en

[`etc/rust_analyzer_helix.toml`]: https://github.com/rust-lang/miri/blob/master/etc/rust_analyzer_helix.toml

### Zed

Copy [`etc/rust_analyzer_zed.json`] to `.zed/settings.json` in the project root directory.

[`etc/rust_analyzer_zed.json`]: https://github.com/rust-lang/miri/blob/master/etc/rust_analyzer_zed.json

### Advanced configuration

If you are building Miri with a locally built rustc, set
Expand Down
4 changes: 2 additions & 2 deletions src/tools/miri/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -1569,9 +1569,9 @@ dependencies = [

[[package]]
name = "tracing-subscriber"
version = "0.3.19"
version = "0.3.20"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8189decb5ac0fa7bc8b96b7cb9b2701d60d48805aca84a238004d665fcc4008"
checksum = "2054a14f5307d601f88daf0553e1cbf472acc4f2c51afab632431cdcd72124d5"
dependencies = [
"sharded-slab",
"thread_local",
Expand Down
2 changes: 1 addition & 1 deletion src/tools/miri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ features = ['unprefixed_malloc_on_supported_platforms']
[target.'cfg(unix)'.dependencies]
libc = "0.2"
# native-lib dependencies
libffi = { version = "4.0.0", optional = true }
libffi = { version = "4.1.1", optional = true }
libloading = { version = "0.8", optional = true }
serde = { version = "1.0.219", features = ["derive"], optional = true }

Expand Down
6 changes: 6 additions & 0 deletions src/tools/miri/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -319,8 +319,14 @@ environment variable. We first document the most relevant and most commonly used
Can be used without a value; in that case the range defaults to `0..64`.
* `-Zmiri-many-seeds-keep-going` tells Miri to really try all the seeds in the given range, even if
a failing seed has already been found. This is useful to determine which fraction of seeds fails.
* `-Zmiri-max-extra-rounding-error` tells Miri to always apply the maximum error to float operations
that do not have a guaranteed precision. The sign of the error is still non-deterministic.
* `-Zmiri-no-extra-rounding-error` stops Miri from adding extra rounding errors to float operations
that do not have a guaranteed precision.
* `-Zmiri-no-short-fd-operations` stops Miri from artificially forcing `read`/`write` operations
to only process a part of their buffer. Note that whenever Miri uses host operations to
implement `read`/`write` (e.g. for file-backed file descriptors), the host system can still
introduce short reads/writes.
* `-Zmiri-num-cpus` states the number of available CPUs to be reported by miri. By default, the
number of available CPUs is `1`. Note that this flag does not affect how miri handles threads in
any way.
Expand Down
4 changes: 2 additions & 2 deletions src/tools/miri/cargo-miri/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -429,9 +429,9 @@ dependencies = [

[[package]]
name = "rustc-build-sysroot"
version = "0.5.9"
version = "0.5.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fdb13874a0e55baf4ac3d49d38206aecb31a55b75d6c4d04fd850b53942c8cc8"
checksum = "dd41ead66a69880951b2f7df3139db401d44451b4da123344d27eaa791b89c95"
dependencies = [
"anyhow",
"rustc_version",
Expand Down
2 changes: 1 addition & 1 deletion src/tools/miri/cargo-miri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ directories = "6"
rustc_version = "0.4"
serde_json = "1.0.40"
cargo_metadata = "0.21"
rustc-build-sysroot = "0.5.8"
rustc-build-sysroot = "0.5.10"

# Enable some feature flags that dev-dependencies need but dependencies
# do not. This makes `./miri install` after `./miri build` faster.
Expand Down
39 changes: 27 additions & 12 deletions src/tools/miri/cargo-miri/src/phases.rs
Original file line number Diff line number Diff line change
Expand Up @@ -65,16 +65,6 @@ fn forward_patched_extern_arg(args: &mut impl Iterator<Item = String>, cmd: &mut
}

pub fn phase_cargo_miri(mut args: impl Iterator<Item = String>) {
// Check for version and help flags even when invoked as `cargo-miri`.
if has_arg_flag("--help") || has_arg_flag("-h") {
show_help();
return;
}
if has_arg_flag("--version") || has_arg_flag("-V") {
show_version();
return;
}

// Require a subcommand before any flags.
// We cannot know which of those flags take arguments and which do not,
// so we cannot detect subcommands later.
Expand All @@ -85,11 +75,36 @@ pub fn phase_cargo_miri(mut args: impl Iterator<Item = String>) {
"setup" => MiriCommand::Setup,
"test" | "t" | "run" | "r" | "nextest" => MiriCommand::Forward(subcommand),
"clean" => MiriCommand::Clean,
_ =>
_ => {
// Check for version and help flags.
if has_arg_flag("--help") || has_arg_flag("-h") {
show_help();
return;
}
if has_arg_flag("--version") || has_arg_flag("-V") {
show_version();
return;
}
show_error!(
"`cargo miri` supports the following subcommands: `run`, `test`, `nextest`, `clean`, and `setup`."
),
)
}
};
if has_arg_flag("--help") || has_arg_flag("-h") {
match subcommand {
MiriCommand::Forward(verb) => {
println!("`cargo miri {verb}` supports the same flags as `cargo {verb}`:\n");
let mut cmd = cargo();
cmd.arg(verb);
cmd.arg("--help");
exec(cmd);
}
_ => {
show_help();
return;
}
}
}
let verbose = num_arg_flag("-v") + num_arg_flag("--verbose");
let quiet = has_arg_flag("-q") || has_arg_flag("--quiet");

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/tools/miri/doc/img/perfetto_span.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/tools/miri/doc/img/perfetto_timeline.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Loading