Ralf Jung
|
2d323857e9
|
implement and test posix_memalign
|
2019-02-13 17:47:54 +01:00 |
|
Ralf Jung
|
2d892c160b
|
skip installing rust-src if XARGO_RUST_SRC is set
|
2019-02-13 12:10:05 +01:00 |
|
Ralf Jung
|
fd6bd5ba4b
|
rename things away from 'Shr' that are used for much more than just shared references
|
2019-02-12 10:58:18 +01:00 |
|
Ralf Jung
|
3c652032c0
|
be more clear which stack we are talking about
|
2019-02-12 10:51:03 +01:00 |
|
Ralf Jung
|
35ed590075
|
also enable passing arguments through from cargo-miri
|
2019-02-09 20:00:40 +01:00 |
|
Ralf Jung
|
5e468766b7
|
also pass actual arguments to Windows
|
2019-02-09 20:00:40 +01:00 |
|
Ralf Jung
|
e400b42c21
|
fix build
|
2019-02-09 20:00:40 +01:00 |
|
Ralf Jung
|
0802b3a108
|
implement passing arguments to the interpreted program
|
2019-02-09 20:00:40 +01:00 |
|
Ralf Jung
|
0f6e82db36
|
fix (un)likely intrinsics
|
2019-02-09 13:08:23 +01:00 |
|
Ralf Jung
|
7af75abdd7
|
we don't need to flush stderr
|
2019-02-08 10:41:44 +01:00 |
|
Ralf Jung
|
68e8ff1a09
|
flush stdout/stderr to make sure it appears on the screen
|
2019-02-07 18:04:58 +01:00 |
|
Ralf Jung
|
e0891bd619
|
Fix cargo miri test on lib crates
|
2019-02-07 16:33:46 +01:00 |
|
Ralf Jung
|
5766b32871
|
update test for cargo-miri
|
2019-02-07 13:03:03 +01:00 |
|
Ralf Jung
|
4309539efe
|
cargo miri: refactor how we detect what to interpret and how we run cargo rustc, fix running unit tests
|
2019-02-07 13:00:27 +01:00 |
|
Ralf Jung
|
48ac35f072
|
panic_impl is another way to panic
|
2019-02-06 11:41:45 +01:00 |
|
Ralf Jung
|
661ed7b82d
|
implement atomic_nand
|
2019-02-06 11:40:10 +01:00 |
|
Ralf Jung
|
76985f1e2d
|
remove outdated comment
|
2019-01-25 08:59:12 +01:00 |
|
Oliver Scherer
|
9f06cdc87a
|
Explain Ref problems
|
2019-01-22 17:19:19 +01:00 |
|
Oliver Scherer
|
7269a884c9
|
Expose AllocId s for priroda
|
2019-01-22 16:46:45 +01:00 |
|
Oliver Scherer
|
9c1c407a02
|
Update to latest rustc master
|
2019-01-21 17:29:09 +01:00 |
|
Ralf Jung
|
c54d7eef07
|
expand docs
|
2019-01-07 19:41:18 +01:00 |
|
Ralf Jung
|
a957a36ddc
|
tweak merging to give up if we don't make any progress
|
2019-01-07 19:36:25 +01:00 |
|
Ralf Jung
|
17d11ebe6e
|
be explicit about doing a binary search; fix out-of-bounds check
|
2019-01-07 15:10:22 +01:00 |
|
Ralf Jung
|
4f9c14c256
|
deduplicate RangeMap elements in iter_mut
This cuts down execution time of the benchmark in the OP of https://github.com/solson/miri/issues/593 by another 25%, and it cuts max-RSS by 90% (!)
|
2019-01-07 15:10:22 +01:00 |
|
Ralf Jung
|
f24d0354f9
|
rewrite RangeMap to use a sorted Vec instead of a RangeMap
This gives us a 20% perf improve for the benchmark from https://github.com/solson/miri/issues/593
|
2019-01-07 15:10:22 +01:00 |
|
Ralf Jung
|
6c9e702d9b
|
range_map: also test size of the internal representation
|
2019-01-07 15:10:22 +01:00 |
|
Ralf Jung
|
e81d81e5af
|
implement panic_if_uninhabited intrinsic
|
2019-01-07 11:23:08 +01:00 |
|
Ralf Jung
|
fced2ac865
|
move env var stuff out of the miri lib
|
2019-01-04 15:37:51 +01:00 |
|
Ralf Jung
|
f2e14d9314
|
use memory::check_bounds_ptr for offset check
|
2018-12-26 13:16:47 +01:00 |
|
Ralf Jung
|
5a8f9e58f7
|
properly compare unequal function pointers
|
2018-12-25 13:29:38 +01:00 |
|
Ralf Jung
|
4e4569cf4b
|
fix build and tests with latest nightly
|
2018-12-25 13:26:40 +01:00 |
|
Ralf Jung
|
4f659ed507
|
fix for infallible allocation
|
2018-12-23 14:13:16 +01:00 |
|
Ralf Jung
|
a03d184648
|
Merge branch 'master' into rustup
|
2018-12-20 13:34:24 +01:00 |
|
Ralf Jung
|
750cd442be
|
fix argv null terminator
|
2018-12-19 15:45:23 +01:00 |
|
Ralf Jung
|
af4fb6655e
|
implement GetCommandLineW, GetEnvironmentVariableW, GetConsoleScreenBufferInfo, SetConsoleTextAttribute, GetSystemInfo
|
2018-12-19 15:25:25 +01:00 |
|
Ralf Jung
|
51ed485ba4
|
implement stdout/stderr on Windows
|
2018-12-19 12:16:07 +01:00 |
|
Ralf Jung
|
d67da9f04b
|
no need to set the cargo-miri feature twice
|
2018-12-19 11:12:56 +01:00 |
|
Ralf Jung
|
11433bf38e
|
actually show warnings about suppressed output
|
2018-12-19 11:07:24 +01:00 |
|
Ralf Jung
|
ecf6599051
|
xargo version check: also check application name, just to be sure
|
2018-12-19 11:06:46 +01:00 |
|
Ralf Jung
|
4e0fe62bd9
|
typo
|
2018-12-18 19:45:10 +01:00 |
|
Ralf Jung
|
e4fd710606
|
there is a new xargo released, use that
|
2018-12-18 19:41:32 +01:00 |
|
Ralf Jung
|
e8c53e81f8
|
implement macOS functions for argc, argv
|
2018-12-18 19:26:57 +01:00 |
|
Ralf Jung
|
93b8c23f7b
|
Merge remote-tracking branch 'origin/master' into cargo-miri-test
|
2018-12-18 18:36:19 +01:00 |
|
Ralf Jung
|
96b2c347d7
|
temporarily use git version of xargo
|
2018-12-15 18:39:42 +01:00 |
|
Ralf Jung
|
6a37e723c4
|
detect outdated xargo version
|
2018-12-15 15:08:03 +01:00 |
|
Ralf Jung
|
e6147ae67e
|
*oops*
|
2018-12-12 17:30:20 +01:00 |
|
Ralf Jung
|
b6a4556cb9
|
use show_error to terminate
|
2018-12-12 17:05:23 +01:00 |
|
Ralf Jung
|
ed83cc2600
|
use RUSTC_WRAPPER for the cargo hook
|
2018-12-12 17:03:40 +01:00 |
|
Ralf Jung
|
7e9098ff69
|
treat ref-to-raw cast like a reborrow: do a special kind of retag
|
2018-12-12 11:11:20 +01:00 |
|
Ralf Jung
|
ce5089c390
|
rebase fallout
|
2018-12-11 17:54:39 +01:00 |
|
Ralf Jung
|
9417b28de5
|
treat test binaries like all others
|
2018-12-11 17:42:18 +01:00 |
|
Ralf Jung
|
f31bb43804
|
implement some libc hooks needed by libtest
|
2018-12-11 17:39:46 +01:00 |
|
Ralf Jung
|
6b376dc394
|
get rid of to_bytes hack
|
2018-12-11 14:32:59 +01:00 |
|
Ralf Jung
|
383d215386
|
make some functions private to StackedBorrows
|
2018-12-11 14:18:51 +01:00 |
|
Ralf Jung
|
9de605b32f
|
avoid repeating signatures in EvalContext extension traits
|
2018-12-11 14:16:58 +01:00 |
|
Ralf Jung
|
05f2b2ed3d
|
remove support for not having libstd MIR
|
2018-12-10 12:26:20 +01:00 |
|
Ralf Jung
|
b50662d68c
|
fix CI
|
2018-12-10 12:21:39 +01:00 |
|
Ralf Jung
|
b8e6af49d9
|
fix setting the manifest path manually when using cargo miri
|
2018-12-10 10:53:32 +01:00 |
|
Ralf Jung
|
b6eb2cd08e
|
cargo miri: support foreign targets
|
2018-12-10 09:53:14 +01:00 |
|
Ralf Jung
|
c84c1527e2
|
factor grabbing of cargo options into separate function and make it better
|
2018-12-10 09:28:24 +01:00 |
|
Ralf Jung
|
f06e25f9b2
|
bump Rust version, fix build
|
2018-12-08 10:38:36 +01:00 |
|
Ralf Jung
|
61f20761d3
|
Merge branch 'master' into stacked-borrows-2-phase
|
2018-12-03 11:11:32 +01:00 |
|
Ralf Jung
|
d11a6766ad
|
use assert
|
2018-12-03 10:26:39 +01:00 |
|
Ralf Jung
|
0e44876a2d
|
fix mutability gap: do not allow shared mutation when creating frozen reference
|
2018-12-03 09:15:18 +01:00 |
|
Ralf Jung
|
6df89de68a
|
we don't need no whitelist
|
2018-12-02 17:18:25 +01:00 |
|
Ralf Jung
|
e12d4bc70c
|
build libstd with minimal features
|
2018-12-02 14:05:14 +01:00 |
|
Ralf Jung
|
b2305da8d0
|
assert some sense
|
2018-12-02 13:30:09 +01:00 |
|
Ralf Jung
|
479eb3bd2b
|
support for basic (non-overlapping) 2-phase borrows
|
2018-12-02 13:30:09 +01:00 |
|
Ralf Jung
|
dcfc2f207e
|
do not even look for cargo metadata in 'cargo miri setup'
|
2018-12-02 10:29:57 +01:00 |
|
Ralf Jung
|
86e6470a12
|
update README to first describe the usual user setup, and to always set up a proper libstd
|
2018-11-30 09:23:44 +01:00 |
|
Ralf Jung
|
c10811a82d
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-11-28 16:15:56 +01:00 |
|
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
|
26fe778c55
|
Typo
Co-Authored-By: RalfJung <post@ralfj.de>
|
2018-11-28 09:58:23 +01:00 |
|
Ralf Jung
|
6ca4fc7125
|
Merge remote-tracking branches 'origin/master' and 'ralf/shrink-whitelist' into memory-data-revived
|
2018-11-28 08:09:58 +01:00 |
|
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
|
f42b708568
|
Merge branch 'master' into oli-obk-patch-1
|
2018-11-27 17:18:16 +01:00 |
|
Oliver Scherer
|
5958fa6a70
|
Use explicit dyn trait object
|
2018-11-27 16:20:15 +01:00 |
|
Oliver Scherer
|
edc2fb5f60
|
Expose some internals for priroda
|
2018-11-27 14:41:53 +01:00 |
|
Ralf Jung
|
97e010f5b9
|
barriers prevent deallocation
|
2018-11-27 14:26:23 +01:00 |
|
Ralf Jung
|
194710e112
|
no barriers for boxes
|
2018-11-27 14:26:23 +01:00 |
|
Ralf Jung
|
dd94930ee3
|
implement function barriers
|
2018-11-27 14:26:23 +01:00 |
|
Ralf Jung
|
215ec38624
|
track call IDs
|
2018-11-27 14:25:20 +01:00 |
|
Ralf Jung
|
e9370d2b74
|
adjust for memory_allocated hook, make RangeMap preallocated with a fixed size
|
2018-11-27 14:25:20 +01:00 |
|
Ralf Jung
|
53196554ec
|
inform the user when and where we are creating a cache dir
|
2018-11-27 13:12:52 +01:00 |
|
Ralf Jung
|
bd7f4076cd
|
we need to recursively create the dir
|
2018-11-27 11:43:02 +01:00 |
|
Ralf Jung
|
b91679539e
|
use proper platform cache dir
|
2018-11-27 11:26:53 +01:00 |
|
Ralf Jung
|
464dee8edf
|
std::ptr no longer needs whitelisting
|
2018-11-27 09:23:22 +01:00 |
|
Ralf Jung
|
07f78a37d4
|
tweaks
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
58982d655a
|
remove unneeded backtrace feature
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
82caed1a48
|
cargo miri setup: print when we are executing commands
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
b09dfc14a0
|
there are less places now to keep the flags in sync
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
cc4dd29f54
|
kill xargo dir and update docs
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
16ac7ec1b1
|
tweak comments, remove debug output
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
738133b379
|
complete setup routine: instal rust-src, build libstd, use it
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
c945e30d10
|
setup routine to install xargo when missing
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
6bd76c7ee1
|
cargo miri: factor package manifest logic into separate function
|
2018-11-27 08:16:58 +01:00 |
|
Ralf Jung
|
14d58ca8a9
|
fix clippy lint whitelisting
|
2018-11-27 08:16:58 +01:00 |
|
Oliver Scherer
|
32e93ed776
|
Update to Memory -> Allocation method move
|
2018-11-23 17:00:31 +01:00 |
|
Ralf Jung
|
68ba6cdbaa
|
fix for new Align type
|
2018-11-23 09:46:51 +01:00 |
|
Ralf Jung
|
094d07c114
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-11-22 08:21:05 +01:00 |
|
Ralf Jung
|
694d2490f1
|
slightly more verbose error msg
|
2018-11-21 16:02:38 +01:00 |
|
Ralf Jung
|
41f89beb3f
|
if let
|
2018-11-21 16:01:39 +01:00 |
|
Ralf Jung
|
ec8cc029c1
|
on a deref, check that we are not using a mutable ref with a frozen tag
|
2018-11-21 15:44:47 +01:00 |
|
Ralf Jung
|
984c3368a9
|
remove stabilized feature flag
|
2018-11-21 13:41:57 +01:00 |
|
Ralf Jung
|
6181b29f5d
|
bump Rust
|
2018-11-21 09:52:31 +01:00 |
|
Ralf Jung
|
f41decc6e1
|
Merge branch 'master' into cargo-miri-2018
|
2018-11-20 10:18:34 +01:00 |
|
Ralf Jung
|
cfa6397ad0
|
UnsafeCell no longer needs to be on the whitelist
|
2018-11-20 08:50:08 +01:00 |
|
Ralf Jung
|
6085865975
|
adjust for InboundsCheck parameter of memory bounds check
|
2018-11-20 08:45:25 +01:00 |
|
Ralf Jung
|
d619049b2d
|
Merge branch 'miri-backtrace' into mut-visitor
|
2018-11-20 08:29:51 +01:00 |
|
Ralf Jung
|
ef2ffed93f
|
port cargo-miri-test to 2018 edition, mostly to test that that works with cargo miri
|
2018-11-19 22:59:41 +01:00 |
|
Ralf Jung
|
19f8a9db7d
|
Boxes can also use the fast path
|
2018-11-17 12:35:58 +01:00 |
|
Ralf Jung
|
c847071355
|
add comment about not using builtin_deref
|
2018-11-17 12:33:44 +01:00 |
|
Ralf Jung
|
56f1ef325a
|
remove spurious assignments
|
2018-11-17 10:29:16 +01:00 |
|
Ralf Jung
|
662821f7f7
|
raw ptr deref no longer erases the tag
|
2018-11-17 10:11:21 +01:00 |
|
Ralf Jung
|
880229d4c3
|
escape-on-cast, now ptr-deref does not change the tag at all, ever
|
2018-11-17 10:05:40 +01:00 |
|
Ralf Jung
|
b7dbb5e2a7
|
also consider boxes like unique references
|
2018-11-17 10:05:40 +01:00 |
|
Ralf Jung
|
36b97cd76c
|
Factor out common top-level code from escape-to-raw and retag
|
2018-11-16 11:24:01 +01:00 |
|
Ralf Jung
|
a1f895d6f2
|
retagging: descent into values, type-driven
|
2018-11-16 11:09:33 +01:00 |
|
Ralf Jung
|
60e26af323
|
add a sanity assertion
|
2018-11-16 08:40:00 +01:00 |
|
Ralf Jung
|
cf1746222e
|
we no longer even try pushing to a frozen location
|
2018-11-15 21:22:05 +01:00 |
|
Ralf Jung
|
f521fd5e0f
|
let's call this a redundant reborrow
|
2018-11-15 21:22:05 +01:00 |
|
Ralf Jung
|
c234009fdd
|
generalize reborrow-to-raw exception to a general redundancy check
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
5a801c0dc1
|
adjust comment
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
a87e952102
|
Separate deref and access into different operations; add special exception for creating raw references
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
a94e197105
|
better test the special exception for reading through unique when things are shared
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
020313dd85
|
make freezing inherently part of the high-level reactivate/initiate operations
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
09919c2b59
|
Retag is the only operation that generates new tags
|
2018-11-15 09:35:40 +01:00 |
|
Ralf Jung
|
1e51a382ed
|
update for changed FrameInfo, do not print span for all frames
|
2018-11-15 09:14:03 +01:00 |
|
Ralf Jung
|
f5bd85d009
|
update for memory_deallocated moving to AllocExtra
|
2018-11-14 16:03:38 +01:00 |
|
Ralf Jung
|
e7aa5c68ff
|
Update rustc for AllocationExtra trait
Based on https://github.com/solson/miri/pull/493 but there were more conflicts
than code so I opted not to cherry-pick.
|
2018-11-12 08:54:12 +01:00 |
|
Ralf Jung
|
f4e45ff2b7
|
sort the fields ourselves
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
00936316d1
|
treat shared and raw borrows alike
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
74635a57e2
|
re-do large parts of stacked borrows, now with proper support for partiall frozen data
|
2018-11-08 08:29:34 +01:00 |
|
Ralf Jung
|
2ff1f24f2b
|
bump rust
|
2018-11-07 10:41:15 +01:00 |
|
Ralf Jung
|
f6d6470bc4
|
move to 2018 edition
I want NLL :D
|
2018-11-05 15:45:27 +01:00 |
|
Ralf Jung
|
9edac3189a
|
rustup
|
2018-11-05 08:52:02 +01:00 |
|
Ralf Jung
|
a8af5ae139
|
fix for latest nightly
|
2018-11-04 10:30:15 +01:00 |
|
Ralf Jung
|
cb691b7ed9
|
comment on mut-to-shr transmutes
|
2018-11-03 11:42:38 +01:00 |
|
Oliver S̶c̶h̶n̶e̶i̶d̶e̶r Scherer
|
8ac5d988e2
|
typo
Co-Authored-By: RalfJung <post@ralfj.de>
|
2018-11-03 11:39:50 +01:00 |
|
Ralf Jung
|
8da2c9e34e
|
fix adding default arguments
|
2018-11-03 11:03:53 +01:00 |
|
Ralf Jung
|
dc859f345d
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-11-02 14:32:56 +01:00 |
|
Ralf Jung
|
a68779fd16
|
use crate:: import to make edition port easier later
|
2018-11-01 09:00:09 +01:00 |
|
Ralf Jung
|
81534496dc
|
rename RefKind to UsageKind, because it not only used for references now
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
478f137c39
|
put all the logic into reactivatable()
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
85f821d7e9
|
unify checks on memory access and reborrowing, and update for Machine trait change
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
bba3c49e84
|
basic retagging (no fn_entry); this also makes us catch more bugs even with optimizations and we can finally stop mutating the state on deref
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
7ac0e79ad5
|
stub Retag hook; fix tests for removal of -Zmir-emit-validate
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
fba55ba2a9
|
make the -Z flags we use more consistent
|
2018-11-01 08:58:03 +01:00 |
|
Ralf Jung
|
27b1f47b0a
|
use crate:: where appropriate
|
2018-11-01 08:57:22 +01:00 |
|
Ralf Jung
|
1fe925e758
|
Merge branch 'master' into atomic-arith
|
2018-10-31 11:19:26 +01:00 |
|
Ralf Jung
|
40b7502613
|
Reject atomic arithmetic on non-integer types
Fixes #181
|
2018-10-31 11:04:35 +01:00 |
|
Ralf Jung
|
016009a301
|
properly recognize log levels
|
2018-10-31 10:58:19 +01:00 |
|
Ralf Jung
|
5397f2e436
|
when using MIRI_LOG, avoid logging for what rustc does before miri gets started
|
2018-10-31 10:53:37 +01:00 |
|
Ralf Jung
|
7a6a68731e
|
remove unused extern crate
|
2018-10-31 10:19:20 +01:00 |
|
Ralf Jung
|
cd256448d5
|
dumping locals with MIRI_BACKTRACE=1 is feasible now
|
2018-10-31 10:16:42 +01:00 |
|
Ralf Jung
|
eb153810e3
|
Use MIRI_ env vars to set RUST_ ones
This means we can do `MIRI_LOG=debug cargo run` and get something reasonable,
even if cargo has to build some dependencies first.
|
2018-10-31 10:09:55 +01:00 |
|
Ralf Jung
|
1fa0ff88c0
|
fix nits
|
2018-10-30 10:41:01 +01:00 |
|
Ralf Jung
|
559f63a2b6
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-30 08:40:30 +01:00 |
|
Ralf Jung
|
4ccdcdcace
|
rustup
|
2018-10-29 09:15:15 +01:00 |
|
Ralf Jung
|
4a98f64142
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-26 15:06:21 +02:00 |
|
Ralf Jung
|
d890a70c39
|
update for is_null removal
|
2018-10-25 11:37:42 +02:00 |
|
Ralf Jung
|
a34b9c7b70
|
make some things public for the benefit of priroda
|
2018-10-24 11:39:31 +02:00 |
|
Ralf Jung
|
5388037f8a
|
remove code duplication by letting reactivatable() compute what reactivate() has to do
|
2018-10-23 15:59:50 +02:00 |
|
Ralf Jung
|
fe83ef323c
|
also run compile-fail tests with and without optimizations
|
2018-10-23 13:09:17 +02:00 |
|
Ralf Jung
|
26bb4f79dc
|
get rid of implicit Raw at bottom of stack; locals get a uniq at their bottom
|
2018-10-22 18:17:37 +02:00 |
|
Ralf Jung
|
01828fde53
|
respect memory's privacy
|
2018-10-22 16:48:10 +02:00 |
|
Ralf Jung
|
dd1558f337
|
rustc update and be very selective about what we accept on a deref
|
2018-10-22 16:48:09 +02:00 |
|
Ralf Jung
|
1ae1b9bfea
|
adapt to rustc API changes and factor out computing the tag for ty+mutbl
|
2018-10-22 16:45:03 +02:00 |
|
Ralf Jung
|
1a7fb7ec3c
|
expand comment about incomplete support for interior mutability
|
2018-10-22 12:51:47 +02:00 |
|
Ralf Jung
|
957d18c343
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-22 08:41:01 +02:00 |
|
Ralf Jung
|
069b661a10
|
typo
|
2018-10-19 10:09:53 +02:00 |
|
Ralf Jung
|
0b6e349417
|
automalically use start-fn if we have all the MIR
|
2018-10-19 10:07:17 +02:00 |
|
Ralf Jung
|
186e42d088
|
move resolve_path to helpers module
|
2018-10-19 09:54:41 +02:00 |
|
Andrew Poelstra
|
4fa5bfa2bb
|
add some comments to clarify command-line argument munging in #482
|
2018-10-17 20:24:52 +00:00 |
|
Ralf Jung
|
b259512c57
|
bump for ENABLE_PTR_TRACKING_HOOKS, and remove some dead code
|
2018-10-17 17:36:07 +02:00 |
|
Ralf Jung
|
d4b78b36ab
|
stacked borrows: enforcement at memory accesses
|
2018-10-17 15:15:53 +02:00 |
|
Ralf Jung
|
66b4bb7cf2
|
stacked borrows: track refs and derefs
|
2018-10-16 18:35:27 +02:00 |
|
Ralf Jung
|
348f782085
|
add env var emulation test, and fix it complaining about leaks
|
2018-10-16 18:35:27 +02:00 |
|
Ralf Jung
|
b84f7e2029
|
add Borrow tag to pointers; remove old locking code
|
2018-10-16 18:35:27 +02:00 |
|
Andrew Poelstra
|
4faf8fad10
|
cargo-miri: support running unit tests for libraries as well as test binaries
|
2018-10-15 18:38:07 +00:00 |
|
Ralf Jung
|
88ec62640e
|
make rustc-tests a binary in the main project
|
2018-10-14 11:48:15 +02:00 |
|
Ralf Jung
|
9a1dd865c1
|
whitelist Windows Mutex
|
2018-10-14 11:06:36 +02:00 |
|
Ralf Jung
|
837a17625a
|
Merge remote-tracking branch 'origin/master' into rustup
|
2018-10-14 10:35:27 +02:00 |
|
Ralf Jung
|
62b819ba18
|
whitelist std::ptr::read
|
2018-10-12 10:40:44 +02:00 |
|
Ralf Jung
|
b99e1267be
|
atomics wrap around on overflow
|
2018-10-12 09:08:17 +02:00 |
|
Ralf Jung
|
1846f111c9
|
fix return place for __rust_maybe_catch_panic
|
2018-10-11 15:28:21 +02:00 |
|
Ralf Jung
|
e4dfb7013b
|
enable validation per default, but add a flag to disable it and use that for some run-pass tests
compile-fail does not do validation yet
|
2018-10-11 11:24:22 +02:00 |
|
Ralf Jung
|
d94d32e937
|
enforce_validity became a function
|
2018-10-11 09:02:28 +02:00 |
|
Ralf Jung
|
791f464ea0
|
update for size_and_align considering extern types
|
2018-10-11 08:59:39 +02:00 |
|
Ralf Jung
|
ce5b183e8b
|
update for new return place handling
|
2018-10-11 08:59:39 +02:00 |
|
Ralf Jung
|
8ea8cd2919
|
update for ptr provenance
|
2018-10-11 08:42:26 +02:00 |
|
Ralf Jung
|
a439262859
|
Merge branch 'master' into ptr-offset
|
2018-10-10 10:03:34 +02:00 |
|
Ralf Jung
|
edf28fa227
|
only allow offset-by-0 on integer pointers
|
2018-10-09 20:13:46 +02:00 |
|
Ralf Jung
|
cc275c63a9
|
fix for fn allocations now having an alignment (1) and a size (0)
|
2018-10-08 13:35:54 +02:00 |
|
Ralf Jung
|
146f5d8d10
|
rustup; test for return type mismatch
|
2018-10-02 21:16:55 +02:00 |
|
Ralf Jung
|
72cd905484
|
rustup
|
2018-10-02 09:25:55 +02:00 |
|
Ralf Jung
|
1ce05523c4
|
remove needs_drop impl
|
2018-10-01 08:24:42 +02:00 |
|
Ralf Jung
|
8d7cdbb853
|
rustup
|
2018-09-20 12:24:55 +02:00 |
|
Ralf Jung
|
ea4232cf22
|
Move TLS data to machine data
There is no good reason to let the machine store stuff in the machine *and* in memory. I plan to get rid of the latter.
|
2018-09-20 01:00:59 +02:00 |
|
Ralf Jung
|
18d7394071
|
more compile-fail ptr equality tests, to rule out any non-determinism; and fix ptr equality to fail all of them.
At least these are the cases I can think of right now.
|
2018-09-17 10:02:31 +02:00 |
|
Ralf Jung
|
95d79cc11e
|
Merge remote-tracking branch 'origin/master' into zero-sized-accesses
|
2018-09-17 08:39:59 +02:00 |
|
Ralf Jung
|
f925e5dafd
|
cargo miri: show version number
|
2018-09-16 15:18:18 +02:00 |
|
Ralf Jung
|
b488b51b66
|
bump Rust
|
2018-09-15 10:34:45 +02:00 |
|
Ralf Jung
|
d889da43f8
|
move MemoryData to memory.rs; remove all the Hashing stuff
|
2018-09-09 11:01:15 +02:00 |
|
Tim
|
72918c1a97
|
Remove (overflowing_)add/mul/sub(_with_overflow)
|
2018-09-06 16:49:08 +02:00 |
|
Tim
|
055c63ab0d
|
Remove unchecked_shr/shl from intrinsics
|
2018-09-06 16:07:13 +02:00 |
|
Ralf Jung
|
6dff6e84d7
|
Merge branch 'master' into master
|
2018-09-01 11:47:52 +02:00 |
|
thedarkula
|
90d7cb2493
|
Removed transmute from intrinsic.rs
|
2018-09-01 11:47:20 +02:00 |
|
Ralf Jung
|
d3928f6356
|
more permissive pointer comparison logic
|
2018-09-01 11:26:54 +02:00 |
|
Ralf Jung
|
2a318264ea
|
also allow comparing pointers with integers so big that they cannot be equal
|
2018-08-30 11:05:52 +02:00 |
|
Ralf Jung
|
fe9cd1c98d
|
strictly enforce pointer validity even for zero-sized accesses
|
2018-08-30 10:50:13 +02:00 |
|
Ralf Jung
|
c44267960f
|
ptr equality: only defined for ptrs in the same allocation and live ptrs
|
2018-08-30 10:46:09 +02:00 |
|
Ralf Jung
|
904923fa7a
|
move some more helpers to rustc
|
2018-08-30 10:42:18 +02:00 |
|
Ralf Jung
|
2a244dcb48
|
no TLS dtor and no leak checks on macOS
|
2018-08-30 09:41:57 +02:00 |
|
Ralf Jung
|
e2ec521f21
|
pretend mprotect works
|
2018-08-30 09:22:01 +02:00 |
|
Ralf Jung
|
b4ebe72b1b
|
stack address functions for macOS
|
2018-08-30 09:04:57 +02:00 |
|
Ralf Jung
|
0db1c6a1b0
|
ignore memory leaks on Windows
|
2018-08-30 08:57:33 +02:00 |
|
Ralf Jung
|
1b41b71827
|
update for MUT_STATIC_KIND
|
2018-08-26 13:19:03 +02:00 |
|
Ralf Jung
|
1ba6140891
|
rustup
|
2018-08-25 21:22:06 +02:00 |
|
Ralf Jung
|
823837922b
|
update for enum discriminant changes
|
2018-08-25 11:07:21 +02:00 |
|
Ralf Jung
|
bb5079b2bf
|
rustup
|
2018-08-24 19:49:57 +02:00 |
|
Ralf Jung
|
42bce6cb36
|
rustup
|
2018-08-24 17:44:04 +02:00 |
|
Ralf Jung
|
2ee4aac62f
|
fix leaks with -Zmiri-start-fn
|
2018-08-24 16:45:08 +02:00 |
|
Ralf Jung
|
1a4ad2bb9f
|
update for miri engine: new function handling, new static handling, fixed leaks
|
2018-08-24 16:45:08 +02:00 |
|
Ralf Jung
|
68194180a8
|
fix type renaming
|
2018-08-23 09:29:27 +02:00 |
|
Ralf Jung
|
ee7f22245d
|
Merge remote-tracking branch 'origin/master'
|
2018-08-20 18:57:48 +02:00 |
|
Ralf Jung
|
1a23b3c313
|
rustup
|
2018-08-20 16:27:23 +02:00 |
|
Ralf Jung
|
6203bf445f
|
update for rustc memory changes; fix (un)init intrinsic for ZST
|
2018-08-18 11:59:28 +02:00 |
|
Ralf Jung
|
ea27e46a38
|
fix compilation after rustc change
|
2018-08-17 09:36:53 +02:00 |
|
Ralf Jung
|
c424e21692
|
update for memory signedness removal; test some float casts
|
2018-08-16 11:35:38 +02:00 |
|
Ralf Jung
|
259cc6e3dc
|
rustup for big refactor; kill most of validation
|
2018-08-16 10:30:43 +02:00 |
|
Ralf Jung
|
1179d4f8a4
|
fix int ptr ops on 32bit
|
2018-08-14 20:25:56 +02:00 |
|
Ralf Jung
|
04b925135d
|
fix modulo logic
|
2018-08-14 20:10:25 +02:00 |
|
Ralf Jung
|
2b40d39c1e
|
support computing the remainder of a ptr, if covered by alignment
|
2018-08-14 20:10:25 +02:00 |
|
Ralf Jung
|
1fbf998b65
|
Fix remaining windows hooks
|
2018-08-14 19:47:41 +02:00 |
|
Ralf Jung
|
e10d83c8bb
|
fix windows hooks
|
2018-08-14 18:52:13 +02:00 |
|
Ralf Jung
|
ad5403e2e5
|
fix layout in discriminant_value
|
2018-08-14 15:58:49 +02:00 |
|
Ralf Jung
|
f0070fca1e
|
remove unnecessary features
|
2018-08-14 09:35:31 +02:00 |
|
Oliver Schneider
|
7b4402746f
|
Add comments explaining why we do something complex for (un)init
|
2018-08-08 10:34:49 +02:00 |
|
Oliver Schneider
|
be91aea0fa
|
Rustup
|
2018-08-07 15:22:11 +02:00 |
|
Ralf Jung
|
3783cebe80
|
remove dependency on lazy_static and regex by getting rid of some dead validation hack
|
2018-08-02 12:16:09 +02:00 |
|
Ralf Jung
|
ff3efb4e04
|
clarify error message when sysroot was not found
|
2018-07-30 14:49:01 +02:00 |
|
Ralf Jung
|
bb6e7c8243
|
Merge branch 'master' into sanity_checks
|
2018-07-30 08:51:34 +02:00 |
|
Ralf Jung
|
f6d4814fb3
|
detect another printing function for nicer error
|
2018-07-26 17:31:00 +02:00 |
|
Ralf Jung
|
851f2ab98e
|
test cargo miri output
|
2018-07-26 16:43:51 +02:00 |
|
Ralf Jung
|
e849fa47fb
|
make miri compile again
|
2018-07-26 11:21:49 +02:00 |
|
Oliver Schneider
|
53114e3b36
|
Update to rustc sanity check branch
|
2018-07-26 11:21:49 +02:00 |
|
Oliver Schneider
|
b055ff03f1
|
Produce the exit codes that compiletest expects
|
2018-07-25 17:28:16 +02:00 |
|
Ralf Jung
|
f9a8d2618e
|
fix for latest rust nightly
|
2018-07-16 22:26:32 +02:00 |
|
Ralf Jung
|
e1a3b9606e
|
TLS on Windows
|
2018-07-16 11:42:46 +02:00 |
|
Ralf Jung
|
216b8f7407
|
shim some Windows functions
|
2018-07-16 10:27:19 +02:00 |
|
Ralf Jung
|
5be8bd987d
|
Test some new capabilities we gained from a rustc update
|
2018-07-15 21:25:20 +02:00 |
|