Commit Graph

3820 Commits

Author SHA1 Message Date
Ralf Jung
7e128beff9 fix build failures 2020-02-26 13:50:33 +01:00
Ralf Jung
25ddc659d0 move validate field from memory to machine 2020-02-24 16:25:29 +01:00
Ralf Jung
274ae0438f add an option to disable Stacked Borrows 2020-02-24 16:22:02 +01:00
bors
36305e3a50 Auto merge of #1136 - Aaron1011:feature/check-libstd, r=RalfJung
Use 'cargo check' to build the sysroot and target crate

Fixes #1057

I'm using my original approach from PR #1048. Ideally, we would
distinguish between build-deps/dependencies/'final crate' via a
different approach (e.g. the target directory). However, I
haven't been able to get that to work just yet.

However, everything should be working with the approach I'm using. At a
minimum, we can use this PR to verify that everything works as expected
when we don't actually produce native build outputs.
2020-02-24 13:45:51 +00:00
Ralf Jung
faf7bf538d update lockfile 2020-02-24 14:45:35 +01:00
Ralf Jung
47f2b12735 fix Cargo.toml 2020-02-24 14:42:45 +01:00
Ralf Jung
443163f930 refactor cargo-miri a bit 2020-02-24 14:41:04 +01:00
Aaron Hill
e530829797 Use 'cargo check' to build the sysroot and target crate
Fixes #1057

Since we are no longer using "cargo rustc", we now use the rustc
arguments passed by Cargo to determine whether we are building a
build dependency, normal dependency, or "target" (final binary or test)
crate.
2020-02-24 14:41:04 +01:00
bors
3c444bf6a6 Auto merge of #1191 - RalfJung:cargup, r=RalfJung
cargo update
2020-02-23 21:46:05 +00:00
Ralf Jung
a555e1ec25 cargo update 2020-02-23 22:44:16 +01:00
bors
29b0bbf859 Auto merge of #1189 - RalfJung:cleanup, r=RalfJung
some foreign_items cleanup

Cc @christianpoveda
2020-02-23 18:11:37 +00:00
Ralf Jung
4a9a0a9078 avoid lowercasing platforms 2020-02-23 18:54:08 +01:00
Ralf Jung
e575fb1f57 improve comments 2020-02-23 18:52:12 +01:00
Ralf Jung
beb82ea4a4 add private helper trait for fs shim 2020-02-23 18:52:12 +01:00
Ralf Jung
5d35548985 helpers.rs cleanup 2020-02-23 18:52:12 +01:00
bors
2752d1b74b Auto merge of #1167 - christianpoveda:shims-refactor, r=RalfJung
Reorganize shims by platform

Fixes https://github.com/rust-lang/miri/issues/1161. I am currently testing which shims belong to which platform. If you are reading this and know the answer for any of those please write me :P

Edit: this is a list of the shims I haven't been able to figure out to which platform they belong:
 -~~`malloc`~~
 -~~`calloc`~~
 -~~`posix_memalign`~~
 -~~`free`~~
 -~~`realloc`~~
 -~~`__rust_alloc`~~
 -~~`__rust_alloc_zeroed`~~
 -~~`__rust_dealloc`~~
 -~~`__rust_realloc`~~
 -~~`__rust_maybe_catch_panic`~~
 -~~`syscall`~~
 -~~`getrandom`~~
 -~~`dlsym`~~
 -~~`memcmp`~~
 -~~`memrchr`~~
 -~~`memchr`~~
 -~~`strlen`~~
 -~~`signal`~~
 -~~`sigaction`~~
 -~~`sigaltstack`~~
 -~~`sysconf`~~
 -~~`sched_getaffinity`~~
 -~~`isatty`~~
 -~~`pthread_key_create`~~
 -~~`pthread_key_delete`~~
 -~~`pthread_getspecific`~~
 -~~`pthread_setspecific`~~
 -~~`pthread_attr_init`~~
 -~~`pthread_attr_destroy`~~
 -~~`pthread_self`~~
 -~~`pthread_attr_setstacksize`~~
 -~~`pthread_attr_getstack`~~
 -~~`pthread_create`~~
 -~~`pthread_mutexattr_init`~~
 -~~`pthread_mutexattr_settype`~~
 -~~`pthread_mutex_init`~~
 -~~`pthread_mutexattr_destroy`~~
 -~~`pthread_mutex_lock`~~
 -~~`pthread_mutex_unlock`~~
 -~~`pthread_mutex_destroy`~~
 -~~`pthread_rwlock_rdlock`~~
 -~~`pthread_rwlock_unlock`~~
 -~~`pthread_rwlock_wrlock`~~
 -~~`pthread_rwlock_destroy`~~
 -~~`pthread_condattr_init`~~
 -~~`pthread_condattr_setclock`~~
 -~~`pthread_cond_init`~~
 -~~`pthread_condattr_destroy`~~
 -~~`pthread_cond_destroy`~~
 -~~`pthread_atfork`~~
 -~~`posix_fadvise`~~
 -~~`mmap`~~
 -~~`mprotect`~~
2020-02-23 17:03:30 +00:00
Christian Poveda
208665836e
panic if target platform is incorrect instead 2020-02-22 09:02:29 -05:00
Christian Poveda
c2bcab55b0
improve docs 2020-02-22 08:55:45 -05:00
bors
c40a31e93c Auto merge of #1185 - RalfJung:readme, r=RalfJung
fix README

With https://github.com/rust-lang/miri/pull/1127, we do not abort execution any more when the tracked tag gets popped, we just show a backtrace.
2020-02-22 10:58:53 +00:00
Ralf Jung
86a4354746 fix README 2020-02-22 11:58:21 +01:00
Christian Poveda
9e9a090026
minor fixes 2020-02-22 02:18:42 -05:00
bors
a3dad216ee Auto merge of #1188 - RalfJung:bootstrap, r=RalfJung
dont overwrite bootstrap flags
2020-02-21 19:07:37 +00:00
Ralf Jung
08332bc730 dont overwrite bootstrap flags 2020-02-21 20:06:31 +01:00
bors
5b8462066d Auto merge of #1187 - RalfJung:rustup, r=RalfJung
fix for const-prop lint changes

Cc https://github.com/rust-lang/rust/issues/69331
2020-02-21 10:06:24 +00:00
Ralf Jung
3e2f29a079 remove some no-longer-needed allow(const_err) 2020-02-21 11:05:56 +01:00
Ralf Jung
0e7e5b9655 fix test-cargo-miri 2020-02-21 11:03:52 +01:00
Ralf Jung
627d7cba64 fix for const-prop lint changes 2020-02-21 10:33:00 +01:00
bors
fe8068d145 Auto merge of #1184 - divergentdave:rename-error-test, r=RalfJung
Test error case of std::fs::rename

As suggested [here](https://github.com/rust-lang/miri/pull/1158#issuecomment-586459463) this PR adds an additional test case for calling rename on a file path that doesn't exist.
2020-02-21 07:36:14 +00:00
David Cook
32a354efa3 Test error case of std::fs::rename 2020-02-20 21:54:52 -06:00
bors
056a68d7d0 Auto merge of #1182 - rust-lang:rustup, r=RalfJung
rustup

We got a CI failure from our cronjob. It looks spurious, but better safe than sorry.
2020-02-20 10:10:14 +00:00
Ralf Jung
a60dfcf6e7 rustup 2020-02-20 11:09:12 +01:00
Christian Poveda
bb3a711b3e
rename platform specific shims 2020-02-19 17:53:33 -05:00
Christian Poveda
3418b40dac
remove syscall shim from macos and move getrandom to linux module 2020-02-19 17:48:16 -05:00
Christian Poveda
b213f88b58
promote memrchr to work on any platform 2020-02-19 17:48:15 -05:00
Christian Poveda
9a7bc3972c
promote open and lseek shims to posix 2020-02-19 17:48:15 -05:00
Christian Poveda
dbef2340b2
add docs for `emulate_foreign_item_by_bame 2020-02-19 17:48:15 -05:00
Christian Poveda
32bc015e35
reorganize comments for shim's classification 2020-02-19 17:48:15 -05:00
Christian Poveda
bc7513bffd
move CreateThread to windows shims 2020-02-19 17:48:15 -05:00
Christian Poveda
1dbc0c9869
remove hack for panics 2020-02-19 17:48:15 -05:00
Christian Poveda
b819493585
move remaining shims 2020-02-19 17:48:15 -05:00
Christian Poveda
63160c66cd
move pthread related functions 2020-02-19 17:48:15 -05:00
Christian Poveda
8fe7543191
add helper function for target platform checks 2020-02-19 17:47:34 -05:00
bors
62bc08af18 Auto merge of #1180 - RalfJung:fs-refact, r=RalfJung
Slight refactoring of FS test
2020-02-19 10:17:32 +00:00
Ralf Jung
3cd13cb174 test a bit more 2020-02-19 11:14:30 +01:00
Ralf Jung
f79c453860 factor more common code 2020-02-19 11:12:30 +01:00
Ralf Jung
8b31763816 fs test: factor some common code 2020-02-19 11:12:30 +01:00
bors
12170f10d8 Auto merge of #1179 - RalfJung:rustup, r=RalfJung
bump Rust (no changes needed)
2020-02-19 09:08:57 +00:00
bors
2d02e105d1 Auto merge of #1156 - divergentdave:fcntl-F_DUPFD_CLOEXEC, r=RalfJung
Add F_DUPFD/F_DUPFD_CLOEXEC to fcntl shim

This adds support for `F_DUPFD` and `F_DUPFD_CLOEXEC` to the shim for `fcntl`. (The `FileHandler` does not track the `FD_CLOEXEC` flag for open files, so these commands are effectively the same.) These changes enable using `File::try_clone`.

I also changed the initial value of the `low` field in `FileHandler`, so that it matches the intent of the preceding comment. The `open` shim was pre-incrementing it when choosing new file descriptor numbers, so FD 3 was being skipped.
2020-02-19 08:45:04 +00:00
Ralf Jung
56f9ee2c2d bump Rust (no changes needed) 2020-02-19 09:15:12 +01:00
David Cook
ae7d98b68f Extract constant for minimum fd 2020-02-18 18:06:33 -06:00