Commit Graph

5678 Commits

Author SHA1 Message Date
bors 237390785d Auto merge of #1940 - RalfJung:xargo, r=RalfJung
require xargo 0.3.23

Fixes https://github.com/rust-lang/miri/issues/1939
2021-12-16 14:23:08 +00:00
Ralf Jung b44f7ea079 require xargo 0.3.23 2021-12-16 15:20:58 +01:00
bors 2eb3b37c91 Auto merge of #1938 - RalfJung:test, r=RalfJung
add regression test

Adds a regression test for https://github.com/rust-lang/rust/issues/91636 (which was fixed by https://github.com/rust-lang/rust/pull/91856)
2021-12-15 18:11:57 +00:00
Ralf Jung 4da38299fa looks like the asm macro is stable :D 2021-12-15 19:11:18 +01:00
Ralf Jung d8f7b831e7 add regression test 2021-12-15 19:11:08 +01:00
bors 65cbcb0d05 Auto merge of #1937 - RalfJung:rustup, r=RalfJung
rustup

I cannot reproduce the [nightly CI failure](https://github.com/rust-lang/miri/runs/4521890481?check_suite_focus=true) so let's see what happens...
2021-12-15 16:10:43 +00:00
Ralf Jung 44cad75069 fix iteration-order-dependent output 2021-12-15 16:51:40 +01:00
Ralf Jung 6dcb5389cd update lockfile 2021-12-14 18:20:03 +01:00
Ralf Jung 7670a5657a rustup 2021-12-14 18:14:17 +01:00
bors dadcbebfbd Auto merge of #1934 - RalfJung:rustup, r=RalfJung
rustup

Cc https://github.com/rust-lang/rust/issues/91649
2021-12-08 15:19:55 +00:00
Ralf Jung 50b9b701ab rustup 2021-12-08 10:01:51 -05:00
bors 23a9d02748 Auto merge of #1933 - 5225225:1931-condvar-false-positive, r=RalfJung
Fix false positive use of uninit bytes when calling `libc::pthread_condattr_destroy`

Fixes: #1931
2021-12-08 14:51:53 +00:00
5225225 fd830e7b27 Code comment changes from code review
Co-authored-by: Ralf Jung <post@ralfj.de>
2021-12-07 17:25:28 +00:00
5225225 250d450593 Add comment explaining false positives in _destroy 2021-12-07 17:24:29 +00:00
5225225 a4b2fc0c5a Adjust pthread tests 2021-12-06 21:50:14 +00:00
5225225 f0d915703c Add tests for double destroying various pthread items 2021-12-06 21:15:02 +00:00
5225225 ae120563cc Destroying any uninit posix_ object is UB 2021-12-06 19:26:13 +00:00
bors 81e59e6b92 Auto merge of #1930 - tavianator:avoid-adjacent-allocations, r=RalfJung
intptrcast: Never allocate two objects directly adjecent

When two objects directly follow each other in memory, what is the
provenance of an integer cast to a pointer that points directly between
them?  For a zero-size region, it could point into the end of the first
object, or the start of the second.

We can avoid answering this difficult question by simply never
allocating two objects directly beside each other.  This fixes some of
the false positives from #1866.
2021-12-06 01:33:55 +00:00
Ralf Jung 6a98c64c8b final tweaks 2021-12-05 20:33:20 -05:00
5225225 eadeedde42 Handle uninit data in pthread_condattr_destroy 2021-12-05 19:47:29 +00:00
bors 4eadf666d3 Auto merge of #1932 - RalfJung:rustup, r=RalfJung
rustup

Cc https://github.com/rust-lang/rust/issues/91542
2021-12-05 16:03:07 +00:00
Ralf Jung d537ed401d rustup 2021-12-05 11:02:20 -05:00
Tavian Barnes b0a463334c intptrcast: Never allocate two objects directly adjecent
When two objects directly follow each other in memory, what is the
provenance of an integer cast to a pointer that points directly between
them?  For a zero-size region, it could point into the end of the first
object, or the start of the second.

We can avoid answering this difficult question by simply never
allocating two objects directly beside each other.  This fixes some of
the false positives from #1866.
2021-12-03 17:00:06 -05:00
bors 5e9cf62b89 Auto merge of #1929 - RalfJung:rustup, r=RalfJung
rustup

With https://github.com/rust-lang/rust/pull/91323 landed, we can remove these intrinsics from Miri.
2021-11-30 16:45:05 +00:00
Ralf Jung 70dd979a44 rustup 2021-11-30 11:44:19 -05:00
bors 9983e0fc63 Auto merge of #1927 - RalfJung:array-align-tests, r=RalfJung
add tests for alignment on array initialization

This adds regression tests for https://github.com/rust-lang/miri/issues/1925, https://github.com/rust-lang/miri/issues/1919.
2021-11-28 15:28:57 +00:00
Ralf Jung ee666d8987 add tests for alignment on array initialization 2021-11-28 10:07:31 -05:00
bors e62924e37d Auto merge of #1926 - RalfJung:rustup, r=RalfJung
rustup; stub support for some extern statics used for weak symbols
2021-11-27 22:53:32 +00:00
Ralf Jung d800d1e2cb rustup; stub support for some extern statics used for weak symbols 2021-11-27 17:15:54 -05:00
bors 0949cd36c3 Auto merge of #1924 - RalfJung:ra, r=oli-obk
hack to work around RA quirk

This is a gross hack to work around https://github.com/rust-analyzer/rust-analyzer/issues/10793: calling `cargo-miri/miri` does the same thing as calling `./miri`.

`@oli-obk` this is the best I could come up with... not sure if we want to have this in the repo. I am also okay with carrying `cargo-miri/miri` locally.
2021-11-25 22:55:43 +00:00
Ralf Jung 5d71528e4d hack to work around RA quirk 2021-11-25 17:37:36 -05:00
bors 73cf2ba0c0 Auto merge of #1923 - RalfJung:more-simd, r=RalfJung
More portable SIMD: rem, shl, shr

Also make sure we catch the potential UB in div, rem, shl, shr.
2021-11-25 22:30:42 +00:00
Ralf Jung 4414d96323 implement shl and shr SIMD intrinsics 2021-11-25 17:26:37 -05:00
Ralf Jung a534bbbf8a portable SIMD: add rem intrinsic; test div and rem intrinsic UB 2021-11-25 17:13:33 -05:00
bors 4f0faed6d2 Auto merge of #1922 - RalfJung:async-run-fut, r=RalfJung
async-fn test: make run_fut more general and entirely safe
2021-11-23 19:44:55 +00:00
Ralf Jung c4502cbbe8 async-fn test: make run_fut more general and entirely safe 2021-11-23 14:33:00 -05:00
bors 2cd6fe88d8 Auto merge of #1921 - RalfJung:overflow-checks-off, r=RalfJung
test for overflow-checks=off

Strangely, if we call the functions in `std::ops`, we still get the panics. I assume that is because we build the stdlib with `-Cdebug-assertions=on`; probably the magic attribute that makes stdlib functions inherit overflow checks from the calling crate only works one way (namely to enable them when the calling crate asks for them, but not to disable them when the calling crate does not want them).
2021-11-23 19:08:06 +00:00
Ralf Jung 7dd1f0571c test for overflow-checks=off 2021-11-23 14:07:46 -05:00
bors 763a4455ac Auto merge of #1918 - RalfJung:simd_basics, r=RalfJung
portable SIMD: basic binops

First steps towards https://github.com/rust-lang/miri/issues/1912. Requires https://github.com/rust-lang/rust/pull/90999.
2021-11-21 03:40:28 +00:00
Ralf Jung 84027dcd22 rustup 2021-11-20 22:39:22 -05:00
Ralf Jung b816cb94e7 implement SIMD sub, mul, div; also test i32 binops 2021-11-20 22:30:49 -05:00
Ralf Jung 0766da6fbe implement simd_add 2021-11-20 22:30:49 -05:00
bors 8c700f544c Auto merge of #1917 - RalfJung:rustup, r=RalfJung
rustup

Just a routine rustup, nothing to see here.
2021-11-18 02:13:28 +00:00
Ralf Jung 1593f38401 rustup 2021-11-17 21:12:45 -05:00
bors b258eb3c27 Auto merge of #1911 - RalfJung:rename-track-tag, r=RalfJung
rename track-raw-pointers flag to tag-raw-pointers

The old flag name sounds too similar to `-Zmiri-track-pointer-tag`, which is a totally different kind of 'tracking'. This has lead to confusion in https://github.com/rust-lang/miri/issues/1907.
2021-11-17 16:08:13 +00:00
bors e41c4790c1 Auto merge of #1915 - RalfJung:cron, r=RalfJung
tweak cron job time

15:00 UTC is 16:00 in Europe and 10:00 on the US East Coast (during winter time, and 1h later during summer time), so a good time in both places to see the email and react quickly. No need to run this in the middle of the night if nobody will fix the problem anyway.

Move it 5min past the full hour to avoid what is probably a rush of cronjobs on the full hour.
2021-11-17 15:43:32 +00:00
Ralf Jung 77095f8557 tweak cron job time 2021-11-17 10:34:32 -05:00
bors 76a3329f51 Auto merge of #1913 - RalfJung:rustdoc-miri, r=RalfJung
run rustdoc with the miri cfg flag

This is important to be able to control which doctests run with `cargo miri test`. In particular, this is required for https://github.com/rust-lang/rust/pull/90909 to work as intended.
2021-11-14 17:29:41 +00:00
Ralf Jung a15539e911 run rustdoc with the miri cfg flag 2021-11-14 12:19:58 -05:00
Ralf Jung d8bee92aee rename track-raw-pointers flag to tag-raw-pointers 2021-11-13 15:48:27 -05:00