]>
git.lizzy.rs Git - rust.git/log
Ralf Jung [Sat, 6 Jul 2019 07:32:35 +0000 (09:32 +0200)]
fix unused variable warning
Ralf Jung [Sat, 6 Jul 2019 07:29:58 +0000 (09:29 +0200)]
bump rustc
Ralf Jung [Sat, 6 Jul 2019 07:29:17 +0000 (09:29 +0200)]
Merge remote-tracking branch 'origin/master' into rustup
bors [Fri, 5 Jul 2019 22:52:21 +0000 (22:52 +0000)]
Auto merge of #817 - RalfJung:small-alloc, r=RalfJung
align small malloc-allocations even less, and test that we do
Needs https://github.com/rust-lang/rust/pull/62295 to land.
Fixes https://github.com/rust-lang/miri/issues/812.
Ralf Jung [Fri, 5 Jul 2019 21:51:11 +0000 (23:51 +0200)]
dangling-ptr-to-int should work now; move to noseed
Ralf Jung [Fri, 5 Jul 2019 21:49:30 +0000 (23:49 +0200)]
bump rustc
Ralf Jung [Fri, 5 Jul 2019 21:47:10 +0000 (23:47 +0200)]
rename InterpretCx -> InterpCx
Ralf Jung [Tue, 2 Jul 2019 07:03:45 +0000 (09:03 +0200)]
align small malloc-allocations even less, and test that we do
bors [Fri, 5 Jul 2019 20:46:34 +0000 (20:46 +0000)]
Auto merge of #803 - christianpoveda:intptrcast-explicit-casts, r=RalfJung
Add tests for Intptrcast when doing explicit casts
r? @RalfJung
Ralf Jung [Fri, 5 Jul 2019 20:46:11 +0000 (22:46 +0200)]
Merge remote-tracking branch 'origin/master'
Ralf Jung [Fri, 5 Jul 2019 19:26:58 +0000 (21:26 +0200)]
temporarily disable validation on Windows
bors [Fri, 5 Jul 2019 19:25:10 +0000 (19:25 +0000)]
Auto merge of #825 - RalfJung:no-null, r=RalfJung
avoid Scalar::is_null_ptr, it is going away
Comparing pointers should be done more carefully than that
Ralf Jung [Fri, 5 Jul 2019 17:22:22 +0000 (19:22 +0200)]
temporarily disable intptrcast advanced testing on Windows
Ralf Jung [Fri, 5 Jul 2019 17:21:42 +0000 (19:21 +0200)]
temporarily disable validation for 'cargo miri test' testing
Ralf Jung [Fri, 5 Jul 2019 17:21:21 +0000 (19:21 +0200)]
fix deallocating/reallocating with integer pointers
Ralf Jung [Fri, 5 Jul 2019 08:08:57 +0000 (10:08 +0200)]
fix NULL in TLS dtors
Ralf Jung [Fri, 5 Jul 2019 07:56:42 +0000 (09:56 +0200)]
avoid Scalar::is_null_ptr, it is going away
Ralf Jung [Thu, 4 Jul 2019 22:06:41 +0000 (00:06 +0200)]
temporarily disable ptr_offset, maybe that helps
bors [Thu, 4 Jul 2019 08:51:19 +0000 (08:51 +0000)]
Auto merge of #822 - RalfJung:tls, r=RalfJung
move tls.rs into shims module
Ralf Jung [Wed, 3 Jul 2019 21:12:44 +0000 (23:12 +0200)]
move tls.rs into shims module
Christian Poveda [Wed, 3 Jul 2019 18:42:01 +0000 (13:42 -0500)]
Fix explicit cast test
Christian Poveda [Wed, 3 Jul 2019 18:28:30 +0000 (13:28 -0500)]
Update rust-version
Christian Poveda [Sat, 29 Jun 2019 18:17:15 +0000 (13:17 -0500)]
Add intptrcast test for explicit casts
bors [Wed, 3 Jul 2019 17:13:09 +0000 (17:13 +0000)]
Auto merge of #820 - RalfJung:intptrcast, r=RalfJung
Make most tests work with Intptrcast
The one that still fails (amusingly, that's ptr_int_casts) requires some help from the librustc_mir side.
Ralf Jung [Wed, 3 Jul 2019 08:54:16 +0000 (10:54 +0200)]
avoid catching errors
Ralf Jung [Wed, 3 Jul 2019 08:46:51 +0000 (10:46 +0200)]
make a test noseed for now that does not work with intptrcast yet
Ralf Jung [Wed, 3 Jul 2019 08:19:55 +0000 (10:19 +0200)]
don't call Stacked Borrows hooks at all when validation is disabled
Ralf Jung [Wed, 3 Jul 2019 07:56:35 +0000 (09:56 +0200)]
support integers that can be cast to pointers in in-bounds offset operation
Ralf Jung [Wed, 3 Jul 2019 07:42:07 +0000 (09:42 +0200)]
we don't need zero-sized freeze-sensitive visiting
Ralf Jung [Wed, 3 Jul 2019 07:32:21 +0000 (09:32 +0200)]
avoid integer overflow in ptr-to-int cast
Ralf Jung [Wed, 3 Jul 2019 07:23:31 +0000 (09:23 +0200)]
allow dangling ptr-to-int casts; use force_bits for ptr comparison
Ralf Jung [Wed, 3 Jul 2019 07:06:48 +0000 (09:06 +0200)]
only treat integer operations as such
Ralf Jung [Wed, 3 Jul 2019 07:06:35 +0000 (09:06 +0200)]
dont add the -Zmiri-seed flag twice
Ralf Jung [Tue, 2 Jul 2019 20:20:37 +0000 (22:20 +0200)]
run all run-pass tests with intrptrcast. makes many of them fail!
bors [Tue, 2 Jul 2019 11:03:22 +0000 (11:03 +0000)]
Auto merge of #819 - RalfJung:test-name, r=RalfJung
fix outdated test name: overalign -> align
Ralf Jung [Tue, 2 Jul 2019 11:02:48 +0000 (13:02 +0200)]
fix outdated test name: overalign -> align
bors [Tue, 2 Jul 2019 07:51:55 +0000 (07:51 +0000)]
Auto merge of #818 - RalfJung:readme, r=RalfJung
add another bug we found to the list
Ralf Jung [Tue, 2 Jul 2019 07:51:16 +0000 (09:51 +0200)]
add another bug we found to the list
bors [Mon, 1 Jul 2019 20:59:17 +0000 (20:59 +0000)]
Auto merge of #815 - RalfJung:memory-audit, r=RalfJung
don't call Memory::get without checking the pointer first
Also avoid Memory::get if we just need to know align/size.
I audited all uses of `alloc_id`; the rest should be fine (and we can kill a bunch of them once https://github.com/rust-lang/rust/pull/62257 lands).
bors [Mon, 1 Jul 2019 13:42:33 +0000 (13:42 +0000)]
Auto merge of #814 - RalfJung:shims, r=RalfJung
move find_fn (which is not specific to foreign items) out of foreign_item
bors [Mon, 1 Jul 2019 12:31:57 +0000 (12:31 +0000)]
Auto merge of #816 - RalfJung:gitattr, r=RalfJung
be explicit about our line endings
Let's see if this is the right setting for Windows...
Ralf Jung [Mon, 1 Jul 2019 11:01:28 +0000 (13:01 +0200)]
Merge branch 'master' into rustup
Ralf Jung [Mon, 1 Jul 2019 09:05:57 +0000 (11:05 +0200)]
be explicit about our line endings
Ralf Jung [Sun, 30 Jun 2019 21:24:08 +0000 (23:24 +0200)]
move find_fn (which is not specific to foreign items) out of foreign_items
Ralf Jung [Sun, 30 Jun 2019 22:12:45 +0000 (00:12 +0200)]
don't call Memory::get without checking the pointer first; avoid Memory::get if we just need to know align/size
bors [Sun, 30 Jun 2019 21:19:56 +0000 (21:19 +0000)]
Auto merge of #809 - RalfJung:intptrcast, r=RalfJung
use intptrcast for heap_allocator test; then it should work on Windows
Ralf Jung [Sun, 30 Jun 2019 19:23:48 +0000 (21:23 +0200)]
test even more size-alignment combinations. found a bug in libstd!
Ralf Jung [Sun, 30 Jun 2019 19:08:17 +0000 (21:08 +0200)]
fix minimal alignment for system allocation functions
Ralf Jung [Sun, 30 Jun 2019 19:06:32 +0000 (21:06 +0200)]
add some tracing to intptrcast
Ralf Jung [Sun, 30 Jun 2019 19:03:52 +0000 (21:03 +0200)]
move appveyor env var settings to more appropriate section
Ralf Jung [Sun, 30 Jun 2019 17:10:09 +0000 (19:10 +0200)]
fix setting rustc flags
bors [Sun, 30 Jun 2019 15:07:03 +0000 (15:07 +0000)]
Auto merge of #806 - varkor:patch-1, r=RalfJung
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). (This blocks https://github.com/rust-lang/rust/pull/62228.)
Ralf Jung [Sun, 30 Jun 2019 15:02:20 +0000 (17:02 +0200)]
Miri is not deterministic any more
Ralf Jung [Sun, 30 Jun 2019 14:56:16 +0000 (16:56 +0200)]
use intptrcast for heap_allocator test; then it should work on Windows
bors [Sun, 30 Jun 2019 14:46:03 +0000 (14:46 +0000)]
Auto merge of #807 - RalfJung:test-name, r=RalfJung
better name for a test: threads -> sync
Ralf Jung [Sun, 30 Jun 2019 14:45:41 +0000 (16:45 +0200)]
improve comment
Ralf Jung [Sun, 30 Jun 2019 14:44:25 +0000 (16:44 +0200)]
better name for a test: threads -> sync
varkor [Sun, 30 Jun 2019 14:31:14 +0000 (15:31 +0100)]
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).
bors [Sun, 30 Jun 2019 13:38:38 +0000 (13:38 +0000)]
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...
Ralf Jung [Sun, 30 Jun 2019 13:35:28 +0000 (15:35 +0200)]
move shims (foreign items and intrinsics) into submodule
bors [Sun, 30 Jun 2019 09:37:27 +0000 (09:37 +0000)]
Auto merge of #804 - RalfJung:intptrcast, r=RalfJung
fix comparing function pointers with intptrcast
Cc @christianpoveda
Ralf Jung [Sun, 30 Jun 2019 08:59:42 +0000 (10:59 +0200)]
fix comparing function pointers with intptrcast
bors [Sun, 30 Jun 2019 08:42:25 +0000 (08:42 +0000)]
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.
Ralf Jung [Sat, 29 Jun 2019 14:19:27 +0000 (16:19 +0200)]
Merge branch 'master' into rustup
bors [Sat, 29 Jun 2019 12:45:14 +0000 (12:45 +0000)]
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
Ralf Jung [Sat, 29 Jun 2019 12:37:41 +0000 (14:37 +0200)]
move constants to machine.rs
Ralf Jung [Sat, 29 Jun 2019 11:37:38 +0000 (13:37 +0200)]
comment on STACK_ADDR
Ralf Jung [Sat, 29 Jun 2019 11:33:47 +0000 (13:33 +0200)]
support num_cpus and test that
Ralf Jung [Fri, 28 Jun 2019 08:27:19 +0000 (10:27 +0200)]
make sure we catch alignment problems even with intrptrcast
Ralf Jung [Fri, 28 Jun 2019 08:24:16 +0000 (10:24 +0200)]
don't compute residue twice
Ralf Jung [Fri, 28 Jun 2019 08:23:29 +0000 (10:23 +0200)]
more sensible slack
Ralf Jung [Fri, 28 Jun 2019 08:16:10 +0000 (10:16 +0200)]
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.
Ralf Jung [Sat, 29 Jun 2019 12:15:05 +0000 (14:15 +0200)]
some module comments
Ralf Jung [Sat, 29 Jun 2019 12:04:50 +0000 (14:04 +0200)]
Merge remote-tracking branch 'ralf/machine' into rustup
bors [Sat, 29 Jun 2019 11:52:02 +0000 (11:52 +0000)]
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.
Ralf Jung [Thu, 27 Jun 2019 21:59:00 +0000 (23:59 +0200)]
move most of the stuff from lib.rs into machine.rs, and initialization + main loop into eval.rs
bors [Fri, 28 Jun 2019 18:43:30 +0000 (18:43 +0000)]
Auto merge of #798 - RalfJung:format-ptr, r=RalfJung
test pointer string formatting
Ralf Jung [Fri, 28 Jun 2019 18:42:00 +0000 (20:42 +0200)]
test pointer string formatting
bors [Fri, 28 Jun 2019 09:31:23 +0000 (09:31 +0000)]
Auto merge of #796 - RalfJung:rand, r=RalfJung
bump rand to released 0.7
Ralf Jung [Fri, 28 Jun 2019 09:29:24 +0000 (11:29 +0200)]
bump rand to released 0.7
bors [Fri, 28 Jun 2019 07:15:35 +0000 (07:15 +0000)]
Auto merge of #794 - RalfJung:alignment-sanity, r=oli-obk
ptr-to-int alignment sanity check
Ralf Jung [Fri, 28 Jun 2019 07:12:11 +0000 (09:12 +0200)]
ptr-to-int alignment sanity check
bors [Fri, 28 Jun 2019 06:29:10 +0000 (06:29 +0000)]
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.
Joshua Nelson [Fri, 28 Jun 2019 01:46:24 +0000 (21:46 -0400)]
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.
Christian Poveda [Wed, 26 Jun 2019 18:55:56 +0000 (13:55 -0500)]
Remove default derive for MemoryExtra
Christian Poveda [Wed, 26 Jun 2019 18:09:50 +0000 (13:09 -0500)]
Initialize MemoryExtra with StdRng
bors [Wed, 26 Jun 2019 14:52:03 +0000 (14:52 +0000)]
Auto merge of #779 - christianpoveda:intptrcast-model, r=RalfJung,oli-obk
Implement intptrcast methods
cc https://github.com/rust-lang/miri/issues/224
Christian Poveda [Tue, 25 Jun 2019 19:07:23 +0000 (14:07 -0500)]
Fix alignment of base addresses
bors [Tue, 25 Jun 2019 08:14:59 +0000 (08:14 +0000)]
Auto merge of #790 - RalfJung:readme, r=oli-obk
README: add snippet for running Miri on CI
Ralf Jung [Tue, 25 Jun 2019 08:05:34 +0000 (10:05 +0200)]
add snippet for running Miri on CI
Christian Poveda [Tue, 25 Jun 2019 02:47:37 +0000 (21:47 -0500)]
Fix merge conflicts
Christian Poveda [Mon, 24 Jun 2019 21:34:38 +0000 (16:34 -0500)]
Reorganize MemoryExtra and AllocExtra structures
bors [Mon, 24 Jun 2019 21:59:22 +0000 (21:59 +0000)]
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.
Ralf Jung [Mon, 24 Jun 2019 21:58:12 +0000 (23:58 +0200)]
bump Rust commit
Christian Poveda [Mon, 24 Jun 2019 15:03:16 +0000 (10:03 -0500)]
Rename new fields and move rng to MemoryExtra
Ralf Jung [Mon, 24 Jun 2019 12:50:27 +0000 (14:50 +0200)]
Apply suggestions from code review
Co-Authored-By: Oliver Scherer <github35764891676564198441@oli-obk.de>
Ralf Jung [Mon, 24 Jun 2019 06:40:45 +0000 (08:40 +0200)]
expand and better explain alignment check tests
Ralf Jung [Sun, 23 Jun 2019 18:30:33 +0000 (20:30 +0200)]
de-obfuscate ptr comparison a bit
Ralf Jung [Sun, 23 Jun 2019 15:26:12 +0000 (17:26 +0200)]
adjust for refactored memory pointer checks
Christian Poveda [Sat, 22 Jun 2019 14:25:16 +0000 (09:25 -0500)]
Force intptrcast for binary operations