Ralf Jung
a37953752d
use apfloat's FMA primitive
2019-06-11 19:41:43 +02:00
Ralf Jung
5e07ac335f
implement min and max floating point intrinsics
2019-06-11 19:41:43 +02:00
Ralf Jung
6eab94a459
fix from to/from f32/f64 changes
2019-06-11 19:41:43 +02:00
Ralf Jung
81debbd652
Merge branch 'master' into sysroot
2019-06-11 09:48:05 +02:00
Ralf Jung
446478cce2
fix for rustc rename mir -> body
2019-06-10 13:01:55 +02:00
Ralf Jung
0a9f9e0a0b
factor out common code to determine miri binary
2019-06-09 19:47:09 +02:00
Ralf Jung
5b91ecc066
fix comments
2019-06-09 17:12:41 +02:00
Ralf Jung
b0b082d4d8
do not handle MIRI_SYSROOT in the driver at all, rely fully on the --sysroot flag
2019-06-09 17:10:04 +02:00
Ralf Jung
244011a47f
don't have both MIRI_SYSROOT and --sysroot
2019-06-09 15:43:22 +02:00
Ralf Jung
619f296463
explain why we always set a sysroot; make sure we error if both MIRI_SYSROOT and --sysroot are set
2019-06-09 14:31:05 +02:00
Ralf Jung
05b7e61977
remove outdated sysroot management
2019-06-09 14:10:42 +02:00
Ralf Jung
09f30cabf0
cargo miri: make sure we see the same sysroot for rustc and miri
2019-06-09 13:53:04 +02:00
Ralf Jung
d6bcfc58e3
rustup for EvalResult rename
2019-06-08 22:14:47 +02:00
Dylan MacKenzie
1ceb81b345
Use in-core implementation of type_name
.
...
We bump `rust-version` to pick up the new impl from
https://github.com/rust-lang/rust/pull/61498 and add a test.
2019-06-05 22:36:53 -07:00
Ralf Jung
03b74c12c8
Merge branch 'master' into debug
2019-06-03 11:02:17 +02:00
Ralf Jung
0c704151f7
use new rustc infrastructure to tag the base pointer of static allocations
2019-06-02 22:16:02 +02:00
Ralf Jung
96444c11ee
remove too expensive debug assertion
2019-05-31 16:34:22 +02:00
Ralf Jung
e4cee77121
fix for rustc changes
2019-05-29 09:30:36 +02:00
Ralf Jung
7a7b853120
adjust for rustc changes
2019-05-28 22:46:56 +02:00
Ralf Jung
543e57990c
Merge branch 'master' into miri-build
2019-05-27 23:26:22 +02:00
Ralf Jung
8b219a1329
fix for latest rustc
2019-05-27 18:50:32 +02:00
Ralf Jung
cf96396fcc
make miri script smarter: auto-determine MIRI_SYSROOT, handle MIRI_TEST_TARGET
2019-05-27 14:41:44 +02:00
Ralf Jung
21fb14dba1
avoid printing the tag twice
2019-05-24 13:09:29 +02:00
Ralf Jung
5569fffe7d
avoid having both Debug and Display for a type and using the wrong one
2019-05-24 10:09:23 +02:00
Ralf Jung
1d92791965
use prettier printing
2019-05-23 15:54:50 +02:00
Ralf Jung
3e33e54b5b
hopefully improve error message a bit
2019-05-23 11:03:08 +02:00
Ralf Jung
5c54a58c06
typo
2019-05-19 14:04:59 +02:00
Oliver Scherer
3fde45233b
Prefer drain
over manual implementation of drain
2019-05-19 12:40:59 +02:00
Ralf Jung
6b4164e0df
nits
2019-05-17 19:42:35 +02:00
Ralf Jung
9c161b80d0
reading does not remove Unique, it just invalidates them
2019-05-17 15:29:02 +02:00
Ralf Jung
4b9e1544c2
give up on two-phase borrows
2019-05-17 15:02:31 +02:00
Ralf Jung
1447242bf9
refactor to simplify
2019-05-15 18:12:58 +02:00
Ralf Jung
f676f2265b
make writes act stack-like
2019-05-15 18:12:58 +02:00
Ralf Jung
9b3f07b161
make printing return place less verbose
2019-05-15 17:23:33 +02:00
Ralf Jung
bc0c76d861
fix for latest rustc
2019-05-13 22:07:24 +02:00
Ralf Jung
ada5edbf96
RUST_LOG got renamed to RUSTC_LOG
2019-05-13 14:10:52 +02:00
Ralf Jung
be47fae173
build with latest version
2019-05-13 11:37:54 +02:00
Ralf Jung
a9e66928d6
Update src/stacked_borrows.rs
...
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
2019-05-11 12:07:25 +02:00
Ralf Jung
8530080d03
rename per-location part of reborowing to 'granting'
2019-05-11 12:06:59 +02:00
Ralf Jung
0f96676f43
switch back to upstream xargo
2019-05-10 08:28:02 +02:00
Ralf Jung
d05159f3a9
switch to my xargo fork, because that one works with current libstd
2019-05-01 20:37:08 +02:00
bjorn3
17643af868
Apply suggestions from code review
...
Co-Authored-By: RalfJung <post@ralfj.de>
2019-04-30 15:31:53 +02:00
Ralf Jung
59985157d3
SharedReadOnly reborrows are never weak
2019-04-30 13:55:04 +02:00
Bastien Orivel
69a252c1b3
Update cargo_metadata to 0.7
2019-04-27 23:31:48 +02:00
Ralf Jung
53f59431a5
fix HeapFree return value
2019-04-27 18:21:10 +02:00
Ralf Jung
aaa8ee743b
unify code paths
2019-04-22 13:20:51 +02:00
Ralf Jung
42b70f17d2
Merge branch 'master' into exit
2019-04-22 11:35:36 +02:00
Ralf Jung
131548a748
gen_random: handle size 0 and writing to mem
2019-04-22 11:08:23 +02:00
Ralf Jung
703b7f8a7e
implement SecRandomCopyBytes for macOS RNG
2019-04-22 11:08:23 +02:00
Ralf Jung
e4970fe6ff
Windows: implement heap functions
2019-04-21 16:48:02 +02:00
Ralf Jung
6a6c0cd5f0
implement ExitProcess for Windows
2019-04-21 13:25:24 +02:00
Ralf Jung
0694435650
implement exit
...
implement exit code via new error kind
2019-04-21 12:36:17 +02:00
Ralf Jung
2481d6091a
warn when cargo miri setup does not do anything
2019-04-19 19:27:19 +02:00
Ralf Jung
0a5e541272
two-phase-borrow comment
2019-04-19 08:36:05 +02:00
Ralf Jung
22b57f6435
Merge branch 'master' into stacked-borrows-2
2019-04-18 19:28:25 +02:00
Ralf Jung
36e99a1bda
remove some unneeded 'extern crate'
2019-04-18 16:16:32 +02:00
Tim Diekmann
9ecc07c9b2
Add handling for nullptr
and size == 0
2019-04-18 15:20:32 +02:00
Tim Diekmann
afb64232db
Fix for latest upstream update
2019-04-18 12:39:18 +02:00
Tim Diekmann
af3c4c0c23
Merge branch 'master' into realloc
2019-04-18 12:22:58 +02:00
Tim Diekmann
0e6deee76e
Add realloc
2019-04-18 01:20:21 +02:00
Ralf Jung
39ecd05c46
embrace find_map and some whitespace changes
2019-04-17 16:25:38 +02:00
Oliver Scherer
abe8959339
Apply suggestions from code review
...
Co-Authored-By: RalfJung <post@ralfj.de>
2019-04-17 16:22:33 +02:00
Ralf Jung
46d5fd8487
barriers are dead, long live protectors -- this enables overlapping two-phase borrows!
2019-04-17 16:02:57 +02:00
Ralf Jung
14e701f7d8
abstract mapping over all the stacks in some memory range
2019-04-17 16:02:57 +02:00
Ralf Jung
7b7fef1b53
let the permission of a new pointer depend on the type only
2019-04-17 16:02:57 +02:00
Ralf Jung
924624f810
some failures are impossible
2019-04-17 16:02:57 +02:00
Ralf Jung
a6d377ca0b
more comments
2019-04-17 16:02:57 +02:00
Ralf Jung
966d638760
make run-pass tests pass. tweak how we remove barriers.
2019-04-17 16:02:57 +02:00
Ralf Jung
3f0a2a2941
rewrite Stacked Borrows Core. this passes stacked-borrows.rs!
2019-04-17 16:02:57 +02:00
Ralf Jung
a50512f751
fix RtlGenRandom argument size
2019-04-16 21:27:27 +02:00
Ralf Jung
6fdc75024b
Merge branch 'master' into rand
2019-04-16 20:55:58 +02:00
Ralf Jung
ba567d19f0
stub out pthread_atfork to that we support thread_rng()
2019-04-16 19:53:10 +02:00
Ralf Jung
9c8ad5f9e1
fix 0-sized getrandom
2019-04-16 19:26:02 +02:00
Ralf Jung
378d9d4172
be pragmatic about ptr-int comparisons, for now
2019-04-16 17:47:37 +02:00
Ralf Jung
5f29a53992
rustup
2019-04-12 12:32:26 +02:00
Ralf Jung
8de4f34a7f
Merge remote-tracking branch 'origin/master'
2019-04-11 22:09:09 +02:00
Ralf Jung
48b22b80c5
Fix typo
...
Co-Authored-By: Aaron1011 <aa1ronham@gmail.com>
2019-04-09 23:33:13 -04:00
Oliver Scherer
2eb2c8dd57
Merge branch 'master' into feature/random
2019-04-09 21:58:15 +02:00
Aaron Hill
0837d630f7
Some final cleanup
2019-04-09 15:49:34 -04:00
Aaron Hill
c6e0d09714
Retrieve SYS_getrandom from libc using const-eval
2019-04-09 11:04:30 -04:00
Aaron Hill
22044c878d
Improve deterministic mode error message
2019-04-09 10:16:32 -04:00
Aaron Hill
6b4c5b81da
Fix 'RtlGenRandom' argument slots
2019-04-08 23:18:10 -04:00
Aaron Hill
5f997645bc
Interpret system call numbers relative to target architecture
2019-04-08 22:37:58 -04:00
Aaron Hill
6d3e93c281
Refactor random number generation
2019-04-08 22:22:41 -04:00
Aaron Hill
6b0440e26d
Cleanup argument parsing
2019-04-08 21:40:52 -04:00
Ralf Jung
06af617b92
fix dumping uninitialized locals
2019-04-08 13:40:11 +02:00
bjorn3
32d01263a9
Update src/fn_call.rs
...
Co-Authored-By: TimDiekmann <21277928+TimDiekmann@users.noreply.github.com>
2019-04-08 10:44:02 +02:00
Aaron Hill
808b149671
Use raw syscall numbers
2019-04-07 20:09:53 -04:00
Aaron Hill
dddeda7f7d
Use getrandom() syscall number from libc
2019-04-07 19:57:14 -04:00
Aaron Hill
73239573c9
Implement non-deterministc mode
...
Part of #653
This allows us to properly implement getrandom(),
which unlocks the default HashMap type (e.g. HashMap<K, V>)
with RandomState)
This commit adds a new '-Zmiri-seed=<seed>' option. When present,
this option takes a 64-bit hex value, which is used as the seed
to an internal PRNG. This PRNG is used to implement the 'getrandom()'
syscall.
When '-Zmiri-seed' is not passed, 'getrandom()' will be disabled.
2019-04-07 19:26:20 -04:00
Tim Diekmann
a59e155206
Tidy up calloc code
2019-04-08 01:12:44 +02:00
Tim Diekmann
d1d05c8b41
Fix tagging order
2019-04-07 21:09:21 +02:00
Tim Diekmann
6e4264bf27
Add calloc
2019-04-07 20:52:12 +02:00
Oliver Scherer
9a0eaf6ebd
Update to rustc nightly
2019-04-03 10:48:11 +02:00
kenta7777
d9178b9300
renames EvalContext to InterpretCx
2019-03-30 10:58:28 +09:00
Oliver Scherer
5d3825fc48
Update src/bin/miri-rustc-tests.rs
...
Co-Authored-By: RalfJung <post@ralfj.de>
2019-03-18 15:08:36 +01:00
Ralf Jung
8ee67994cc
fix for rustc change
2019-03-18 13:48:37 +01:00
Ralf Jung
687c5d13ea
bump Rust; remove stabilized feature
2019-03-18 13:31:29 +01:00
Oliver Scherer
56c7656568
Remove dead code and docs
2019-03-11 10:28:03 +01:00
Oliver Scherer
a672abddfa
Make the rustc test runner build again
2019-03-11 10:25:21 +01:00