Commit Graph

4812 Commits

Author SHA1 Message Date
Ralf Jung
b7fec6b17f use ptr_null where appropriate 2020-03-28 17:38:38 +01:00
Ralf Jung
fbbca59de7 avoid Scalar::from_(u)int in favor of giving the size explicitly 2020-03-28 17:35:40 +01:00
bors
ad14b684cc Auto merge of #1275 - JOE1994:move_string_helpers, r=RalfJung
move OsStr helpers to a separate file

Moved OsStr read/write functions from `src/helpers.rs` to `src/shims/os_str.rs`, in order to keep `src/helpers.rs` from bloating too much.
2020-03-28 15:32:16 +00:00
JOE1994
4a70ebc1f3 visually separate conditional imports in 'os_str.rs' 2020-03-28 11:20:16 -04:00
bors
3d3e2b65b9 Auto merge of #1274 - RalfJung:float-cast, r=RalfJung
fix float test comments and test a few more int->float casts
2020-03-28 14:47:42 +00:00
Ralf Jung
4e471f745f fix float test comments and test a few more int->float casts 2020-03-28 15:47:00 +01:00
JOE1994
99600ba7a9 move OsStr helpers to a separate file 2020-03-28 10:43:47 -04:00
bors
fc30266540 Auto merge of #1265 - RalfJung:float-cast, r=RalfJung
test floating point casting better
2020-03-28 14:19:29 +00:00
bors
c89076b43c Auto merge of #1273 - RalfJung:environ-cleanup, r=RalfJung
we don't deallocate the environ global, so leave it in the machine

Follow-up to https://github.com/rust-lang/miri/pull/1271. I forgot to adjust this when my plans changed a bit.
2020-03-28 13:33:57 +00:00
Ralf Jung
a6cab24dc0 we don't deallocate the environ global, so leave it in the machine 2020-03-28 14:32:50 +01:00
bors
f0afdc35d2 Auto merge of #1263 - RalfJung:shims-limit, r=RalfJung
Limit shims to libstd where possible

Also organize them better by category.
Fixes https://github.com/rust-lang/miri/issues/1181 (by making mmap not callable from user code)
2020-03-28 10:35:11 +00:00
Ralf Jung
6ab82f5d35 posix_fadvise is Linux-only; also validate arguments a bit 2020-03-28 11:33:56 +01:00
Ralf Jung
9e39bfbbd9 organize shims and make some only available to libstd as they are incomplete 2020-03-28 11:15:11 +01:00
bors
b67dbca5d0 Auto merge of #1271 - RalfJung:env-clean, r=RalfJung
env shim: make sure we clean up all the memory we allocate

`Machine` memory is not leak-checked, so if we forgot to deallocate part of the env shim memory, we wouldn't even notice. Thus add a dedicated memory kind that is leak-checked.
2020-03-28 10:09:11 +00:00
Ralf Jung
204c13b8c7 env shim: make sure we clean up all the memory we allocate 2020-03-28 11:06:56 +01:00
bors
f274111113 Auto merge of #1269 - RalfJung:windows-dtor, r=RalfJung
run Windows TLS dtor function

Mostly fixes https://github.com/rust-lang/miri/issues/442
2020-03-28 09:41:25 +00:00
Ralf Jung
876bded2e8 run Windows TLS dtor function 2020-03-28 10:39:29 +01:00
Ralf Jung
f751688396 miri build script: use incremental builds 2020-03-28 10:29:17 +01:00
Ralf Jung
02897e03cf cleanup tcx usage and a few comments 2020-03-28 09:50:24 +01:00
Ralf Jung
b8a817fc03 avoid promotion so this can be compared with rustc 2020-03-28 09:20:07 +01:00
Ralf Jung
032d9aa7d5 also do some float-to-float cast testing 2020-03-28 09:10:34 +01:00
bors
f4308a0728 Auto merge of #1267 - RalfJung:macos-dtors, r=RalfJung
implement TLS cleanup for macOS

Now that I can run macOS interpretation locally, this was not that hard to fix. ;)
Fixes https://github.com/rust-lang/miri/issues/443
2020-03-28 07:55:42 +00:00
bors
01bc08a372 Auto merge of #1225 - JOE1994:rw_widestr, r=RalfJung
Add shims for env var emulation in Windows

This PR attempts to implement the final step of the instructions laid out in https://github.com/rust-lang/miri/issues/707#issuecomment-561564057 , and is yet a work in progress.

### STATUS
- [x] Add general **_target_** methods for **read_str/alloc_str** that dispatch to either **c_str** or **wide_str** variants
(**helpers.rs**)
- [x] Implement shims `fn getenvironmentvariablew`/`fn setenvironmentvariablew`
(`std::env::var()`, `std::env::set_var()`)
- [x] Implement shim `GetEnvironmentStringsW` (`std::env::vars()`)
- [x] Implement shim `FreeEnvironmentStringsW`

### ISSUES (updated on 03/21/2020)
- MIRI errors while running `std::env::remove_var()` in Windows.
    MIRI complaining about raw pointer usage in
Rust standard library [*src/libstd/sys/windows/os.rs*](https://github.com/rust-lang/miri/pull/1225#issuecomment-602100146).

### TODO (probably on a separate PR)
  - Move string helpers into a new file to avoid bloating **src/helpers.rs** too much. (**shims/os_str.rs**)
2020-03-27 19:38:41 +00:00
Ralf Jung
579b3c49da
adjust MemoryKind comment 2020-03-27 20:36:18 +01:00
Ralf Jung
c5ef8a656f enable leak tests on macOS 2020-03-27 19:39:35 +01:00
Ralf Jung
da5f2f305b implement TLS cleanup for macOS 2020-03-27 19:39:00 +01:00
JOE1994
ea836eeb0d remove or update 'ignore-windows' annotations in some tests 2020-03-27 14:18:19 -04:00
Youngsuk Kim
3fe71dff5a
Modify reference to issue 1013
Co-Authored-By: Ralf Jung <post@ralfj.de>
2020-03-27 10:15:35 -04:00
JOE1994
eaca17fcc3 add reference to issue#1013 2020-03-27 09:59:42 -04:00
JOE1994
f3e3af4bee adjust to change of 'fn write_os_str_to_wide_str' 2020-03-27 09:18:13 -04:00
JOE1994
4e38fbe6be follow-up2 to review (few issues not resolved yet) 2020-03-27 08:43:50 -04:00
JOE1994
2051805e95 follow-up to reviews 2020-03-27 08:43:50 -04:00
JOE1994
cf5822af46 exclude 'TERM' env_var to avoid terminfo trying to open the termcap file 2020-03-27 08:43:08 -04:00
JOE1994
2fa07009f2 Windows shims for env var emulation
Shims for GetEnvironmentVariableW / SetEnvironmentVariableW /
GetEnvironmentStringsW.
Passes test 'tests/run-pass/env.rs'
2020-03-27 08:43:08 -04:00
bors
e2a9c7baed Auto merge of #1266 - JOE1994:write_os_str_to_wide_str, r=RalfJung
Change helper fn 'write_os_str_to_wide_str'

Helper fn `write_os_str_to_wide_str` now works on `Scalar<Tag>`, just like other **read/write os_str** helper functions.

The 2nd commit contains some changes made to `src/shims/env.rs` in PR #1225, in order to keep it from bloating too much.
2020-03-27 11:35:25 +00:00
Ralf Jung
07f7083409
env: more precise error 2020-03-27 12:35:08 +01:00
JOE1994
813d76d948 follow-up to reviews 2020-03-27 07:07:21 -04:00
JOE1994
160ebaa364 add OS-specific handling to src/shims/env.rs 2020-03-27 00:10:45 -04:00
JOE1994
fc8f88e04e change helper fn 'write_os_str_to_wide_str' 2020-03-27 00:08:27 -04:00
Ralf Jung
a97ce8d94b test floating point casting better 2020-03-26 19:25:51 +01:00
bors
0d0a457c8b Auto merge of #1262 - RalfJung:rustup, r=RalfJung
rustup; get rid of some try_from that are no longer needed
2020-03-25 23:12:38 +00:00
Ralf Jung
81d505670b rustup; get rid of some try_from that are no longer needed 2020-03-26 00:11:50 +01:00
bors
c6e8838b89 Auto merge of #1261 - RalfJung:cross-gnu, r=RalfJung
cross-running windows-gnu should now also work

Fixes https://github.com/rust-lang/miri/issues/1198
2020-03-25 11:11:41 +00:00
Ralf Jung
8ffbca797f bump xargo version 2020-03-25 12:11:05 +01:00
Ralf Jung
e19552ba41 cross-running windows-gnu should now also work 2020-03-25 11:44:11 +01:00
bors
a84d8a8b98 Auto merge of #1260 - RalfJung:unreachable, r=RalfJung
Implement unreachable intrinsic

Fixes https://github.com/rust-lang/miri/issues/1254
2020-03-25 08:33:44 +00:00
Ralf Jung
962e2105df remove an unnecessary as_str 2020-03-25 09:32:15 +01:00
Ralf Jung
47b91e619a test unreachable intrinsic 2020-03-25 09:32:15 +01:00
bors
5d8229e4f4 Auto merge of #1259 - RalfJung:rustup, r=RalfJung
rustup, adjust for renames
2020-03-25 08:10:28 +00:00
Ralf Jung
9b0e9dec49 rustup, adjust for renames 2020-03-25 09:05:30 +01:00