about summary refs log tree commit diff
path: root/src/tools/miri
AgeCommit message (Collapse)AuthorLines
2024-05-04remove some dead codeRalf Jung-3/+0
2024-05-04bless and fmtRalf Jung-5/+13
2024-05-04Merge from rustcRalf Jung-34/+65
2024-05-04Preparing for merge from rustcRalf Jung-1/+1
2024-05-04also test pthread_condattr_getclockRalf Jung-1/+42
2024-05-04factor some pthread offset into constantsRalf Jung-8/+16
2024-05-04sync: better error in invalid synchronization primitive IDRalf Jung-0/+9
2024-05-04interpret, miri: uniform treatments of intrinsics/functions with and without ↵Ralf Jung-217/+184
return block
2024-05-04Auto merge of #3559 - RalfJung:weak-extern-static, r=RalfJungbors-36/+50
add helper function to declare an extern static for a weak symbol and use it to make `statx` a regular function and get rid of the syscall
2024-05-04make statx a regular function (so we don't need to support the syscall)Ralf Jung-26/+23
2024-05-04add helper function to declare an extern static for a weak symbolRalf Jung-10/+27
2024-05-04Auto merge of #3554 - RalfJung:freebsd, r=RalfJungbors-33/+34
document unofficially supported OSes Also tweak the freeBSD testing a bit.
2024-05-04Auto merge of #3558 - RalfJung:unsupported, r=RalfJungbors-22/+45
update 'unsupported' message Instead of "the interpreter", just say Miri. Also be a more more clear about what is expected to be supported and what not (Cc https://github.com/rust-lang/miri/issues/2325).
2024-05-04make some tests not need output (so they work on wasm)Ralf Jung-10/+6
2024-05-04document unofficially supported OSesRalf Jung-2/+5
2024-05-04freebsd: test std threadname and fs APIsRalf Jung-21/+23
also reorder foreign_items to fix the grouping, and reorder the tests_minimal invocations to be more consistent
2024-05-04update 'unsupported' messageRalf Jung-22/+45
2024-05-04Revert "moving out sched_getaffinity interception from linux'shim, FreeBSD ↵Ralf Jung-19/+13
supporting it too." This reverts commit c1a3f8576ea12b0bed68ad3dedf4069ca3d9816f.
2024-05-04Auto merge of #3552 - RalfJung:ci, r=RalfJungbors-14/+12
even out CI runner times
2024-05-04Auto merge of #3556 - RalfJung:intrinsics, r=RalfJungbors-32/+32
move intrinsics tests into dedicated folder And separate them from "shims" (which are for extern functions we link against).
2024-05-04move some minimal targets over to the macOS runner, to even out CI timesRalf Jung-10/+8
2024-05-04fix grouping of target-specific LLVM shimsRalf Jung-30/+30
2024-05-04Rollup merge of #124293 - oli-obk:miri_intrinsic_fallback_body, r=RalfJungMatthias Krüger-33/+64
Let miri and const eval execute intrinsics' fallback bodies fixes https://github.com/rust-lang/miri/issues/3397 r? ``@RalfJung``
2024-05-04move intrinsics implementations and tests into dedicated folderRalf Jung-2/+2
and make them separate from 'shims'
2024-05-04rename integer testRalf Jung-0/+0
2024-05-04move available-parallelism tests into shims/ folderRalf Jung-0/+0
2024-05-04Auto merge of #3533 - Luv-Ray:file-descriptors-to-refcount-references, ↵bors-201/+193
r=RalfJung Make file descriptors into refcount references fixes #3525 Remove `fn dup` in `trait FileDescription`, define `struct FileDescriptor(Rc<RefCell<dyn FileDescription>>)`, and use `BTreeMap<i32, FileDescriptor>` in `FdTable`. --- There are some refactors similar to the following form: ```rust { // origin: if let Some(file_descriptor) = this.machine.fds.get_mut(fd) { // write file_descriptor this.try_unwrap_io_result(result) } else { this.fd_not_found() } } { // now: let Some(mut file_descriptor) = this.machine.fds.get_mut(fd) else { return this.fd_not_found(); }; // write file_descriptor drop(file_descriptor); this.try_unwrap_io_result(result) } ``` The origin form can't compile because as using `RefCell` to get interior mutability, `fn get_mut` return `Option<std::cell::RefMut<'_, dyn FileDescription>>` instead of `Option<&mut dyn FileDescription>` now, and the `deref_mut` on `file_descriptor: RefMut` will cause borrow `this` as mutable more than once at a time. So this form of refactors and manual drops are are implemented to avoid borrowing `this` at the same time.
2024-05-04show time taken in run_tests_minimalRalf Jung-2/+2
2024-05-04speed up Windows runner: don't run GC_STRESS testRalf Jung-2/+2
2024-05-04Make file descriptors into refcount referencesLuv-Ray-201/+193
take ownership of self and return `io::Result<()>` in `FileDescription::close` Co-authored-by: Ralf Jung <post@ralfj.de>
2024-05-04Auto merge of #3551 - RalfJung:getentropy, r=RalfJungbors-7/+0
macos: use getentropy from libc This has been added in the mean time.
2024-05-04macos: use getentropy from libcRalf Jung-7/+0
2024-05-04tls dtors: treat all unixes uniformlyRalf Jung-6/+6
2024-05-04Auto merge of #3548 - RalfJung:many-seeds, r=RalfJungbors-96/+134
make many-seeds a mode of ./miri run rather than a separate command Also parallelize it so we use all cores to try seeds at the same time. Fixes https://github.com/rust-lang/miri/issues/3509 by not alternating between different build modes (with/without dev-dependencies) all the time.
2024-05-04remove a hack that is no longer neededRalf Jung-9/+0
2024-05-04make many-seeds a mode of ./miri run rather than a separate commandRalf Jung-87/+134
2024-05-03Rollup merge of #124480 - Enselic:on-broken-pipe, r=jieyouxuMichael Goulet-1/+1
Change `SIGPIPE` ui from `#[unix_sigpipe = "..."]` to `-Zon-broken-pipe=...` In the stabilization [attempt](https://github.com/rust-lang/rust/pull/120832) of `#[unix_sigpipe = "sig_dfl"]`, a concern was [raised ](https://github.com/rust-lang/rust/pull/120832#issuecomment-2007394609) related to using a language attribute for the feature: Long term, we want `fn lang_start()` to be definable by any crate, not just libstd. Having a special language attribute in that case becomes awkward. So as a first step towards the next stabilization attempt, this PR changes the `#[unix_sigpipe = "..."]` attribute to a compiler flag `-Zon-broken-pipe=...` to remove that concern, since now the language is not "contaminated" by this feature. Another point was [also raised](https://github.com/rust-lang/rust/pull/120832#issuecomment-1987023484), namely that the ui should not leak **how** it does things, but rather what the **end effect** is. The new flag uses the proposed naming. This is of course something that can be iterated on further before stabilization. Tracking issue: https://github.com/rust-lang/rust/issues/97889
2024-05-03CI: no need to surround if: condition in expansion bracesRalf Jung-3/+3
2024-05-03Auto merge of #3545 - RalfJung:miri-run, r=RalfJungbors-24/+29
./miri run: support -v flag to print what it is doing
2024-05-03./miri run: support -v flag to print what it is doingRalf Jung-24/+29
2024-05-03Auto merge of #3544 - RalfJung:rustup, r=RalfJungbors-1/+1
Preparing for merge from rustc Unblocks https://github.com/rust-lang/miri/pull/3526.
2024-05-03Preparing for merge from rustcRalf Jung-1/+1
2024-05-03run clippy on a Windows hostRalf Jung-0/+6
2024-05-03Ensure miri only uses fallback bodies that have manually been vetted to ↵Oli Scherer-0/+38
preserve all UB that the native intrinsic would have
2024-05-03Let miri and const eval execute intrinsics' fallback bodiesOli Scherer-33/+26
2024-05-03Auto merge of #3537 - rust-lang:rustup-2024-05-03, r=RalfJungbors-13/+17
Automatic Rustup
2024-05-03update lockfileRalf Jung-1/+0
2024-05-03update comments and URLRalf Jung-6/+2
2024-05-03Merge from rustcThe Miri Cronjob Bot-11/+16
2024-05-03Preparing for merge from rustcThe Miri Cronjob Bot-1/+1