Commit Graph

3694 Commits

Author SHA1 Message Date
Christian Poveda a40a99d849 avoid double negation 2019-12-30 17:26:17 -05:00
bors 9f79aa9bb4 Auto merge of #1131 - JOE1994:alloc_os_str_as_c_str, r=RalfJung
Add helper 'alloc_os_str_as_c_str' and use it in env_var emulation

First part of the plan laid out in #707 (comment).

Re-submitting a pull-request for work from  #1098 (manual rebasing..)

r? @RalfJung
2019-12-30 19:15:53 +00:00
Christian Poveda ce4e1f9fe7 add comments 2019-12-29 22:51:48 -05:00
bors 3fe92f8737 Auto merge of #1133 - RalfJung:compile-fail-opt, r=RalfJung
compile-fail tests work with optimizations now
2019-12-29 11:39:31 +00:00
Ralf Jung e952e37a39 compile-fail tests work with optimizations now 2019-12-29 12:38:40 +01:00
bors 16f5d20ab0 Auto merge of #1132 - christianpoveda:use_scalar_to_u16, r=RalfJung
Use Scalar::to_u16

https://github.com/rust-lang/rust/pull/67604#issuecomment-569413675 r? @RalfJung
2019-12-28 14:14:43 +00:00
Christian Poveda c60ab94d20 bump rustc version 2019-12-28 09:09:42 -05:00
Christian Poveda b7e6135d7b Use Scalar::to_u16 2019-12-28 08:38:31 -05:00
JOE1994 a4bd68a45f Add helper 'alloc_os_str_as_c_str' and use it in env_var emulation 2019-12-27 20:32:20 -05:00
bors 34d8ec896d Auto merge of #1114 - rust-lang:to_ptr_considered_harmful, r=oli-obk
Remove all uses of `to_ptr`

Also only works on top of https://github.com/rust-lang/rust/pull/67192
2019-12-27 13:50:31 +00:00
Christian Poveda f00fd3990b avoid excluding TERM env var 2019-12-27 08:37:52 -05:00
Christian Poveda dc4b8ac2e6 close file silently if the file is read only 2019-12-27 08:34:35 -05:00
Oliver Scherer 4aef81eb85 Remove to_ptr uses 2019-12-27 14:26:05 +01:00
bors 0f1dec05dd Auto merge of #1129 - christianpoveda:stat64-shim, r=RalfJung
add stat shim for macos

Here we go. I'm apologizing in advice for the constant torture that Travis will suffer.
2019-12-27 08:41:03 +00:00
Christian Poveda c8190e8de7 rename metadata struct 2019-12-26 19:31:59 -05:00
Christian Poveda 2151e958ce minor fixes and updated docs 2019-12-26 12:12:27 -05:00
Christian Poveda bbbb50a09a set mask for statx correctly 2019-12-25 22:24:18 -05:00
Christian Poveda 1bc3629084 do padding correctly 2019-12-25 18:22:33 -05:00
Christian Poveda d176259002 deduplicate shared code between stat and statx 2019-12-25 18:17:20 -05:00
Christian Poveda 515c119359 Add padding on 64-bits only 2019-12-25 13:10:50 -05:00
Christian Poveda 6d88a4704a restrict stat shim to macos only 2019-12-25 12:38:35 -05:00
Christian Poveda 75f7a118e6 remove restrictions due to stat unavailability 2019-12-25 12:38:34 -05:00
Christian Poveda dbc118919a add padding to immediates 2019-12-25 11:08:27 -05:00
Christian Poveda 0184e10f2f fix size for file mode 2019-12-25 08:27:50 -05:00
Christian Poveda b2c4ff2aee add remanining fields to stat stuct 2019-12-25 08:27:50 -05:00
Christian Poveda 6177e6df7e provide correct name for shim 2019-12-25 08:27:50 -05:00
Christian Poveda d9ecd77ada add dummy stat shim 2019-12-25 08:27:49 -05:00
bors aafb7c931d Auto merge of #1128 - RalfJung:cleanup, r=RalfJung
use new try_from methods

and a bit of other cleanup
2019-12-24 10:48:05 +00:00
Ralf Jung cd12f47af6 make bytes conversion functions private inside read/write functions 2019-12-24 11:46:02 +01:00
Ralf Jung 2db6a3c04d use new try_from methods 2019-12-24 11:43:42 +01:00
bors b1e97df8ee Auto merge of #1121 - rust-lang:rustup, r=RalfJung
Rustup to rustc 1.42.0-nightly (005cf38f7 2019-12-22)
2019-12-23 22:03:15 +00:00
Oliver Scherer bac261573f Rustup to rustc 1.42.0-nightly (005cf38f7 2019-12-22) 2019-12-23 23:02:36 +01:00
bors 02bba3f531 Auto merge of #1124 - RalfJung:sysroot-check, r=oli-obk
disable sysroot checks for distributed binaries

This should help with https://github.com/mozilla/nixpkgs-mozilla/issues/198.
2019-12-23 17:14:48 +00:00
bors 2a08c63631 Auto merge of #1125 - RalfJung:main-result, r=oli-obk
support main functions with Result return type

Turns out we already properly create the substitution to call the libstd start-fn with an appropriate `main`, we just had an overzealous check in the way.

Fixes https://github.com/rust-lang/miri/issues/1116.
2019-12-23 16:51:55 +00:00
Ralf Jung e325ad24f2 support main functions with Result return type 2019-12-23 17:45:23 +01:00
bors 20e843f202 Auto merge of #1118 - rust-lang:stacked_borrow_tracing, r=oli-obk
Run rustfmt

This is `cargo +nightly fmt --all` with `rustc 1.41.0-nightly (c8ea4ace9 2019-12-14)`
2019-12-23 11:56:51 +00:00
Oliver Scherer 7ead530841 Rustfmt all the things 2019-12-23 12:56:23 +01:00
Ralf Jung bc715cb646 disable sysroot checks for distributed binaries 2019-12-22 18:13:13 +01:00
bors a3ea1cb458 Auto merge of #1101 - christianpoveda:stat-shim, r=RalfJung
Add statx shim for linux target

This is an attempt to fix: https://github.com/rust-lang/miri/issues/999 (for linux only)

Currently there is one problem that I haven't been able to solve. `std::fs::metadata` fails because the creation time is not available even though it is provided in the shim code.

In order to inform the caller that the field was provided, the `stx_flag` field must have the bits of `STATX_BTIME` set (which they are). The creation time is in the `stx_btime` field of the `statx` struct (see [1]). The relevant code in `libstd` is here (probably?): https://github.com/rust-lang/rust/blob/master/src/libstd/sys/unix/fs.rs#L322

Another important point is that we are just providing the fields that are available in "all" platforms (this is, without using any platform specific traits or so). This can be improved later.

References:
[1] Man page: http://man7.org/linux/man-pages/man2/statx.2.html
[2] libc `statx` struct: https://docs.rs/libc/0.2.63/libc/struct.statx.html

Edit: The problem is that my filesystem is not providing it and I thought all filesystems could provide it. I changed the code so it only provides those dates if they are available. now we are ready to go.

r? @RalfJung @oli-obk
2019-12-22 17:01:53 +00:00
Christian Poveda b0c7625dd1 add statx shim for linux 2019-12-22 11:46:02 -05:00
bors a7809bfb0e Auto merge of #1117 - rust-lang:rustup, r=RalfJung
Rustup to rustc 1.42.0-nightly (9ff30a781 2019-12-21)
2019-12-21 11:26:07 +00:00
Oliver Scherer d9859c83fc Rustup to rustc 1.42.0-nightly (9ff30a781 2019-12-21) 2019-12-21 11:45:09 +01:00
bors 6c75a95a7f Auto merge of #1115 - RalfJung:rustup, r=RalfJung
the never type got de-stabilized again; adjust tests
2019-12-15 11:24:36 +00:00
Ralf Jung 74ef63ff0a the never type got de-stabilized again; adjust tests 2019-12-15 12:23:43 +01:00
bors 60c75092de Auto merge of #1113 - RalfJung:vtable, r=RalfJung
add test for sketchy vtable

Blocked on https://github.com/rust-lang/rust/pull/67254
2019-12-14 11:06:24 +00:00
Ralf Jung bbd512d52f bump Rust 2019-12-14 12:06:01 +01:00
Ralf Jung f0d43872ad add test for sketchy vtable 2019-12-13 13:19:48 +01:00
bors f94bc7124c Auto merge of #1080 - rust-lang:stacked_borrow_tracing, r=RalfJung
Add a scheme to find the place where an id was destroyed

cc https://github.com/rust-lang/miri/issues/974

I'm not too happy with it, but since stacked borrows don't have access to the current call stack, I can't just report a warning as per https://github.com/rust-lang/miri/issues/797

We could add some global mutex that we can throw strings at and `step` will clear out that mutex and report warnings before moving the `statement_id` or the `block_id`, not sure how well that would work. For now I think this is sufficient
2019-12-10 13:47:44 +00:00
Oliver Scherer 8d409a7b59 Update README.md
Co-Authored-By: Ralf Jung <post@ralfj.de>
2019-12-10 14:47:28 +01:00
Oliver Scherer 817f4159a2 Use the machine stop error instead of abusing other error kinds 2019-12-09 14:29:28 +01:00