Commit Graph

6499 Commits

Author SHA1 Message Date
Ralf Jung
f238513efa rename some data_race types for more clarity 2022-07-01 16:21:48 -04:00
bors
70b97a5d7b Auto merge of #2299 - RalfJung:bsd, r=RalfJung
test more things on FreeBSD
2022-07-01 18:14:23 +00:00
Ralf Jung
ab0005bc38 run data_race tests on bsd 2022-07-01 14:13:36 -04:00
Ralf Jung
734e8903f2 more current_dir tests for freebsd 2022-07-01 14:12:25 -04:00
bors
c1a37b87aa Auto merge of #2298 - InfRandomness:shim-error, r=RalfJung
Add `__error` to freebsd shims

Signed-off-by: InfRandomness <infrandomness@gmail.com>
2022-07-01 17:41:10 +00:00
InfRandomness
dc47649d21
Add current_dir_with_isolation to freebsd tests list
Signed-off-by: InfRandomness <infrandomness@gmail.com>
2022-07-01 18:52:32 +02:00
InfRandomness
dca2bb68b3
Add __error to freebsd shims
Signed-off-by: InfRandomness <infrandomness@gmail.com>
2022-07-01 18:42:33 +02:00
bors
c768f3c03c Auto merge of #2297 - RalfJung:rustup, r=RalfJung
rustup
2022-07-01 16:26:25 +00:00
Ralf Jung
12d04ac4c4 make clippy happy 2022-07-01 12:25:35 -04:00
bors
5815d8d81c Auto merge of #2296 - RalfJung:miri-script, r=RalfJung
./miri improvements

I have needed to run something with many different seeds often enough that I would like an easier way to do it. ;) So now we have `./miri many-seeds`.

Also I made the script less dependent on the working directory, so calling it from a different directory should work properly now even if that other directory does not have the same rustup override as the one where Miri lives.
2022-07-01 14:46:30 +00:00
Ralf Jung
af39709a9c rustup 2022-07-01 10:14:31 -04:00
Ralf Jung
9bc7938bc2 more tweaks 2022-07-01 10:01:00 -04:00
Ralf Jung
7d09313727 add './miri many-seeds', and respect MIRIFLAGS in './miri run' 2022-07-01 09:55:02 -04:00
Ralf Jung
a1fabb9478 make miri script work from other working directories 2022-07-01 07:54:43 -04:00
bors
f9e0cf4951 Auto merge of #2295 - RalfJung:better-alloc-tracking, r=RalfJung
allocation tracking: also print size, alignment, kind of the allocation
2022-07-01 02:24:51 +00:00
Ralf Jung
7f3fbbdee7 allocation tracking: also print size, alignment, kind of the allocation 2022-06-30 22:24:23 -04:00
bors
38effb37da Auto merge of #2293 - RalfJung:env, r=RalfJung
make -Zmiri-env-forward take precedence over -Zmiri-env-exclude

Lets people experiment with the `TERM` env var.
2022-06-30 15:15:20 +00:00
Ralf Jung
aef78d3a9f make -Zmiri-env-forward take precedence over -Zmiri-env-exclude 2022-06-30 11:14:30 -04:00
bors
3b1fc83c13 Auto merge of #2291 - RalfJung:no-std-is-minimal, r=RalfJung
use run_tests_minimal for the new no-std test
2022-06-30 14:05:32 +00:00
Ralf Jung
c1d10cdbe0 use run_tests_minimal for the new no-std test 2022-06-30 10:04:56 -04:00
bors
f2279fa943 Auto merge of #2282 - rust-lang:no_std, r=RalfJung
Support no-std targets and test it in CI

cc `@jamesmunns`

This is a bit annoying as you need to have `MIRI_NO_STD=1` set at all times, but it works ™️

Once libstd's `restricted_std` feature becomes more usable, we can probably do away with that env var.

I also added a test to CI to make sure it keeps working. This test only builds libcore and runs a single test, so it's pretty fast.
2022-06-30 13:16:57 +00:00
Oli Scherer
a9f9d48b1a Support no-std targets and test it in CI 2022-06-30 12:51:22 +00:00
bors
9f50296309 Auto merge of #2290 - RalfJung:snakessss, r=RalfJung
use Rust SnakeCase
2022-06-30 02:18:34 +00:00
Ralf Jung
6a204e2dec use Rust SnakeCase 2022-06-29 22:17:46 -04:00
bors
ff62c3ac98 Auto merge of #2289 - RalfJung:rustup, r=RalfJung
rustup
2022-06-30 01:31:55 +00:00
Ralf Jung
a2e61aeeff rustup 2022-06-29 21:31:27 -04:00
bors
5974e7d4a9 Auto merge of #2287 - RalfJung:field-retagging, r=RalfJung
stacked borrows: add option for recursive field retagging
2022-06-29 23:04:07 +00:00
bors
1b3332a0a6 Auto merge of #2286 - LegNeato:patch-2, r=RalfJung
Support `gettimeofday` on more than macos

This appears to be in linux and in openbsd as well:

* https://github.com/torvalds/linux/blob/master/lib/vdso/gettimeofday.c
* https://github.com/openbsd/src/blob/master/sys/sys/time.h#L439

Note that std currently says [different syscalls are used on mac vs linux](https://doc.rust-lang.org/std/time/struct.SystemTime.html#platform-specific-behavior) but this is not part of[ std's contract](https://doc.rust-lang.org/std/io/index.html#platform-specific-behavior) and third party code could call the syscall directly on different platforms.
2022-06-29 22:39:57 +00:00
Ralf Jung
955f961f83 merge two SB test files 2022-06-29 18:22:30 -04:00
Ralf Jung
c4e86e103e add option for recursive field retagging 2022-06-29 18:22:30 -04:00
bors
ccfb869e23 Auto merge of #2288 - RalfJung:clippy, r=RalfJung
add ./miri clippy

also make ui_test comply with clippy
2022-06-29 22:21:30 +00:00
Ralf Jung
e33efc7517 make ui_test pass clippy 2022-06-29 18:17:36 -04:00
Ralf Jung
02f8cb2d55 add ./miri clippy 2022-06-29 18:17:36 -04:00
Christian Legnitto
73a1a27a45 Support gettimeofday on more than macos
This appears to be in linux and in openbsd as well:

* https://github.com/torvalds/linux/blob/master/lib/vdso/gettimeofday.c
* https://github.com/openbsd/src/blob/master/sys/sys/time.h#L439

Co-authored-by: Ralf Jung <post@ralfj.de>
2022-06-29 17:48:04 -04:00
bors
328a8c7a1e Auto merge of #2285 - LegNeato:patch-1, r=RalfJung
Update path to passing tests in CONTRIBUTING.md examples

This appears to be renamed from `tests/run-pass` to `tests/pass`.
2022-06-29 17:18:00 +00:00
Christian Legnitto
ad549194f9
Update path to passing tests in CONTRIBUTING.md examples
This appears to be renamed from `tests/run-pass` to `tests/pass`.
2022-06-29 13:14:30 -04:00
bors
062b66066c Auto merge of #2283 - RalfJung:color, r=RalfJung
revert --color=always changes

They [cause problems](https://github.com/rust-lang/miri/issues/2277) and they completely break rendering on the playground:
```
   Compiling playground v0.0.1 (/playground)
    Finished dev [unoptimized + debuginfo] target(s) in 0.47s
     Running `/playground/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/bin/cargo-miri target/miri/x86_64-unknown-linux-gnu/debug/playground`
error[E0277]: `*mut std::sync::atomic::AtomicUsize` cannot be sent between threads safely
   --> src/main.rs:17:18
    |
17  |           let j1 = spawn(move || {
    |  __________________^^^^^_-
    | |                  |
    | |                  `*mut std::sync::atomic::AtomicUsize` cannot be sent between threads safely
18  | |             *(c.0 as *mut usize) = 32;
19  | |         });
    | |_________- within this `[closure@src/main.rs:17:24: 19:10]`
    |
```

Sorry `@saethlin,` I think we need to go back to start here and consider another solution.

Fixes https://github.com/rust-lang/miri/issues/2277
2022-06-29 14:35:18 +00:00
Ralf Jung
6f7c0c0a2a revert --color=always changes 2022-06-29 10:14:26 -04:00
bors
63d660540b Auto merge of #2281 - RalfJung:rustup, r=RalfJung
Rustup

Fix our stacktrace after https://github.com/rust-lang/rust/pull/98549. Now we can control whether `caller_location` should be pruned!
2022-06-29 14:09:52 +00:00
Ralf Jung
839c120b40 fmt 2022-06-29 10:09:18 -04:00
Ralf Jung
f389d46b04 also prune caller_location frames when backtrace=off 2022-06-29 09:33:12 -04:00
Ralf Jung
ea8dba411b improve atomics test coverage 2022-06-29 09:31:11 -04:00
Ralf Jung
28dea673be rustup 2022-06-29 08:33:06 -04:00
bors
29b1cc72fe Auto merge of #2280 - RalfJung:int2ptr, r=RalfJung
tweak int2ptr diagnostics
2022-06-28 12:53:27 +00:00
Ralf Jung
8bd4bbe3e4 tweak int2ptr diagnostics 2022-06-28 08:52:22 -04:00
bors
aaaed51ab8 Auto merge of #2279 - RalfJung:adjacent-allocs, r=RalfJung
Allow non-ZST allocations to be adjacent

Also `cargo update` in test-cargo-miri... no need to make a separate PR for that right?...
2022-06-28 02:52:23 +00:00
Ralf Jung
6549764960 typo 2022-06-27 22:52:02 -04:00
Ralf Jung
108fe3473c update getrandom 2022-06-27 22:52:02 -04:00
Ralf Jung
c16b380d6b finally we can actually have adjacent allocations :) 2022-06-27 22:52:02 -04:00
bors
aefaa5b6f0 Auto merge of #2278 - RalfJung:rustup, r=RalfJung
Rustup
2022-06-28 01:53:06 +00:00