Commit Graph

4812 Commits

Author SHA1 Message Date
bors
4556daadc2 Auto merge of #1370 - samrat:add-scalar-size-test, r=RalfJung
Add test to verify that argument size mismatch throws UB

Also, bump up `rust-version`

Closes #1355
2020-04-27 10:33:29 +00:00
Ralf Jung
a5ddaa07eb rename tests: undefined -> uninit 2020-04-27 12:32:03 +02:00
Samrat Man Singh
73f258c451 Replace error-pattern with annotation; remove unreachable line 2020-04-27 15:34:42 +05:30
bors
da940eb91f Auto merge of #1354 - divergentdave:dump-alloc-on-undef-read, r=RalfJung
Print hex dump of alloc on reading undef bytes

Here's a small addition I made locally to the UB diagnostics, in case you're interested in it. This PR calls `dump_alloc()` on the relevant allocation if Miri fails on UB due to reading undefined bytes. This came in handy when diagnosing such an issue in a large program using unsafe Rust, in part because it wasn't deterministic enough to use `-Zmiri-track-alloc-id=`. If you'd like to put this behind another -Z flag, let me know.
2020-04-27 09:33:30 +00:00
Samrat Man Singh
ae9796b9d8 Fix shim_arg_size test for 32-bit machines 2020-04-27 10:00:35 +05:30
Samrat Man Singh
da86c81e39 Add test to verify arg size mismatch throws UB
Also: bump up `rust-version`
2020-04-27 09:37:31 +05:30
David Cook
e267fb4ede Review comments 2020-04-26 22:13:36 -05:00
bors
97ae5b6d87 Auto merge of #1368 - Robbepop:add-new-trophy-for-inks-lazyarray, r=RalfJung
Add miri trophy for LazyArray::swap (ink! PR)

Details to the found in https://github.com/rust-lang/miri/issues/1364.
Note that this was not a found in a `master` or production release of ink!, however without analysing the code via `miri` this could have potentially happened.
2020-04-25 21:19:56 +00:00
Hero Bird
3f43305894
Update README.md 2020-04-25 19:42:48 +02:00
Hero Bird
72442acaff
Add miri trophy for LazyArray::swap (ink! PR)
Details to the found in https://github.com/rust-lang/miri/issues/1364.
Note that this was not a found in a `master` or production release of ink!, however without analysing the code via `miri` this could have potentially happened.
2020-04-25 14:58:20 +02:00
bors
01db8b4d1e Auto merge of #1366 - RalfJung:rustc-exit, r=RalfJung
fix exit code on rustc errors

Fixes https://github.com/rust-lang/miri/issues/1352
2020-04-25 09:17:04 +00:00
Ralf Jung
b128879529 make sure we do not discard information on the Ok exit side 2020-04-25 11:16:03 +02:00
Ralf Jung
c46668c556 fix exit code on rustc errors 2020-04-25 11:12:50 +02:00
David Cook
7f92eab3c4 Add test to exercise InvalidUndefBytes 2020-04-23 20:00:25 -05:00
David Cook
d9ac84d05f Add message before dumping alloc 2020-04-23 20:00:09 -05:00
bors
52f5d202bd Auto merge of #1361 - RalfJung:rustup, r=RalfJung
rustup
2020-04-23 22:54:29 +00:00
Ralf Jung
4dec02dd92 rustup 2020-04-24 00:52:43 +02:00
bors
cf3868b2ea Auto merge of #1358 - dtolnay:ci, r=RalfJung
Disable interactive prompts in CI

Closes #1357.
2020-04-23 17:44:25 +00:00
David Tolnay
a4dd463eaf
Keep MiriCommand out of ask_to_run function 2020-04-23 10:27:38 -07:00
bors
7c73dc3a4d Auto merge of #1359 - RalfJung:cargo-bin-exe, r=RalfJung
test suite: rely on CARGO_BIN_EXE_ env vars

Just read about this in the 1.43 release notes. :)
2020-04-23 17:23:05 +00:00
Ralf Jung
a5eaa5703c test suite: rely on CARGO_BIN_EXE_ env vars to find Miri binary 2020-04-23 19:20:09 +02:00
David Tolnay
2584507ce2
Preserve consistent output whether or not CI is set 2020-04-23 10:12:48 -07:00
David Tolnay
28f4f84303
Remove unneeded setup step from CI instructions in readme 2020-04-23 09:12:05 -07:00
David Tolnay
60fa9acdf7
Disable interactive prompts in CI 2020-04-23 08:51:12 -07:00
bors
92b29721ba Auto merge of #1356 - brson:trophy, r=RalfJung
Add ryu and tikv to trophy case
2020-04-23 09:19:50 +00:00
Brian Anderson
f84aa4a424
Update README.md
Co-Authored-By: Ralf Jung <post@ralfj.de>
2020-04-23 02:46:36 -06:00
Brian Anderson
5b60f0df2a Add ryu and tikv to trophy case 2020-04-23 02:37:58 +00:00
David Cook
9057dae235 Reorder output 2020-04-22 17:44:12 -05:00
bors
26baf87e43 Auto merge of #1348 - RalfJung:raw-addr-of-align, r=RalfJung
Stacked Borrows: alignment does not matter

Fixes https://github.com/rust-lang/miri/issues/1339
Requires https://github.com/rust-lang/rust/pull/71280
2020-04-22 21:44:14 +00:00
Ralf Jung
4b9abdaa50 rustup 2020-04-22 23:43:54 +02:00
Ralf Jung
270adbc7c6 Stacked Borrows: alignment does not matter 2020-04-22 23:32:19 +02:00
bors
f844eb2fe8 Auto merge of #1353 - divergentdave:file-set-len, r=RalfJung
Implement ftruncate64/ftruncate for File::set_len

This adds a shim for `ftruncate64` (on Linux) or `ftruncate` (on macOS) to enable support for `File::set_len`, and includes a test.
2020-04-22 21:10:01 +00:00
David Cook
f49839ac30 Add comment 2020-04-22 07:09:20 -05:00
David Cook
e37d0e3125 Print hex dump of alloc on reading undef bytes 2020-04-21 21:28:22 -05:00
David Cook
54897f66f8 Implement ftruncate64/ftruncate for File::set_len 2020-04-21 21:17:54 -05:00
bors
8d9db57a0d Auto merge of #1335 - vakaras:add-threads-noop, r=RalfJung
Move the stack to the evaluator. (no-op PR for 70598)

The changes to Miri to make it to compile with Rustc PR https://github.com/rust-lang/rust/pull/70598.
2020-04-20 08:39:29 +00:00
Ralf Jung
7406c1224b adjust for asm -> llvm_asm rename 2020-04-20 10:38:38 +02:00
Ralf Jung
73772fede6 adjust for Weak::as_raw -> as_ptr rename 2020-04-20 10:04:17 +02:00
Ralf Jung
5d2c8358f8 rustup 2020-04-20 09:33:34 +02:00
Vytautas Astrauskas
192fd3d97e Move stack and stack_mut implementation in Machine to match their position in the trait. 2020-04-20 09:19:37 +02:00
Vytautas Astrauskas
5224c72403 Move the stack to the evaluator to make Miri compile with the newest Rustc. 2020-04-20 09:19:37 +02:00
bors
763782aa08 Auto merge of #1342 - divergentdave:pause-instruction, r=RalfJung
Handle std::sync::atomic::spin_loop_hint()

This PR adds support for `std::sync::atomic::spin_loop_hint()` by implementing the `llvm.x86.sse2.pause` intrinsic when the target is x86-based. It appears this is the first LLVM intrinsic in foreign_items, so I added a couple match blocks to handle it or fall through to the different OS-specific methods. I added a basic smoke test to `tests/run-pass/sync.rs`. I came across this by way of `crossbeam::utils::Backoff::spin()`, FWIW.
2020-04-19 14:53:02 +00:00
David Cook
547a4cc920 Review comments 2020-04-19 09:22:40 -05:00
bors
4155fb610f Auto merge of #1351 - RalfJung:float-test-source, r=RalfJung
note source of float cast test values, and some more UB tests
2020-04-19 07:37:25 +00:00
Ralf Jung
70c828b761 test some more extreme cast cases 2020-04-19 09:34:54 +02:00
Ralf Jung
fbf47d1784 note source of test values 2020-04-19 09:21:00 +02:00
David Cook
7b69a6271e Add support for std:🧵:yield_now 2020-04-18 19:31:02 -05:00
David Cook
11cd87e457 Flip matching 2020-04-18 19:16:52 -05:00
bors
fac9d22375 Auto merge of #1349 - RalfJung:machine-layouts, r=RalfJung
use pre-computed layouts some more
2020-04-18 15:55:41 +00:00
Ralf Jung
14f50b34a3 use pre-computed layouts some more 2020-04-18 17:54:26 +02:00