Commit Graph

2920 Commits

Author SHA1 Message Date
Ralf Jung
b067313552 use intptrcast for heap_allocator test; then it should work on Windows 2019-06-30 16:56:16 +02:00
bors
aeb658e8bd Auto merge of #807 - RalfJung:test-name, r=RalfJung
better name for a test: threads -> sync
2019-06-30 14:46:03 +00:00
Ralf Jung
e44d38e051 improve comment 2019-06-30 16:45:41 +02:00
Ralf Jung
db6283b884 better name for a test: threads -> sync 2019-06-30 16:44:25 +02:00
varkor
5d4aae8c05
Fix unused_must_use inside Box
After https://github.com/rust-lang/rust/pull/62228, this will be linted against (and causes the test to fail).
2019-06-30 15:31:14 +01:00
bors
048b00d20f Auto merge of #805 - RalfJung:shims, r=RalfJung
move shims (foreign items and intrinsics) into submodule

This is in preparation for dlsym support, where there will b a third "kind" of shim.

And maybe some day we find a good way to split those long files...
2019-06-30 13:38:38 +00:00
Ralf Jung
b8879f3d8c move shims (foreign items and intrinsics) into submodule 2019-06-30 15:35:28 +02:00
bors
c29fd090f5 Auto merge of #804 - RalfJung:intptrcast, r=RalfJung
fix comparing function pointers with intptrcast

Cc @christianpoveda
2019-06-30 09:37:27 +00:00
Ralf Jung
11457a4ad9 fix comparing function pointers with intptrcast 2019-06-30 11:21:31 +02:00
bors
1ec279f290 Auto merge of #801 - RalfJung:num_cpus, r=RalfJung
support num_cpus crate and test that

Also make some magic numbers into proper global constants.
2019-06-30 08:42:25 +00:00
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