Commit Graph

2361 Commits

Author SHA1 Message Date
Philippe Nadon 21268157ff renamed Immediate::to_scalar_or_undef
to Immediate::to_scalar_or_uninit

in src/shims/intrinsics.rs

related issue #71193
2020-07-26 16:05:20 -06:00
Philippe Nadon 5161ba346c renamed ScalarMaybeUninit::not_undef to check_init
Related to PR https://github.com/rust-lang/rust/pull/74664
2020-07-26 16:05:20 -06:00
Ralf Jung bc0569253f enable leak check tests on Windows 2020-07-23 15:56:38 +02:00
Ralf Jung fef5fa2ae1 add a Miri extern fn to mark an allocation as being a static root for leak checking 2020-07-23 15:47:33 +02:00
Ralf Jung 4033358956 make miri_start_panic intrinsic an FFI function 2020-07-23 15:20:36 +02:00
bors 592b140880 Auto merge of #1482 - canova:remote-unreachable, r=RalfJung
Remove unreachable intrinsic

This is now supported by the interpreter with https://github.com/rust-lang/rust/pull/74459. We can remove this intrinsic implementation here.
This is covered by this test: https://github.com/rust-lang/miri/blob/master/tests/compile-fail/unreachable.rs

I guess we need to wait until the rust-lang/rust PR merges into nightly, and then we can update `rust-version` hash in the PR, right?

r? @oli-obk
2020-07-23 09:14:08 +00:00
Ralf Jung 7d6aec6887 rustup 2020-07-23 10:40:13 +02:00
Ralf Jung cded9b7142 set errno on stdout write failure 2020-07-18 17:58:21 +02:00
bors b021209b0e Auto merge of #1436 - samrat:support-stdin-read, r=RalfJung
Handle `read`s on STDIN

Closes #1434
2020-07-18 14:56:38 +00:00
Nazım Can Altınova d1aee6965b Remove unreachable intrinsic 2020-07-18 12:48:26 +02:00
Samrat Man Singh f4d1841811 Remove unnecessary cast 2020-07-18 10:45:06 +05:30
Samrat Man Singh 4c1beb2e45 Ensure buffer for reading from Stdin is smaller than machine usize
Also, set appropriate error code on failure
2020-07-17 20:18:07 +05:30
Ralf Jung 545aa60195 fix typo
Co-authored-by: Oliver Scherer <github35764891676564198441@oli-obk.de>
2020-07-17 13:40:13 +02:00
Ralf Jung d617d615e4 fix non-fatal diagnostics stacktraces 2020-07-17 12:55:45 +02:00
Ralf Jung c28786d320 remove an unnecessary intermediate cast 2020-07-16 12:16:43 +02:00
Ralf Jung ce5ed69eac rustup; fix Windows TLS 2020-07-15 08:42:15 +02:00
Samrat Man Singh 74ff4f805a Read into buffer of fixed size for reads to STDIN
Also:
- Check isolation is disabled.
- Add FIXMEs to set error numbers in `read` and `write`.
2020-07-12 20:27:19 +05:30
Samrat Man Singh 2602e951c0 Handle reads on STDIN 2020-07-11 14:06:49 +05:30
Justus K 22e7a6263b Early exit if program doesn't contain a main fn 2020-07-09 13:16:38 +02:00
Ralf Jung dcb0f6309e we cannot track all machine memory any more due to int-ptr-casts 2020-07-08 12:01:49 +02:00
Gary Guo c5b324b031 Remove likely and unlikely from intrinsics shim
They are now implemented in MIR interpreter by rust-lang/rust#73778
2020-07-02 20:00:27 +01:00
Ralf Jung c379793cde add option to track call IDs 2020-07-02 10:33:54 +02:00
Ralf Jung 3a5bcb97ed move rwlock dequeuing to shared code, and use that code for Windows rwlocks 2020-06-28 11:28:46 +02:00
Ralf Jung a9dc2796ca Move get/set_at_offset helpers to global helpers file 2020-06-28 09:23:01 +02:00
Ralf Jung e54619b5e1 with this, we support panics on Windows 2020-06-27 14:43:37 +02:00
Ralf Jung 8e92969948 implement Windows SRWLock shims 2020-06-27 14:36:05 +02:00
Ralf Jung dca00ab85e introduce platform-specific module hierarchy for dlsym (similar to foreign_items) 2020-06-27 14:36:05 +02:00
bors bde2eb4a44 Auto merge of #1460 - RalfJung:modules, r=RalfJung
Re-organize platform-specific shims

Move platform-specific code to `shims::{posix::{linux, macos}, windows}`. Also make it private in these modules to ensure we are reasonably structured.
2020-06-27 11:27:36 +00:00
Ralf Jung af5887e869 module organization: move platform-specific code to shims::{posix::{linux, macos}, windows} 2020-06-27 13:22:49 +02:00
Ralf Jung 395f5d40dc Rename shims::{sync -> posic_sync} and move sync_singlethread test to other sync test 2020-06-27 12:37:12 +02:00
Ralf Jung b46f946c81 supply our own implementation of the CTFE pointer comparison intrinsics 2020-06-27 11:57:43 +02:00
Ralf Jung 5c5b61ffb0 rustup 2020-06-15 17:38:27 +02:00
Ralf Jung e063ce2737 rustup; and a bit of UnsafeCell detection refactoring 2020-06-13 11:30:31 +02:00
bors ffd03b3caa Auto merge of #1418 - divergentdave:file-sync, r=RalfJung
Add file sync shims

This PR adds shim implementations for these related file syncing functions.
* `fsync`, for POSIX targets, backed by `File::sync_all()`
* `fdatasync`, for POSIX targets, backed by `File::sync_data()`
* `fcntl` with command `F_FULLFSYNC`, for macOS targets, backed by `File::sync_all()`
* `sync_file_range`, for Linux targets, backed by `File::sync_data()`
2020-06-09 08:48:40 +00:00
David Cook a60c130b0d Extract common logic for Windows host workaround 2020-06-08 23:34:02 +00:00
David Cook e352d4fbb7 Finish fixing Windows host support 2020-06-06 16:54:13 +00:00
Ralf Jung 17dd44ee92 rustup 2020-06-01 19:23:54 +02:00
Ralf Jung 0b6ec575b9 make mutex_unlock infallible 2020-05-30 22:54:37 +02:00
Ralf Jung acb3ec0866 test and fix for rwlock unlock bug 2020-05-30 22:48:43 +02:00
Ralf Jung a80821e046 also combine re-locking into the dequeue-and-unblock operation 2020-05-30 22:35:58 +02:00
Ralf Jung 7589bc7ba9 sync cleanup: mark infallible ops as such; consistent combine en/dequeue with (un)block; comments 2020-05-30 22:29:27 +02:00
Ralf Jung c77e9022d5 rustup (and account for stabilization) 2020-05-30 09:23:25 +02:00
Joe Richey 394a57fc22 Remove pointer arithmetic intrinsics
These are now implemented in rustc's mir interpreter

Signed-off-by: Joe Richey <joerichey@google.com>
2020-05-30 09:06:37 +02:00
Ralf Jung f55c0153f1 str_strip is stable 2020-05-29 10:01:07 +02:00
bors 83b4222d9a Auto merge of #1422 - RalfJung:cargo-miri-workspace, r=oli-obk
Move cargo-miri into separate package

So far, `cargo-miri` depended on the Miri library crate. That was mostly for convenience (to avoid having to deal with workspaces), but also because until recently `cargo-miri` needed access to the ["Miri default flags"](https://github.com/rust-lang/miri/blob/af044209b02f561adb3dad9f5f0deea7378f0ac0/src/lib.rs#L75). But with `MIRI_BE_RUSTC` that is no longer the case, so we can remove this fake dependency. :)

@oli-obk what do you think? Also I expect the rustc bootstrap integration will need updates, hints would be appreciated. :D
2020-05-28 13:02:41 +00:00
Ralf Jung 0790f75ae4 make cargo-miri a separate crate in a workspace 2020-05-28 08:53:44 +02:00
Ralf Jung 60f466d6ad use strip_prefix where it makes sense 2020-05-28 08:51:38 +02:00
David Cook c01bc14219 Fix fsync shim for Windows hosts with RO files 2020-05-25 21:45:29 -05:00
David Cook 7ba8bbc49f Update comments 2020-05-25 07:32:56 -05:00
Ralf Jung a95f754a9c better error when reading from stdin 2020-05-25 10:39:43 +02:00