Ralf Jung
4d220c31a4
add some dyn upcasting tests
2022-07-19 19:40:01 -04:00
bors
8757d866ab
Auto merge of #2350 - RalfJung:remove-deprecated, r=oli-obk
...
remove deprecated options
These have been deprecated a month ago and nobody said they need them. Is that enough time? We can also let this PR sit a little.
Cc https://github.com/rust-lang/miri/issues/2187 https://github.com/rust-lang/miri/issues/2188
(keeping them open to track removing their supporting infrastructure in the core interpreter)
2022-07-19 12:29:29 +00:00
Ralf Jung
c850ffe01a
add support for new RMW orders
2022-07-18 08:20:06 -04:00
bors
5a4d71faad
Auto merge of #2379 - RalfJung:ui-test-target-filter, r=oli-obk
...
ui_test: more robust syntax for target filtering
Implicit fallbacks are always fragile and prone to typos, so let's be explicit.
2022-07-18 07:26:49 +00:00
Ralf Jung
e30dd07139
libc test: also call isatty on an actual file
2022-07-17 22:31:38 -04:00
Ralf Jung
1c85975768
ui_test: more robust syntax for target filtering
2022-07-17 21:54:10 -04:00
Ben Kimock
eefdeacdb1
Test that isatty doesn't crash
2022-07-17 21:13:59 -04:00
bors
e0672589d3
Auto merge of #2370 - RalfJung:weak-mem-test, r=RalfJung
...
add another weak mem consistency test
`@cbeuw` your code seems to do this correctly? :D
2022-07-14 12:23:47 +00:00
Ralf Jung
b8a0c49e51
test that we can see this weak behavior
2022-07-14 08:23:31 -04:00
Ralf Jung
07c3e42bd7
replace a macro by a function
2022-07-14 08:17:18 -04:00
Ralf Jung
820f322b86
add work-around for #2164
2022-07-14 08:07:59 -04:00
Ralf Jung
11f2b83464
fix a missing thread join
2022-07-14 07:59:22 -04:00
Ralf Jung
bd69a92b4b
rustup
2022-07-13 22:35:45 -04:00
Ralf Jung
a272ca2cf7
add another weak mem consistency test
2022-07-13 21:50:19 -04:00
Ralf Jung
49a6c230cb
remove deprecated options
2022-07-11 21:28:54 -04:00
Oli Scherer
6e106617f1
Port all tests
2022-07-08 16:08:32 +00:00
Ralf Jung
b6602f5d11
rustup
2022-07-06 22:55:12 -04:00
Ralf Jung
5fed3ebc26
adjust code for copy_op changes
2022-07-06 21:40:31 -04:00
Ralf Jung
e5df0cc770
adjust tests for removal of unsized_locals
2022-07-06 21:40:31 -04:00
Ralf Jung
d5f1c26380
rustup; ptr atomics
2022-07-06 21:38:52 -04:00
bors
36d8f5cbfc
Auto merge of #2336 - RalfJung:wide-ptr-compare, r=RalfJung
...
fix comparing wide raw pointers
Fixes https://github.com/rust-lang/rust/issues/96169
However I am not sure if these are the correct semantics. I'll wait for confirmation in that issue.
2022-07-06 12:16:25 +00:00
Ralf Jung
de2915bba7
rustup
2022-07-05 22:29:38 -04:00
Ralf Jung
6c8ad4abc9
fix comparing wide raw pointers
2022-07-05 21:21:02 -04:00
Ralf Jung
2931e0fd63
handle Box with allocators
2022-07-05 08:34:41 -04:00
Ralf Jung
a4e7e1e6b5
fix retagging of vtable ptrs
2022-07-03 11:56:29 -04:00
Ralf Jung
5f7bc9739b
move arc_drop test to miri-test-libstd
...
and make weak memory consistency test a bit faster again
2022-07-03 08:13:58 -04:00
Ralf Jung
b4520e4591
test fs::read_link surface function
2022-07-02 13:32:04 -04:00
Ralf Jung
98254f67af
pointer tag tracking: on creation, log the offsets it is created for
2022-07-02 11:33:29 -04:00
Ralf Jung
ae51998191
male libc.rs at least build on FreeBSD
2022-07-02 09:45:00 -04:00
Ralf Jung
d09db1660b
fix and slightly improve data race reports
2022-07-01 20:13:44 -04:00
Ralf Jung
7f3fbbdee7
allocation tracking: also print size, alignment, kind of the allocation
2022-06-30 22:24:23 -04:00
Oli Scherer
a9f9d48b1a
Support no-std targets and test it in CI
2022-06-30 12:51:22 +00: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
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
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
Ralf Jung
839c120b40
fmt
2022-06-29 10:09:18 -04:00
Ralf Jung
ea8dba411b
improve atomics test coverage
2022-06-29 09:31:11 -04:00
Ralf Jung
8bd4bbe3e4
tweak int2ptr diagnostics
2022-06-28 08:52:22 -04:00
Ralf Jung
c16b380d6b
finally we can actually have adjacent allocations :)
2022-06-27 22:52:02 -04:00
bors
7fafbde038
Auto merge of #2275 - RalfJung:permissive-provenance-for-all, r=RalfJung
...
Enable permissive provenance by default
This completes the plan laid out in https://github.com/rust-lang/miri/issues/2133 :
- We use permissive provenance with wildcard pointers by default.
- We print a warning on int2ptr casts. `-Zmiri-permissive-provenance` suppresses the warning; `-Zmiri-strict-provenance` turns it into a hard error.
- Raw pointer tagging is now always enabled, so we remove the `-Zmiri-tag-raw-pointers` flag and the code for untagged pointers. (Passing the flag still works, for compatibility -- but we just ignore it, with a warning.)
We also fix an intptrcast issue:
- Only live allocations are considered when computing the AllocId from an address.
So, finally, Miri has a good story for ptr2int2ptr roundtrips *and* no weird false negatives when doing raw pointer stuff with Stacked Borrows. :-) 🎉 Thanks a lot to everyone who helped with this, in particular `@carbotaniuman` who convinced me this is even possible.
Fixes https://github.com/rust-lang/miri/issues/2133
Fixes https://github.com/rust-lang/miri/issues/1866
Fixes https://github.com/rust-lang/miri/issues/1993
2022-06-28 01:20:40 +00:00
Ralf Jung
c1eddbc7fe
show int2ptr warning once for each span (but don't duplicate the long help)
2022-06-27 20:50:45 -04:00
Ralf Jung
67e89b53e2
fix warning text
2022-06-27 20:04:46 -04:00
bors
f5593de579
Auto merge of #2221 - InfRandomness:freebsd-target-support, r=RalfJung
...
Freebsd-target-support
Implement freebsd as a target for miri
2022-06-27 17:40:15 +00:00
Ralf Jung
fb186a2f2d
make sure a thread is joined
2022-06-27 11:44:45 -04:00
Ralf Jung
294ef15adb
more int2ptr cast tests, and fix casting of addresses inside dead allocations
2022-06-26 22:19:56 -04:00
Ralf Jung
13d425daeb
make permissive provenance and raw-ptr tagging the default
2022-06-26 21:14:42 -04:00
infrandomness
97a512070a
Fix pending reviews
2022-06-27 01:39:24 +02:00
infrandomness
9130034337
Initial freebsd work
2022-06-27 01:39:24 +02:00
bors
ab88ba4299
Auto merge of #2270 - RalfJung:futex-ordering, r=RalfJung
...
test that futexes induce appropriate synchronization
This fails when I remove the `validate_lock_acquire` or `validate_lock_release` from `futex_wake`. So finally we got those code paths actually covered in tests. :)
2022-06-26 03:54:43 +00:00