Commit Graph

2960 Commits

Author SHA1 Message Date
Ralf Jung
ba47d73041 Merge branch 'master' into rustup 2019-06-29 16:19:27 +02:00
bors
1522a47dce Auto merge of #795 - RalfJung:intptrcast, r=RalfJung
tweak inttoptr allocation behavior

- Make `align_addr` not offset by `align` for no reason.
- Add some random slack between allocations to give them the chance to not be aligned.

Cc @christianpoveda

Fixes https://github.com/rust-lang/miri/issues/791
2019-06-29 12:45:14 +00:00
Ralf Jung
019ad4bab4 move constants to machine.rs 2019-06-29 14:37:41 +02:00
Ralf Jung
c7bf9064f7 comment on STACK_ADDR 2019-06-29 14:34:08 +02:00
Ralf Jung
0fac868685 support num_cpus and test that 2019-06-29 14:34:08 +02:00
Ralf Jung
0bb50ada34 make sure we catch alignment problems even with intrptrcast 2019-06-29 14:31:54 +02:00
Ralf Jung
c1645f6c65 don't compute residue twice 2019-06-29 14:31:54 +02:00
Ralf Jung
9b66527075 more sensible slack 2019-06-29 14:31:54 +02:00
Ralf Jung
c0b44ca98c tweak inttoptr allocation behavior
- Make `align_addr` not offset by `align` for no reason.
- Add some random slack between allocations to give them the chance to not be aligned.
2019-06-29 14:31:54 +02:00
Ralf Jung
aa5a9bc152 some module comments 2019-06-29 14:15:05 +02:00
Ralf Jung
857305ff67 Merge remote-tracking branch 'ralf/machine' into rustup 2019-06-29 14:04:50 +02:00
bors
9e424753ba Auto merge of #802 - RalfJung:machine, r=RalfJung
some lib.rs refactoring

Taken out of https://github.com/rust-lang/miri/pull/799 so that we can land it now and resolve merge conflicts instead of dragging them along.

Splits lib.rs into machine.rs for the machine state and trait impl, and eval.rs for the main evaluator loop and setting up the initial stack frame.
2019-06-29 11:52:02 +00:00
Ralf Jung
67d3779b0c move most of the stuff from lib.rs into machine.rs, and initialization + main loop into eval.rs 2019-06-29 13:48:59 +02:00
bors
bc969f1a4c Auto merge of #798 - RalfJung:format-ptr, r=RalfJung
test pointer string formatting
2019-06-28 18:43:30 +00:00
Ralf Jung
afe42625e5 test pointer string formatting 2019-06-28 20:42:00 +02:00
bors
3bf0655436 Auto merge of #796 - RalfJung:rand, r=RalfJung
bump rand to released 0.7
2019-06-28 09:31:23 +00:00
Ralf Jung
4df5c6ac83 bump rand to released 0.7 2019-06-28 11:29:24 +02:00
bors
b0ce6938bb Auto merge of #794 - RalfJung:alignment-sanity, r=oli-obk
ptr-to-int alignment sanity check
2019-06-28 07:15:35 +00:00
Ralf Jung
6886864862 ptr-to-int alignment sanity check 2019-06-28 09:12:11 +02:00
bors
a4495fc8cb Auto merge of #793 - jyn514:master, r=RalfJung
Show usage if run without arguments

Before, running `./miri` without arguments gave
'./miri: 92: shift: can't shift that many' if run with /bin/sh,
or no output at all when run with bash (because of the `set -e` at the top).

Although that gives some indication of the error, it's not as helpful as
showing the usage.
2019-06-28 06:29:10 +00:00
Joshua Nelson
38b947b953 Show usage if run without arguments
Before, running `./miri` without arguments gave
'./miri: 92: shift: can't shift that many' if run with /bin/sh,
or no output at all when run with bash.

Although that gives some indication of the error, it's not as helpful as
showing the usage.
2019-06-27 21:47:09 -04:00
Christian Poveda
373a4ee1e9 Remove default derive for MemoryExtra 2019-06-26 13:55:56 -05:00
Christian Poveda
413a351552 Initialize MemoryExtra with StdRng 2019-06-26 13:09:50 -05:00
bors
945f007c0d Auto merge of #779 - christianpoveda:intptrcast-model, r=RalfJung,oli-obk
Implement intptrcast methods

cc https://github.com/rust-lang/miri/issues/224
2019-06-26 14:52:03 +00:00
Christian Poveda
7fbf8e53a2 Fix alignment of base addresses 2019-06-26 09:08:28 -05:00
bors
d1873b689d Auto merge of #790 - RalfJung:readme, r=oli-obk
README: add snippet for running Miri on CI
2019-06-25 08:14:59 +00:00
Ralf Jung
7a6438ada6 add snippet for running Miri on CI 2019-06-25 10:05:34 +02:00
Christian Poveda
792d665a1f Fix merge conflicts 2019-06-25 00:57:33 -05:00
Christian Poveda
84cfbb01b7 Reorganize MemoryExtra and AllocExtra structures 2019-06-24 17:18:25 -05:00
bors
2bd22c03eb Auto merge of #787 - RalfJung:pointer-checks, r=RalfJung
adjust for refactored memory pointer checks

The Miri side of https://github.com/rust-lang/rust/pull/62081.
2019-06-24 21:59:22 +00:00
Ralf Jung
b66cf70368 bump Rust commit 2019-06-24 23:58:37 +02:00
Christian Poveda
2861ceb2fa Rename new fields and move rng to MemoryExtra 2019-06-24 10:03:16 -05:00
Ralf Jung
7e7b5d42ba
Apply suggestions from code review
Co-Authored-By: Oliver Scherer <github35764891676564198441@oli-obk.de>
2019-06-24 14:50:27 +02:00
Ralf Jung
4d65aa8f20 expand and better explain alignment check tests 2019-06-24 08:40:45 +02:00
Ralf Jung
69e8318b60 de-obfuscate ptr comparison a bit 2019-06-23 20:30:33 +02:00
Ralf Jung
4dc188a60e adjust for refactored memory pointer checks 2019-06-23 20:19:26 +02:00
Christian Poveda
dd732e5862 Force intptrcast for binary operations 2019-06-22 09:25:16 -05:00
bors
c65fbc49d7 Auto merge of #783 - RalfJung:rustup, r=RalfJung
fix compilation with latest rustc
2019-06-22 09:49:32 +00:00
bors
19b27ab8a5 Auto merge of #784 - RalfJung:ci, r=RalfJung
also run tests for cron jobs
2019-06-22 09:14:48 +00:00
Ralf Jung
2b1eeb3928 also run tests for cron jobs 2019-06-22 11:13:35 +02:00
Ralf Jung
72c269eebe fix compilation with latest rustc 2019-06-22 11:05:12 +02:00
Christian Poveda
e57447014d Duplicate compile-fail tests for intptrcast 2019-06-21 16:32:54 -05:00
Christian Poveda
fd3a291db4 Implement intptrcast methods 2019-06-21 14:55:37 -05:00
bors
beba8c4d8a Auto merge of #782 - RalfJung:generator, r=RalfJung
add a failing test where an immovable generator gets moved

Test courtesy of @shepmaster
2019-06-21 19:49:43 +00:00
Ralf Jung
5472755f16 add a failing test where an immovable generator gets moved 2019-06-21 21:48:27 +02:00
bors
deccfa4dd8 Auto merge of #780 - RalfJung:ci, r=RalfJung
adapt CI for bors

With this, we should run the Travis tests (Linux+macOS) in PRs, and run that plus AppVeyor in bors.
2019-06-21 19:03:00 +00:00
Ralf Jung
ab473bcda5 fix Travis bors branch names 2019-06-21 21:02:30 +02:00
Ralf Jung
38d19199c3 AppVeyor: only run on bors branches 2019-06-21 20:55:24 +02:00
Ralf Jung
1a784ea21b Travis: also run on bors branches, and not on master 2019-06-21 20:54:07 +02:00
Ralf Jung
285e9a65cd
Merge pull request #778 from christianpoveda/master
Update tag methods to match Machine changes
2019-06-21 13:20:22 +02:00