about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-04-18do not reuse stack addresses; make reuse rate configurableRalf Jung-17/+45
2024-04-18when an address gets reused, establish a happens-before link in the data ↵Ralf Jung-36/+129
race model
2024-04-18Auto merge of #3484 - RalfJung:realloc, r=RalfJungbors-158/+205
make realloc with a size of zero fail Fixes https://github.com/rust-lang/miri/issues/2774
2024-04-18move allocator shim logic into its own fileRalf Jung-157/+178
2024-04-18make realloc with a size of zero failRalf Jung-5/+31
2024-04-18when suggesting RUST_BACKTRACE=1, add a special note for Miri's env var ↵Ralf Jung-0/+31
isolation
2024-04-18Auto merge of #3486 - RalfJung:mir-validate, r=RalfJungbors-0/+42
add test checking that we do run MIR validation Fixes https://github.com/rust-lang/miri/issues/2840
2024-04-18add test checking that we do run MIR validationRalf Jung-0/+42
2024-04-18Auto merge of #124008 - nnethercote:simpler-static_assert_size, r=Nilstriebbors-3/+3
Simplify `static_assert_size`s. We want to run them on all 64-bit platforms. r? `@ghost`
2024-04-18move read_byte_slice to general helpers file, next to read_c_strRalf Jung-16/+21
2024-04-18add test for Drop terminator on non-drop typeRalf Jung-0/+21
2024-04-18Simplify `static_assert_size`s.Nicholas Nethercote-3/+3
We want to run them on all 64-bit platforms.
2024-04-17fmtRalf Jung-5/+1
2024-04-17Merge from rustcRalf Jung-39/+46
2024-04-17Preparing for merge from rustcRalf Jung-1/+1
2024-04-17Rollup merge of #124030 - RalfJung:adjust_alloc_base_pointer, r=oli-obkMatthias Krüger-39/+46
interpret: pass MemoryKind to adjust_alloc_base_pointer Another puzzle piece for https://github.com/rust-lang/miri/pull/3475. The 2nd commit renames base_pointer -> root_pointer; that's how Tree Borrows already calls them and I think the term is more clear than "base pointer". In particular, this distinguishes it from "base address", since a root pointer can point anywhere into an allocation, not just its base address. https://github.com/rust-lang/rust/pull/124018 has been rolled up already so I couldn't add it there any more. r? ```@oli-obk```
2024-04-17Auto merge of #3480 - RalfJung:alloc_error_handler, r=RalfJungbors-120/+171
directly call handle_alloc_error Also test more codepaths. There's like 5 different things that can happen on allocation failure! Between `-Zoom`, `#[alloc_error_handler]`, and `set_alloc_error_hook`, we have 3 layers of behavior overrides. It's all a bit messy. https://github.com/rust-lang/rust/pull/112331 seems intended to clean this up, but has not yet reached consensus.
2024-04-17no need to use miri's native stderr hereRalf Jung-3/+2
2024-04-17tests/utils: add fmt::Write implementations for miri's native stdout/stderrRalf Jung-59/+64
2024-04-17alloc_error_handler tests: directly call handle_alloc_error; test more codepathsRalf Jung-75/+122
2024-04-17interpret: rename base_pointer -> root_pointerRalf Jung-35/+35
also in Miri, "base tag" -> "root tag"
2024-04-17interpret: pass MemoryKind to adjust_alloc_base_pointerRalf Jung-7/+14
2024-04-17fmtThe Miri Cronjob Bot-10/+12
2024-04-17Merge from rustcThe Miri Cronjob Bot-25/+69
2024-04-17Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-17Rollup merge of #124013 - RalfJung:box-to-raw, r=oli-obkGuillaume Gomez-2/+42
Box::into_raw: make Miri understand that this is a box-to-raw cast Turns out https://github.com/rust-lang/rust/pull/122647 went a bit too far in cleaning up `Box`... we still need a hack in `Box::into_raw`. The nicer fix would be to make Stacked Borrows not care about reference-to-raw-pointer casts, but it's unclear whether that will ever be possible without going to full Tree Borrows. Fixes https://github.com/rust-lang/miri/issues/3473.
2024-04-16Auto merge of #3478 - RalfJung:alloc_error_handler, r=RalfJungbors-7/+207
implement support for __rust_alloc_error_handler Fixes https://github.com/rust-lang/miri/issues/3439
2024-04-16implement support for __rust_alloc_error_handlerRalf Jung-7/+207
2024-04-16no_std works on Windows nowRalf Jung-4/+0
2024-04-16Add simple async drop glue generationzetanumbers-0/+235
Explainer: https://zetanumbers.github.io/book/async-drop-design.html https://github.com/rust-lang/rust/pull/121801
2024-04-16Rollup merge of #124018 - RalfJung:dealloc-memory-kind, r=oli-obkMatthias Krüger-18/+19
interpret: pass MemoryKind to before_memory_deallocation This will be needed for https://github.com/rust-lang/miri/pull/3475. r? ``@oli-obk``
2024-04-16Rollup merge of #124007 - RalfJung:miri, r=RalfJungMatthias Krüger-143/+345
Miri subtree update r? ``@ghost``
2024-04-16interpret: pass MemoryKind to before_memory_deallocationRalf Jung-18/+19
2024-04-16Auto merge of #3472 - RalfJung:deadlock, r=RalfJungbors-25/+175
deadlock: show backtrace for all threads Fixes https://github.com/rust-lang/miri/issues/3424
2024-04-16deadlock: show backtrace for all threadsRalf Jung-25/+175
2024-04-16Box::into_raw: make Miri understand that this is a box-to-raw castRalf Jung-2/+42
2024-04-16Miri: adopt to new intrinsic typesMaybe Waffle-3/+3
2024-04-16threads: keep track of why we are blocked, and sanity-check that when waking upRalf Jung-95/+108
2024-04-16avoid passing --sysroot twice in bootstrapRalf Jung-5/+8
2024-04-16bless test-cargo-miriRalf Jung-11/+11
2024-04-16Merge from rustcThe Miri Cronjob Bot-146/+204
2024-04-16Preparing for merge from rustcThe Miri Cronjob Bot-1/+1
2024-04-15Auto merge of #3467 - RossSmyth:bumpSysroot, r=RalfJungbors-3/+3
Bump rustc-build-sysroot to 0.4.6 Fixes #3313
2024-04-15Auto merge of #3462 - eduardosm:chunk-128, r=RalfJungbors-44/+33
Make `split_simd_to_128bit_chunks` take only one operand It will allow more flexible uses in the future. This makes `split_simd_to_128bit_chunks` simpler, moving some of the complexity to its callers.
2024-04-15Bump rustc-build-sysroot to 0.4.6Ross Smyth-3/+3
2024-04-15Make `split_simd_to_128bit_chunks` take only one operandEduardo Sánchez Muñoz-44/+33
It will allow more flexible uses in the future. This makes `split_simd_to_128bit_chunks` simpler, moving some of the complexity to its callers.
2024-04-15Auto merge of #3466 - RalfJung:GetFullPathNameW, r=RalfJungbors-22/+174
add some basic support for GetFullPathNameW This is the last missing piece to make std `path::` tests work on Windows.
2024-04-15Auto merge of #3411 - RalfJung:sysroot, r=RalfJungbors-54/+51
Handle Miri sysroot entirely outside the Miri driver (Extracted from https://github.com/rust-lang/miri/pull/3409) This entirely moves the responsibility of setting miri-sysroot to whatever *invokes* the Miri driver. cargo-miri knows whether it is inside rustdoc or not and can adjust accordingly. I previously avoided doing that because there are a bunch of places that are invoking the driver (cargo-miri, the ui test suite, `./miri run`, `./x.py run miri`) and they all need to be adjusted now. But it is also somewhat less fragile as we usually have more information there -- and we can just decide that `./miri run file.rs --sysroot path` is not supported. The advantage of this is that the driver is reasonably clean and doesn't need magic environment variables like MIRI_SYSROOT, and we don't have to fight rustc_driver to use a different default sysroot. Everything is done in cargo-miri (and the other much simpler driver wrappers) where it can hopefully be debugged much better.
2024-04-15add some basic support for GetFullPathNameWRalf Jung-22/+174
2024-04-15Auto merge of #3465 - RalfJung:run-dep-error-format, r=RalfJungbors-1/+2
fix error display for './miri run --dep' Fixes https://github.com/rust-lang/miri/issues/3463