Commit Graph

5853 Commits

Author SHA1 Message Date
est31
1ae157bc9e Replace target.target with target
Rustc removed the target wrapper and exposed the target directly.

Result of running:

find . -type f -exec sed -i -e 's/target\.target\([)\.,;]\)/target\1/g' {} \;

Plus one manual edit of the rust-version file
2020-10-15 21:18:23 +02:00
bors
8beccc4bef Auto merge of #1581 - RalfJung:readme, r=RalfJung
README: make our cross-interpretation feature stand out more

This is a great feature, let's hope more people notice it :)
2020-10-11 22:56:39 +00:00
bors
73d5c42076 Auto merge of #1580 - Aaron1011:feature/backtrace-fn-ptr, r=RalfJung
Add an `fn_ptr` field to `MiriFrame`

The `backtrace-rs` crate can use this to implement
`Frame::symbol_address`, which is used to skip frames
above the call to `Backtrace::capture` on the stack.

The function pointer will not be useable for comparison purposes if the
function is generic, as CTFE creates a new function pointer for each
cast of a (monomorphized) generic function. However, this already
affects code running under Miri, and isn't a problem for `backtrace-rs`
(which only casts a non-generic function).

I've added logic to allow `MiriFrame` to have either 4 or 5 fields - if
a 5th field is present, we write the function pointer to it.
2020-10-11 22:34:57 +00:00
Ralf Jung
3bdf2bccae
Improve wording
Co-authored-by: Aaron Hill <aa1ronham@gmail.com>
2020-10-12 00:15:01 +02:00
bors
c467345bb0 Auto merge of #1571 - lzutao:actions, r=RalfJung
Adding a working github actions template

Complete adding github actions whose dummy template added in #1563 .

But it will need https://github.com/rust-lang/rust-central-station/pull/939 merged first
to be able to gate bors on Actions CI checks.
2020-10-11 22:07:25 +00:00
Aaron Hill
c889eba4b2
Add comment about deprecation 2020-10-11 17:57:49 -04:00
bors
098bc8b71a Auto merge of #1582 - Aaron1011:rustup-run-compiler, r=RalfJung
Rustup

This gets Miri building again after the `run_compiler` changes
2020-10-11 21:45:09 +00:00
Aaron Hill
0893ea1973
Rustup
This gets Miri building again after the `run_compiler` changes
2020-10-11 17:31:52 -04:00
Aaron Hill
6a6767fa2a
Apply suggestions from code review
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-10-11 13:40:00 -04:00
Lzu Tao
6acde94931 Add a working github actions template 2020-10-11 18:32:12 +07:00
Ralf Jung
71e0e59b63 README: make our cross-interpretation feature stand out more 2020-10-11 10:49:59 +02:00
Aaron Hill
be51e6bd07
Add an fn_ptr field to MiriFrame
The `backtrace-rs` crate can use this to implement
`Frame::symbol_address`, which is used to skip frames
above the call to `Backtrace::capture` on the stack.

The function pointer will not be useable for comparison purposes if the
function is generic, as CTFE creates a new function pointer for each
cast of a (monomorphized) generic function. However, this already
affects code running under Miri, and isn't a problem for `backtrace-rs`
(which only casts a non-generic function).

I've added logic to allow `MiriFrame` to have either 4 or 5 fields - if
a 5th field is present, we write the function pointer to it.
2020-10-10 13:07:57 -04:00
bors
9d4c80e787 Auto merge of #1579 - lygstate:patch-1, r=RalfJung
Update README.md

 Note however that
[leak checking is currently disabled on Windows targets](https://github.com/rust-lang/miri/issues/1302).

Windows issue are fixed
2020-10-09 07:23:21 +00:00
Yonggang Luo
e6665109e0
Update README.md
Note however that
[leak checking is currently disabled on Windows targets](https://github.com/rust-lang/miri/issues/1302).

Windows issue are fixed
2020-10-09 13:16:03 +08:00
bors
8ed7face91 Auto merge of #1577 - RalfJung:rlib, r=RalfJung
fix for rlib/cdylib crates in dependency tree

Fixes https://github.com/rust-lang/miri/issues/1567

Unfortunately, I found no nice way to test for this.
2020-10-07 17:44:57 +00:00
Ralf Jung
5058ec18f1 fix for rlib/cdylib crates in dependency tree 2020-10-07 19:42:33 +02:00
bors
7448e79dd2 Auto merge of #1550 - RalfJung:vecdeque, r=RalfJung
test VecDeque::iter_mut aliasing

Blocked on https://github.com/rust-lang/rust/pull/76911
2020-10-07 07:05:52 +00:00
Ralf Jung
63a0f04ed0 rustup; bring back mir-opt-level 3 2020-10-07 09:05:18 +02:00
Ralf Jung
3e655665b7 test VecDeque::iter_mut aliasing 2020-10-07 09:00:55 +02:00
bors
6a342a6ecb Auto merge of #1575 - Aaron1011:fix/macro-backtrace, r=oli-obk
Use macro callsite spans in backtrace

This mirrors what we do in the debuginfo used for runtime backtraces.
2020-10-06 14:04:41 +00:00
bors
dbdc127d5d Auto merge of #1576 - RalfJung:gha, r=RalfJung
add bors notification jobs

There are probably ways to simplify this... I just copied this from the Rust repo and expanded the anchors and adjusted the `needs` thing. Hopefully this unblocks Miri PR landing.
2020-10-06 11:36:22 +00:00
Ralf Jung
c3a1225233 add bors notification jobs 2020-10-06 13:35:39 +02:00
Aaron Hill
8e8828259a
Use macro callsite spans in backtrace
This mirrors what we do in the debuginfo used for runtime backtraces.
2020-10-05 17:29:55 -04:00
bors
95f0ad191b Auto merge of #1573 - RalfJung:rustup, r=RalfJung
rustup; disable opt level >=2 tests due to ICE

Cc https://github.com/rust-lang/rust/issues/77564 for the ICE
2020-10-05 08:31:18 +00:00
Ralf Jung
808032a0ed rustup; disable opt level >=2 tests due to ICE 2020-10-05 10:30:50 +02:00
bors
60c1075820 Auto merge of #1564 - Aaron1011:readlink, r=RalfJung
Implement `readlink`

Due to the truncating behavior of `readlink`, I was not able to
directly use any of the existing C-cstring helper functions.
2020-10-04 21:07:55 +00:00
Ralf Jung
3aaab3dd98
more punctuation 2020-10-04 23:07:19 +02:00
Aaron Hill
c1c82c2503
Properly capitalize PathConversion 2020-10-04 16:28:09 -04:00
Aaron Hill
4eea02e725
Normalize MIRI_TEMP before using it 2020-10-04 16:26:09 -04:00
bors
9202f7ddc6 Auto merge of #1572 - RalfJung:rustup, r=RalfJung
rustup; test NaN conversion issue
2020-10-04 16:57:56 +00:00
Ralf Jung
02257870a6 rustup; test NaN conversion issue 2020-10-04 18:56:51 +02:00
Aaron Hill
9e6320f101
Move convert_path_separator to trait and use it in readlink 2020-10-04 12:34:13 -04:00
Aaron Hill
bbba87ce54
Swap order of assertions for easier debugging 2020-10-04 12:06:51 -04:00
Aaron Hill
462f58298a
Make helper functions freestanding 2020-10-04 12:06:51 -04:00
Aaron Hill
5fc5490bc8
Add trailing punctuation
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-10-04 12:06:51 -04:00
Aaron Hill
0e59b6f673
Merge fs and fs_libc tests 2020-10-04 12:06:51 -04:00
Aaron Hill
8b89c7e1da
Use panicking coversions instead of as 2020-10-04 12:06:51 -04:00
Aaron Hill
186d59a3ec
Move some helper functions around 2020-10-04 12:06:51 -04:00
Aaron Hill
78bc89b4fc
Implement readlink
Due to the truncating behavior of `readlink`, I was not able to
directly use any of the existing C-cstring helper functions.
2020-10-04 12:06:51 -04:00
bors
00106b9f1f Auto merge of #1563 - lzutao:dummy-actions, r=RalfJung
Add a dummy actions template to enable it on CI

I already had a complete template to transition from Travis and Appveyor.
Since actions will not run on repo haven't enabled it before.
I have this dummy template first to enable it on default branch.
We should address a few todo here, merge it and I will send another patch
to complete the migration.
2020-10-04 13:14:43 +00:00
Lzu Tao
1c9db02508 Add a dummy actions template to enable it on CI 2020-10-04 18:53:13 +07:00
bors
3fafb835ea Auto merge of #1570 - RalfJung:syscalls, r=RalfJung
check that all syscall arguments are scalars

`@m-ou-se` do you think this check makes sense?

The `abi` of a layout contains everything needed for the calling convention (as far as I know), so this should ensure that all the ignored arguments are passed like integers and do not otherwise mess up argument passing.

The one thing I am not sure about is what happens when more arguments are passed than fit in registers. The `syscall` man page says that all calling conventions support at least 6 arguments, except for "mips/o32" where it says that
```
       [1] The mips/o32 system call convention passes arguments 5 through 8 on the user stack.
```
If we assume that passing these extra arguments to futex is legal even with that calling convention, that would mean that those user stack arguments are just silently ignored as well, which seems plausible to me -- but I know very little about calling conventions.
2020-10-03 15:49:15 +00:00
Ralf Jung
2b2a3a0cc1 check that all syscall arguments are scalars 2020-10-03 16:01:53 +02:00
bors
5620ad015d Auto merge of #1569 - RalfJung:rustup, r=RalfJung
bump Rust version and a bit of cleanup
2020-10-03 13:28:37 +00:00
Ralf Jung
a4cbbddc8e merge parking test into general synchronization test 2020-10-03 15:27:23 +02:00
Ralf Jung
b350c80a31 add backtics back in isolation error message 2020-10-03 15:25:30 +02:00
Ralf Jung
044c9ca206 rustup 2020-10-03 15:19:57 +02:00
bors
b0e02f0218 Auto merge of #1568 - fusion-engineering-forks:futex, r=RalfJung
Implement futex_wait and futex_wake.

Fixes https://github.com/rust-lang/rust/issues/77406 and fixes #1562.

This makes std's park(), park_timeout(), and unpark() work. That means std::sync::Once is usable again and the test pass again with the latest rustc.

This also makes parking_lot work.
2020-10-03 12:36:03 +00:00
Mara Bos
68776d2921
Add FIXME about type of addr in futex implementation.
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-10-03 14:32:30 +02:00
Mara Bos
c268ee2bcb
Add note about use of force_ptr in futex implementation.
Co-authored-by: Ralf Jung <post@ralfj.de>
2020-10-03 14:21:37 +02:00