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
e9176c747e
test for better error location on stack pop
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
Ralf Jung
907a003f14
tweak format strings
2022-07-06 09:47:48 -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
f3f4bafa1b
rustup
2022-07-05 18:16:20 -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
bors
428245072e
Auto merge of #2306 - RalfJung:unix, r=RalfJung
...
make some things available for all Unixes
2022-07-02 13:45:27 +00:00
Ralf Jung
ae51998191
male libc.rs at least build on FreeBSD
2022-07-02 09:45:00 -04:00
bors
c17e68d9be
Auto merge of #2300 - InfRandomness:freebsd-environ-extern-impl, r=RalfJung
...
Extend `environ` linux extern implementation to freebsd
This fixes the `env` test on freebsd, and enables the CI test
Signed-off-by: InfRandomness <infrandomness@gmail.com>
2022-07-02 12:57:14 +00:00
bors
24c5eaf8bc
Auto merge of #2305 - RalfJung:rustup, r=RalfJung
...
rustup
2022-07-02 12:38:40 +00:00
Ralf Jung
c0cbb662d2
rustup
2022-07-02 08:38:07 -04:00
InfRandomness
a26be7ea5f
Enable env test on freebsd
...
Signed-off-by: InfRandomness <infrandomness@gmail.com>
2022-07-02 12:42:14 +02: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
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
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
28dea673be
rustup
2022-06-29 08:33:06 -04: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
c16b380d6b
finally we can actually have adjacent allocations :)
2022-06-27 22:52:02 -04:00
Ralf Jung
098704e10f
make use of get_alloc_info
2022-06-27 21:22:46 -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
Ralf Jung
e667ccb459
test that futexes induce appropriate synchronization
2022-06-25 23:40:58 -04:00
Ralf Jung
5aeba7f86b
make a bunch of tests look more like how they did before rustfmt
2022-06-25 23:31:24 -04:00
Ralf Jung
d3ca71ba37
test that &mut !Unpin references are protected
2022-06-25 19:15:11 -04:00
Ralf Jung
7c025a8f0e
test for forgetting locked mutex
2022-06-25 16:01:00 -04:00