]>
git.lizzy.rs Git - rust.git/log
bors [Sat, 8 Aug 2020 12:05:31 +0000 (12:05 +0000)]
Auto merge of #1500 - RalfJung:rustup, r=RalfJung
rustup
Adjust for https://github.com/rust-lang/rust/pull/74932.
Blocked on https://github.com/rust-lang/rust/pull/75282.
Ralf Jung [Sat, 8 Aug 2020 08:27:23 +0000 (10:27 +0200)]
rustup
bors [Wed, 5 Aug 2020 11:39:07 +0000 (11:39 +0000)]
Auto merge of #1498 - RalfJung:rustup, r=RalfJung
rustup
The allocator API changed *again*, adjust our test.
Ralf Jung [Wed, 5 Aug 2020 11:38:15 +0000 (13:38 +0200)]
rustup
bors [Tue, 4 Aug 2020 15:40:56 +0000 (15:40 +0000)]
Auto merge of #1497 - samrat:posix-fs-refactor, r=oli-obk
Add `impl FileDescriptor` for stdin, stdout, stderr
- Use `FileDescriptor::read` for stdin reads
- Use `FileDescriptor::write` for stdout/err writes
- Handle stdout/err reads in `FileDescriptor::read`
The `FileDescriptor` trait was added in PR #1495
Closes #1486
Samrat Man Singh [Tue, 4 Aug 2020 15:10:48 +0000 (20:40 +0530)]
Flush to stdout from FileDescriptor::write for `Stdout`
Also, remove unnecessary `-Zmiri-disable-isolation` in test
Samrat Man Singh [Sat, 1 Aug 2020 11:38:28 +0000 (17:08 +0530)]
Add `impl FileDescriptor` for stdin, stdout, stderr
- Use `FileDescriptor::read` for stdin reads
- Use `FileDescriptor::write` for stdout/err writes
- Handle stdout/err reads in `FileDescriptor::read`
bors [Mon, 3 Aug 2020 15:50:30 +0000 (15:50 +0000)]
Auto merge of #1495 - samrat:fd-trait, r=oli-obk
Add FileDescriptor trait to abstract fn's on File's and Stdin,Stdout,Stderr
Related issue: #1486
Instead of mapping FDs to `FileHandle`, map them to a `FileDescriptor` trait object. The goal is to eventually have both `FileHandle` as well as `Stdin`, `Stdout` and `Stderr` implement this trait so that syscalls involving FDs can handle both `File`s as well as the standard IO streams.
This PR adds the `FileDescriptor` trait and an `impl` for `FileHandle`. I'll open a separate PR for implementing the trait for the standard IO streams.
Samrat Man Singh [Mon, 3 Aug 2020 15:09:09 +0000 (20:39 +0530)]
Remove unnecessary `clone()` on `writable`
bors [Mon, 3 Aug 2020 12:25:11 +0000 (12:25 +0000)]
Auto merge of #1496 - RalfJung:rustup, r=RalfJung
rustup; inner_deref has been stabilized
miri and cargo-miri now use no nightly features (except for miri's using `rustc_private`, of course) :D
Ralf Jung [Mon, 3 Aug 2020 12:20:46 +0000 (14:20 +0200)]
rustup; inner_deref has been stabilized
Samrat Man Singh [Mon, 3 Aug 2020 05:31:42 +0000 (11:01 +0530)]
Wrap io::Result from `FileDescriptor::{read,write,seek}` in InterpResult
The outer InterpResult will be used to indicate that a fn is not
implemented for a struct(eg. `write` for Stdin).
The inner io::Result is just the result from the read/write/seek.
Samrat Man Singh [Fri, 31 Jul 2020 17:23:35 +0000 (22:53 +0530)]
Add FileDescriptor trait to abstract fn's on File's and Std{in,out,err}
bors [Sat, 1 Aug 2020 12:20:45 +0000 (12:20 +0000)]
Auto merge of #1494 - RalfJung:stack-unwind-top, r=RalfJung
test unwinding past topmost frame of a stack
This tests https://github.com/rust-lang/rust/pull/74984
Ralf Jung [Fri, 31 Jul 2020 17:28:59 +0000 (19:28 +0200)]
test unwinding past topmost frame of a stack
Ralf Jung [Sat, 1 Aug 2020 12:18:52 +0000 (14:18 +0200)]
rustup; fix linked_list test
bors [Fri, 31 Jul 2020 17:25:34 +0000 (17:25 +0000)]
Auto merge of #1493 - RalfJung:track-test, r=RalfJung
test track_caller on trait objects
Adds a Miri-side test for https://github.com/rust-lang/rust/issues/74764.
Ralf Jung [Fri, 31 Jul 2020 16:30:07 +0000 (18:30 +0200)]
test track_caller on trait objects
bors [Thu, 30 Jul 2020 16:32:53 +0000 (16:32 +0000)]
Auto merge of #1492 - RalfJung:rustup, r=RalfJung
Rustup
Adjusting for @oli-obk' log changes.
While at it I also removed the `*_of_val` intrinsics that got moved to rustc (Cc @ecstatic-morse).
Ralf Jung [Thu, 30 Jul 2020 16:31:40 +0000 (18:31 +0200)]
remove upstreamed intrinsic impls
Ralf Jung [Thu, 30 Jul 2020 16:31:19 +0000 (18:31 +0200)]
rustup
bors [Wed, 29 Jul 2020 16:24:43 +0000 (16:24 +0000)]
Auto merge of #1491 - RalfJung:xargo-check, r=RalfJung
only check-build the dummy xargo project
No reason to actually emit any object code.
This helps with some strange ICEs when testing Miri in the rustc workspace.
Ralf Jung [Wed, 29 Jul 2020 16:21:32 +0000 (18:21 +0200)]
only check-build the dummy xargo project
bors [Wed, 29 Jul 2020 12:27:45 +0000 (12:27 +0000)]
Auto merge of #1490 - RalfJung:rustup, r=RalfJung
rustup for new folder layout
Fixes the fallout from https://github.com/rust-lang/rust/pull/73265.
Blocked on a xargo release with https://github.com/japaric/xargo/pull/301.
Ralf Jung [Tue, 28 Jul 2020 12:00:33 +0000 (14:00 +0200)]
rustup for new folder layout
bors [Mon, 27 Jul 2020 22:00:15 +0000 (22:00 +0000)]
Auto merge of #1489 - RalfJung:tls-alloc-ids, r=oli-obk
Adjust for new rustc alloc ID handling and deallocate thread-local statics
Miri side of https://github.com/rust-lang/rust/pull/74775.
Fixes https://github.com/rust-lang/miri/issues/1369
Fixes https://github.com/rust-lang/miri/issues/1488
Ralf Jung [Mon, 27 Jul 2020 21:40:27 +0000 (23:40 +0200)]
rustup and test fixes
Ralf Jung [Mon, 27 Jul 2020 12:10:31 +0000 (14:10 +0200)]
Typos
Co-authored-by: Oliver Scherer <github35764891676564198441@oli-obk.de>
Ralf Jung [Mon, 27 Jul 2020 11:10:11 +0000 (13:10 +0200)]
fix diagnostics printing when triggered during TLS dtor scheduling
Ralf Jung [Mon, 27 Jul 2020 10:53:39 +0000 (12:53 +0200)]
deallocate thread-local statics when the thread dies
Ralf Jung [Sun, 26 Jul 2020 13:53:02 +0000 (15:53 +0200)]
fix and test order of TLS dtors and thread joining
Ralf Jung [Sun, 26 Jul 2020 13:55:15 +0000 (15:55 +0200)]
test referencing unsupported extern static
Ralf Jung [Sun, 26 Jul 2020 10:11:27 +0000 (12:11 +0200)]
get_or_create_thread_local_alloc_id: share code with Memory::get_global_alloc
Ralf Jung [Sun, 26 Jul 2020 09:15:01 +0000 (11:15 +0200)]
adjust to canonical_alloc_id removal
bors [Mon, 27 Jul 2020 21:31:51 +0000 (21:31 +0000)]
Auto merge of #1487 - pnadon:miri-rename-undef-uninit, r=RalfJung
Miri rename undef uninit
The changes made here are related to [issue #71193 on Rust](https://github.com/rust-lang/rust/issues/71193), and the pull request [74664 on Rust](https://github.com/rust-lang/rust/pull/74664).
1. renamed `ScalarMaybeUninit::not_undef` to `check_init`
2. renamed `Immediate::to_scalar_or_undef` to `Immediate::to_scalar_or_uninit`
Philippe Nadon [Mon, 27 Jul 2020 19:07:25 +0000 (13:07 -0600)]
Changed not_undef to check_init in foreign_items.rs
Due to changes from upstream, a commit using not_undef was inserted, which had to be updated to use check_init.
related issue #71193
Phil Nadon [Sun, 26 Jul 2020 13:54:24 +0000 (07:54 -0600)]
Updated Rust version to latest master
Updated Rust version since the latest version contains changes which allow this version of Miri to build.
Philippe Nadon [Thu, 23 Jul 2020 16:28:00 +0000 (10:28 -0600)]
renamed Immediate::to_scalar_or_undef
to Immediate::to_scalar_or_uninit
in src/shims/intrinsics.rs
related issue #71193
Philippe Nadon [Thu, 23 Jul 2020 15:50:45 +0000 (09:50 -0600)]
renamed ScalarMaybeUninit::not_undef to check_init
Related to PR https://github.com/rust-lang/rust/pull/74664
bors [Sat, 25 Jul 2020 08:02:54 +0000 (08:02 +0000)]
Auto merge of #1485 - RalfJung:miri-extern-fn, r=oli-obk
Miri: use extern fn to expose interpreter operations to program; fix leak checker on Windows
This is the Miri side of https://github.com/rust-lang/rust/pull/74681.
Fixes https://github.com/rust-lang/miri/issues/1302
Fixes https://github.com/rust-lang/miri/issues/1318
Ralf Jung [Sat, 25 Jul 2020 08:02:25 +0000 (10:02 +0200)]
update rust-version
Ralf Jung [Thu, 23 Jul 2020 15:14:25 +0000 (17:14 +0200)]
document Miri extern functions
Ralf Jung [Thu, 23 Jul 2020 13:49:22 +0000 (15:49 +0200)]
enable leak check tests on Windows
Ralf Jung [Thu, 23 Jul 2020 13:47:33 +0000 (15:47 +0200)]
add a Miri extern fn to mark an allocation as being a static root for leak checking
Ralf Jung [Thu, 23 Jul 2020 13:20:36 +0000 (15:20 +0200)]
make miri_start_panic intrinsic an FFI function
bors [Thu, 23 Jul 2020 09:14:08 +0000 (09:14 +0000)]
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
bors [Thu, 23 Jul 2020 08:41:34 +0000 (08:41 +0000)]
Auto merge of #1484 - RalfJung:rustup, r=RalfJung
rustup
Following https://github.com/rust-lang/rust/pull/69749 I added some `ty::ParamEnv::reveal_all()` even though @eddyb advised me in the past to avoid those.
Ralf Jung [Thu, 23 Jul 2020 08:40:13 +0000 (10:40 +0200)]
rustup
bors [Sat, 18 Jul 2020 15:59:19 +0000 (15:59 +0000)]
Auto merge of #1483 - RalfJung:fs-errno, r=RalfJung
set errno on stdout write failure
Ralf Jung [Sat, 18 Jul 2020 15:58:16 +0000 (17:58 +0200)]
set errno on stdout write failure
bors [Sat, 18 Jul 2020 14:56:38 +0000 (14:56 +0000)]
Auto merge of #1436 - samrat:support-stdin-read, r=RalfJung
Handle `read`s on STDIN
Closes #1434
Nazım Can Altınova [Sat, 18 Jul 2020 10:48:26 +0000 (12:48 +0200)]
Remove unreachable intrinsic
Samrat Man Singh [Sat, 18 Jul 2020 05:15:06 +0000 (10:45 +0530)]
Remove unnecessary cast
Samrat Man Singh [Thu, 16 Jul 2020 18:33:56 +0000 (00:03 +0530)]
Ensure buffer for reading from Stdin is smaller than machine usize
Also, set appropriate error code on failure
bors [Fri, 17 Jul 2020 11:40:40 +0000 (11:40 +0000)]
Auto merge of #1480 - RalfJung:diagnostic-stacktrace-fix, r=oli-obk
fix non-fatal diagnostics stacktraces
Our non-fatal diagnostics are printed *after* completing the step that triggered them, which means the span and stacktrace used for them is that of the *next* MIR statement being executed. That's quite bad, obviously, as pointing to where in the source something happens is their entire point.
Here's an example:
```rust
use std::ptr;
static mut PTR: *mut u8 = ptr::null_mut();
fn get_ptr() -> *const u8 { unsafe { PTR }}
fn cause_ub() { unsafe {
let _x = &*get_ptr();
} }
fn main() { unsafe {
let mut l = 0;
PTR = &mut l;
let r = &mut *PTR;
cause_ub();
let _x = *r;
} }
```
This example is UB; if you track the pointer tag that is given in the final error, it points to the entire body of `cause_ub` as a span, instead of the `&*get_ptr();`.
I am not sure what the best way is to fix this. The cleanest way would be to capture a stack trace before the step and use it in case of a diagnostic, but that seems silly perf-wise. So instead I went with reconstructing the old stacktrace by going back one step in the MIR. This is however not possible if we were executing a `Terminator`... I think those cannot cause diagnostics but still, this is not great.
Any ideas?
r? @oli-obk
Ralf Jung [Fri, 17 Jul 2020 11:39:25 +0000 (13:39 +0200)]
fix typo
Co-authored-by: Oliver Scherer <github35764891676564198441@oli-obk.de>
Ralf Jung [Fri, 17 Jul 2020 10:54:38 +0000 (12:54 +0200)]
fix non-fatal diagnostics stacktraces
bors [Thu, 16 Jul 2020 10:17:23 +0000 (10:17 +0000)]
Auto merge of #1479 - RalfJung:fs-nocast, r=RalfJung
fs: remove an unnecessary intermediate cast
Ralf Jung [Thu, 16 Jul 2020 10:16:43 +0000 (12:16 +0200)]
remove an unnecessary intermediate cast
bors [Wed, 15 Jul 2020 08:10:02 +0000 (08:10 +0000)]
Auto merge of #1478 - RalfJung:readme, r=RalfJung
make cfg(miri) greppable
Ralf Jung [Wed, 15 Jul 2020 08:09:28 +0000 (10:09 +0200)]
make cfg(miri) greppable
bors [Wed, 15 Jul 2020 06:43:14 +0000 (06:43 +0000)]
Auto merge of #1477 - RalfJung:rustup, r=RalfJung
rustup; fix Windows TLS
Ralf Jung [Wed, 15 Jul 2020 06:42:15 +0000 (08:42 +0200)]
rustup; fix Windows TLS
Samrat Man Singh [Sun, 12 Jul 2020 14:57:19 +0000 (20:27 +0530)]
Read into buffer of fixed size for `read`s to STDIN
Also:
- Check isolation is disabled.
- Add FIXMEs to set error numbers in `read` and `write`.
bors [Sat, 11 Jul 2020 18:57:28 +0000 (18:57 +0000)]
Auto merge of #1475 - RalfJung:dangcast, r=RalfJung
test casting a dangling ptr back from an int
Ralf Jung [Sat, 11 Jul 2020 18:56:47 +0000 (20:56 +0200)]
test casting a dangling ptr back from an int
bors [Sat, 11 Jul 2020 09:08:03 +0000 (09:08 +0000)]
Auto merge of #1474 - RalfJung:canonical, r=RalfJung
go back to using canonicalize()
Newer xargo should hopefully work with the paths this produces on Windows.
Ralf Jung [Sat, 11 Jul 2020 09:07:17 +0000 (11:07 +0200)]
go back to using canonicalize()
Samrat Man Singh [Thu, 28 May 2020 05:54:47 +0000 (11:24 +0530)]
Handle `read`s on STDIN
bors [Thu, 9 Jul 2020 15:35:28 +0000 (15:35 +0000)]
Auto merge of #1473 - Stupremee:no-ice-if-no-main-fn, r=oli-obk
Early exit if program doesn't contain a main function
Resolves #1452
Justus K [Thu, 9 Jul 2020 15:21:09 +0000 (17:21 +0200)]
Move no_main test to compile-fail
Justus K [Thu, 9 Jul 2020 12:08:45 +0000 (14:08 +0200)]
Add ui test for early exiting if no main
Justus K [Thu, 9 Jul 2020 11:16:38 +0000 (13:16 +0200)]
Early exit if program doesn't contain a main fn
bors [Thu, 9 Jul 2020 11:03:15 +0000 (11:03 +0000)]
Auto merge of #1472 - RalfJung:abs, r=RalfJung
better way to get an absolute path
suggested by @matklad
Ralf Jung [Thu, 9 Jul 2020 11:02:42 +0000 (13:02 +0200)]
Cleanup code
Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
Ralf Jung [Thu, 9 Jul 2020 10:45:35 +0000 (12:45 +0200)]
better way to get an absolute path
bors [Thu, 9 Jul 2020 07:00:39 +0000 (07:00 +0000)]
Auto merge of #1471 - RalfJung:win, r=RalfJung
on Windows, strip the '\\?\' prefix from the canonical path
This should help with https://github.com/rust-lang/rust/pull/74146#issuecomment-
655723028
Ralf Jung [Thu, 9 Jul 2020 06:59:28 +0000 (08:59 +0200)]
on Windows, strip the '\\?\' prefix from the canonical path
bors [Wed, 8 Jul 2020 10:02:13 +0000 (10:02 +0000)]
Auto merge of #1470 - RalfJung:machine-tracking, r=RalfJung
we cannot track all machine memory any more due to int-ptr-casts
Fixes a regression introduced by https://github.com/rust-lang/rust/pull/74006
Ralf Jung [Wed, 8 Jul 2020 09:05:22 +0000 (11:05 +0200)]
we cannot track all machine memory any more due to int-ptr-casts
bors [Tue, 7 Jul 2020 20:59:17 +0000 (20:59 +0000)]
Auto merge of #1468 - RalfJung:uninit-validation, r=RalfJung
Test uninit memory validation
This adds the tests for https://github.com/rust-lang/rust/pull/74059.
Ralf Jung [Tue, 7 Jul 2020 20:57:58 +0000 (22:57 +0200)]
rustup
Ralf Jung [Sun, 5 Jul 2020 11:43:20 +0000 (13:43 +0200)]
adjust error messages
Ralf Jung [Sun, 5 Jul 2020 10:53:00 +0000 (12:53 +0200)]
test validation of uninit memory (used to ICE)
bors [Sun, 5 Jul 2020 18:01:56 +0000 (18:01 +0000)]
Auto merge of #1469 - RalfJung:relative, r=RalfJung
support relative XARGO_RUST_SRC
Ralf Jung [Sun, 5 Jul 2020 18:01:12 +0000 (20:01 +0200)]
support relative XARGO_RUST_SRC
bors [Fri, 3 Jul 2020 09:20:07 +0000 (09:20 +0000)]
Auto merge of #1466 - RalfJung:target, r=RalfJung
set --target when building miri
This helps cargo tell apart `./miri` builds and `cargo check` (e.g. through rust-analyzer).
See https://github.com/rust-lang/cargo/issues/8440.
Ralf Jung [Fri, 3 Jul 2020 09:18:44 +0000 (11:18 +0200)]
set --target when building miri
This helps cargo tell apart `./miri` builds and `cargo check` (e.g. through rust-analyzer).
See https://github.com/rust-lang/cargo/issues/8440.
bors [Fri, 3 Jul 2020 06:06:37 +0000 (06:06 +0000)]
Auto merge of #1465 - nbdd0121:patch-1, r=RalfJung
Remove likely and unlikely from intrinsics shim
They are now implemented in MIR interpreter by rust-lang/rust#73778
Gary Guo [Thu, 2 Jul 2020 19:00:27 +0000 (20:00 +0100)]
Remove likely and unlikely from intrinsics shim
They are now implemented in MIR interpreter by rust-lang/rust#73778
bors [Thu, 2 Jul 2020 12:52:33 +0000 (12:52 +0000)]
Auto merge of #1463 - RalfJung:track-call-id, r=oli-obk
add option to track call IDs
bors [Thu, 2 Jul 2020 08:48:45 +0000 (08:48 +0000)]
Auto merge of #1464 - RalfJung:rustup, r=RalfJung
rustup
Ralf Jung [Thu, 2 Jul 2020 08:37:29 +0000 (10:37 +0200)]
rustup
Ralf Jung [Thu, 2 Jul 2020 07:50:52 +0000 (09:50 +0200)]
add option to track call IDs
bors [Sun, 28 Jun 2020 18:41:17 +0000 (18:41 +0000)]
Auto merge of #1462 - RalfJung:ignore-windows, r=RalfJung
fix some ignore-windows comments
and make that more consistent
Ralf Jung [Sun, 28 Jun 2020 09:31:34 +0000 (11:31 +0200)]
fix some ignore-windows comments
bors [Sun, 28 Jun 2020 10:59:34 +0000 (10:59 +0000)]
Auto merge of #1461 - RalfJung:rwlock-win, r=oli-obk
Implement rwlocks on Windows
Fixes https://github.com/rust-lang/miri/issues/1059
Ralf Jung [Sun, 28 Jun 2020 07:47:20 +0000 (09:47 +0200)]
move rwlock dequeuing to shared code, and use that code for Windows rwlocks
Ralf Jung [Sun, 28 Jun 2020 07:23:01 +0000 (09:23 +0200)]
Move get/set_at_offset helpers to global helpers file
Ralf Jung [Sat, 27 Jun 2020 12:43:37 +0000 (14:43 +0200)]
with this, we support panics on Windows