]>
git.lizzy.rs Git - rust.git/log
Ralf Jung [Wed, 28 Oct 2020 11:51:25 +0000 (12:51 +0100)]
expand flag docs
Ralf Jung [Wed, 28 Oct 2020 11:35:05 +0000 (12:35 +0100)]
run some tests with raw pointer tracking
Ralf Jung [Wed, 28 Oct 2020 11:23:35 +0000 (12:23 +0100)]
add an option to track raw pointer tags in Stacked Borrows
Ralf Jung [Wed, 28 Oct 2020 11:04:39 +0000 (12:04 +0100)]
Stacked Borrows: print affected memory location on errors
Ralf Jung [Tue, 27 Oct 2020 15:58:08 +0000 (16:58 +0100)]
test Box::into_raw aliasing
Ralf Jung [Tue, 27 Oct 2020 13:22:29 +0000 (14:22 +0100)]
pointer tag tracking: also show when tag is being created
Ralf Jung [Tue, 27 Oct 2020 13:21:59 +0000 (14:21 +0100)]
Use bash to make sure &> works
bors [Sun, 25 Oct 2020 09:02:22 +0000 (09:02 +0000)]
Auto merge of #1600 - RalfJung:rustup, r=RalfJung
rustup; make panic output less dependent on stdlib internals
Ralf Jung [Sun, 25 Oct 2020 09:00:50 +0000 (10:00 +0100)]
rustup; make panic output less dependent on stdlib internals
bors [Sat, 24 Oct 2020 23:03:47 +0000 (23:03 +0000)]
Auto merge of #1599 - camelid:default-args-const, r=RalfJung
Make `miri_default_args()` a constant
Feel free to close this if this is intentionally not a constant.
Camelid [Sat, 24 Oct 2020 19:46:02 +0000 (12:46 -0700)]
Make `miri_default_args()` a constant
bors [Sat, 24 Oct 2020 11:26:10 +0000 (11:26 +0000)]
Auto merge of #1598 - camelid:hide-readlink-error, r=RalfJung
Hide readlink error in `./miri`
Fixes #1597.
`./miri` is just testing whether the platform supports `readlink -e`,
but it didn't hide properly hide the stderr output. This fixes that.
bors [Sat, 24 Oct 2020 11:04:19 +0000 (11:04 +0000)]
Auto merge of #1596 - camelid:fix-readme, r=RalfJung
Fix README
Add a paragraph break in the license section for clarity.
## Before
![image](https://user-images.githubusercontent.com/
37223377 /
97042945 -
a5d3e500 -1526-11eb-9c16-
49f17f253e44 .png)
## After
![image](https://user-images.githubusercontent.com/
37223377 /
97042981 -
b2f0d400 -1526-11eb-88c4-
0db1119c2781 .png)
bors [Sat, 24 Oct 2020 10:42:24 +0000 (10:42 +0000)]
Auto merge of #1594 - camelid:dont-force-install-xargo, r=RalfJung
Don't force-install xargo
Previously miri used `cargo install xargo -f` which shouldn't be
necessary anymore since `cargo install` will now upgrade without `-f`.
The only reason I can see to use `-f` is from the cargo docs:
> This is also useful if something has changed on the system that you
> want to rebuild with, such as a newer version of `rustc`.
See the [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/why.20does.20miri.20require.20xargo/near/
214351239 ).
Camelid [Fri, 23 Oct 2020 20:00:33 +0000 (13:00 -0700)]
Hide readlink error in `./miri`
`./miri` is just testing whether the platform supports `readlink -e`,
but it didn't hide properly hide the stderr output. This fixes that.
Camelid [Fri, 23 Oct 2020 18:53:34 +0000 (11:53 -0700)]
Fix README
Camelid [Fri, 23 Oct 2020 18:48:34 +0000 (11:48 -0700)]
Don't force-install xargo
Previously miri used `cargo install xargo -f` which shouldn't be
necessary anymore since `cargo install` will now upgrade without `-f`.
The only reason I can see to use `-f` is from the cargo docs:
> This is also useful if something has changed on the system that you
> want to rebuild with, such as a newer version of `rustc`.
See the [discussion on Zulip](https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/why.20does.20miri.20require.20xargo/near/
214351239 ).
bors [Thu, 22 Oct 2020 08:36:45 +0000 (08:36 +0000)]
Auto merge of #1593 - rust-lang:test, r=RalfJung
fix './miri test'
Ralf Jung [Thu, 22 Oct 2020 08:36:01 +0000 (10:36 +0200)]
fix './miri test'
bors [Thu, 22 Oct 2020 08:08:41 +0000 (08:08 +0000)]
Auto merge of #1592 - RalfJung:rustup, r=RalfJung
rustup; increase slack for timing tests
Ralf Jung [Thu, 22 Oct 2020 07:47:02 +0000 (09:47 +0200)]
rustup; increase slack for timing tests
bors [Thu, 22 Oct 2020 07:46:10 +0000 (07:46 +0000)]
Auto merge of #1590 - RalfJung:trophy, r=RalfJung
another TiKV bug for the trophy case :)
Cc `@brson` thanks for the ping!
Ralf Jung [Wed, 21 Oct 2020 10:50:45 +0000 (12:50 +0200)]
another TiKV bug for the trophy case :)
bors [Wed, 21 Oct 2020 07:19:17 +0000 (07:19 +0000)]
Auto merge of #1589 - Aaron1011:enable-normal-backtrace, r=RalfJung
Enable `backtrace` feature in the generated `Xargo.toml`
This allows the normal std panic hook to print a backtrace if
`RUST_BACKTRACE=1` and `-Z miri-disable-isolation` are set
Aaron Hill [Tue, 20 Oct 2020 17:27:58 +0000 (13:27 -0400)]
Enable `backtrace` feature in the generated `Xargo.toml`
This allows the normal std panic hook to print a backtrace if
`RUST_BACKTRACE=1` and `-Z miri-disable-isolation` are set
bors [Tue, 20 Oct 2020 09:40:28 +0000 (09:40 +0000)]
Auto merge of #1587 - lzutao:only-gha, r=RalfJung
build: Gate only on GHA: remove travis and appveyor ci config
It's been over a week since #1571 merged.
The GHA evaluation is successful.
This PR removes CI config of travis and appveyor.
Now MIRI gates on github actions CI only.
Will need <https://github.com/rust-lang/homu/pull/109> to merge first,
otherwise bors will stuck.
Also, one may need to remove `continuous-integration/appveyor/pr` CI checks
in repo settings or appeveyor website.
Lzu Tao [Tue, 20 Oct 2020 05:26:30 +0000 (12:26 +0700)]
build: Gate only on GHA: remove travis and appveyor ci config
bors [Sun, 18 Oct 2020 09:22:59 +0000 (09:22 +0000)]
Auto merge of #1586 - RalfJung:available-concurrency, r=RalfJung
test new available_concurrency function
Cc https://github.com/rust-lang/rust/pull/74480
Ralf Jung [Sun, 18 Oct 2020 09:22:09 +0000 (11:22 +0200)]
test new available_concurrency function
bors [Sun, 18 Oct 2020 08:10:16 +0000 (08:10 +0000)]
Auto merge of #1584 - Aaron1011:test/std-backtrace, r=RalfJung
Test std backtrace type
Closes https://github.com/rust-lang/miri/issues/1578
Aaron Hill [Sat, 17 Oct 2020 19:36:05 +0000 (15:36 -0400)]
Test std::backtrace::Backtrace
Fixes #1578
bors [Sat, 17 Oct 2020 22:50:31 +0000 (22:50 +0000)]
Auto merge of #1585 - RalfJung:rustup, r=RalfJung
rustup; the bad compile times for the float test are fixed
Ralf Jung [Sat, 17 Oct 2020 22:49:52 +0000 (00:49 +0200)]
rustup; the bad compile times for the float test are fixed
bors [Thu, 15 Oct 2020 21:56:20 +0000 (21:56 +0000)]
Auto merge of #1583 - est31:target_refactor, r=RalfJung
Replace target.target with target
Fix fallout caused by rustc PR: https://github.com/rust-lang/rust/pull/77943
Fixes https://github.com/rust-lang/rust/issues/77988
est31 [Wed, 14 Oct 2020 17:16:00 +0000 (19:16 +0200)]
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
bors [Sun, 11 Oct 2020 22:56:39 +0000 (22:56 +0000)]
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 :)
bors [Sun, 11 Oct 2020 22:34:57 +0000 (22:34 +0000)]
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.
Ralf Jung [Sun, 11 Oct 2020 22:15:01 +0000 (00:15 +0200)]
Improve wording
Co-authored-by: Aaron Hill <aa1ronham@gmail.com>
bors [Sun, 11 Oct 2020 22:07:25 +0000 (22:07 +0000)]
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.
Aaron Hill [Sun, 11 Oct 2020 21:57:49 +0000 (17:57 -0400)]
Add comment about deprecation
bors [Sun, 11 Oct 2020 21:45:09 +0000 (21:45 +0000)]
Auto merge of #1582 - Aaron1011:rustup-run-compiler, r=RalfJung
Rustup
This gets Miri building again after the `run_compiler` changes
Aaron Hill [Sun, 11 Oct 2020 21:05:40 +0000 (17:05 -0400)]
Rustup
This gets Miri building again after the `run_compiler` changes
Aaron Hill [Sun, 11 Oct 2020 15:05:14 +0000 (11:05 -0400)]
Apply suggestions from code review
Co-authored-by: Ralf Jung <post@ralfj.de>
Lzu Tao [Sun, 4 Oct 2020 15:01:10 +0000 (22:01 +0700)]
Add a working github actions template
Ralf Jung [Sun, 11 Oct 2020 08:48:34 +0000 (10:48 +0200)]
README: make our cross-interpretation feature stand out more
Aaron Hill [Sat, 10 Oct 2020 17:07:57 +0000 (13:07 -0400)]
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.
bors [Fri, 9 Oct 2020 07:23:21 +0000 (07:23 +0000)]
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
Yonggang Luo [Fri, 9 Oct 2020 05:16:03 +0000 (13:16 +0800)]
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
bors [Wed, 7 Oct 2020 17:44:57 +0000 (17:44 +0000)]
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.
Ralf Jung [Wed, 7 Oct 2020 17:42:33 +0000 (19:42 +0200)]
fix for rlib/cdylib crates in dependency tree
bors [Wed, 7 Oct 2020 07:05:52 +0000 (07:05 +0000)]
Auto merge of #1550 - RalfJung:vecdeque, r=RalfJung
test VecDeque::iter_mut aliasing
Blocked on https://github.com/rust-lang/rust/pull/76911
Ralf Jung [Wed, 7 Oct 2020 07:05:18 +0000 (09:05 +0200)]
rustup; bring back mir-opt-level 3
Ralf Jung [Sat, 19 Sep 2020 09:33:16 +0000 (11:33 +0200)]
test VecDeque::iter_mut aliasing
bors [Tue, 6 Oct 2020 14:04:41 +0000 (14:04 +0000)]
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.
bors [Tue, 6 Oct 2020 11:36:22 +0000 (11:36 +0000)]
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.
Ralf Jung [Tue, 6 Oct 2020 09:11:14 +0000 (11:11 +0200)]
add bors notification jobs
Aaron Hill [Mon, 5 Oct 2020 21:29:55 +0000 (17:29 -0400)]
Use macro callsite spans in backtrace
This mirrors what we do in the debuginfo used for runtime backtraces.
bors [Mon, 5 Oct 2020 08:31:18 +0000 (08:31 +0000)]
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
Ralf Jung [Mon, 5 Oct 2020 08:22:41 +0000 (10:22 +0200)]
rustup; disable opt level >=2 tests due to ICE
bors [Sun, 4 Oct 2020 21:07:55 +0000 (21:07 +0000)]
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.
Ralf Jung [Sun, 4 Oct 2020 21:07:19 +0000 (23:07 +0200)]
more punctuation
Aaron Hill [Sun, 4 Oct 2020 20:28:09 +0000 (16:28 -0400)]
Properly capitalize PathConversion
Aaron Hill [Sun, 4 Oct 2020 20:26:09 +0000 (16:26 -0400)]
Normalize MIRI_TEMP before using it
bors [Sun, 4 Oct 2020 16:57:56 +0000 (16:57 +0000)]
Auto merge of #1572 - RalfJung:rustup, r=RalfJung
rustup; test NaN conversion issue
Ralf Jung [Sun, 4 Oct 2020 16:56:51 +0000 (18:56 +0200)]
rustup; test NaN conversion issue
Aaron Hill [Sun, 4 Oct 2020 16:34:13 +0000 (12:34 -0400)]
Move `convert_path_separator` to trait and use it in `readlink`
Aaron Hill [Sun, 4 Oct 2020 13:41:15 +0000 (09:41 -0400)]
Swap order of assertions for easier debugging
Aaron Hill [Sun, 4 Oct 2020 12:00:26 +0000 (08:00 -0400)]
Make helper functions freestanding
Aaron Hill [Sat, 3 Oct 2020 16:59:23 +0000 (12:59 -0400)]
Add trailing punctuation
Co-authored-by: Ralf Jung <post@ralfj.de>
Aaron Hill [Sat, 3 Oct 2020 16:56:32 +0000 (12:56 -0400)]
Merge `fs` and `fs_libc` tests
Aaron Hill [Sat, 3 Oct 2020 16:52:06 +0000 (12:52 -0400)]
Use panicking coversions instead of `as`
Aaron Hill [Sat, 3 Oct 2020 16:51:46 +0000 (12:51 -0400)]
Move some helper functions around
Aaron Hill [Mon, 28 Sep 2020 19:02:54 +0000 (15:02 -0400)]
Implement `readlink`
Due to the truncating behavior of `readlink`, I was not able to
directly use any of the existing C-cstring helper functions.
bors [Sun, 4 Oct 2020 13:14:43 +0000 (13:14 +0000)]
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.
Lzu Tao [Sun, 4 Oct 2020 11:53:13 +0000 (18:53 +0700)]
Add a dummy actions template to enable it on CI
bors [Sat, 3 Oct 2020 15:49:15 +0000 (15:49 +0000)]
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.
Ralf Jung [Sat, 3 Oct 2020 14:01:53 +0000 (16:01 +0200)]
check that all syscall arguments are scalars
bors [Sat, 3 Oct 2020 13:28:37 +0000 (13:28 +0000)]
Auto merge of #1569 - RalfJung:rustup, r=RalfJung
bump Rust version and a bit of cleanup
Ralf Jung [Sat, 3 Oct 2020 13:27:23 +0000 (15:27 +0200)]
merge parking test into general synchronization test
Ralf Jung [Sat, 3 Oct 2020 13:20:16 +0000 (15:20 +0200)]
add backtics back in isolation error message
Ralf Jung [Sat, 3 Oct 2020 13:19:57 +0000 (15:19 +0200)]
rustup
bors [Sat, 3 Oct 2020 12:36:03 +0000 (12:36 +0000)]
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.
Mara Bos [Sat, 3 Oct 2020 12:32:30 +0000 (14:32 +0200)]
Add FIXME about type of `addr` in futex implementation.
Co-authored-by: Ralf Jung <post@ralfj.de>
Mara Bos [Sat, 3 Oct 2020 12:21:37 +0000 (14:21 +0200)]
Add note about use of force_ptr in futex implementation.
Co-authored-by: Ralf Jung <post@ralfj.de>
Mara Bos [Sat, 3 Oct 2020 11:39:16 +0000 (13:39 +0200)]
Update syscall FIXME to include note about 'wrong' types.
Mara Bos [Sat, 3 Oct 2020 11:09:11 +0000 (13:09 +0200)]
Add test for futex syscall.
Mara Bos [Sat, 3 Oct 2020 10:18:38 +0000 (12:18 +0200)]
Add FIXME note about variadic syscall().
Mara Bos [Sat, 3 Oct 2020 10:11:24 +0000 (12:11 +0200)]
Use read_scalar_at_offset in futex_wait instead of memory.get_raw.
Mara Bos [Sat, 3 Oct 2020 10:00:29 +0000 (12:00 +0200)]
Update expected error messages in tests.
Mara Bos [Sat, 3 Oct 2020 09:38:16 +0000 (11:38 +0200)]
Remove backtics from isolation error.
Otherwise `FUTEX_WAIT with timeout` will look weird.
Mara Bos [Sat, 3 Oct 2020 09:35:13 +0000 (11:35 +0200)]
Only allow FUTEX_WAIT with timeout when isoloation is disabled.
Mara Bos [Fri, 2 Oct 2020 22:40:53 +0000 (00:40 +0200)]
Use correct return type for syscall(SYS_futex).
Mara Bos [Fri, 2 Oct 2020 21:35:00 +0000 (23:35 +0200)]
Add park/park_timeout/unpark test.
Mara Bos [Fri, 2 Oct 2020 21:34:14 +0000 (23:34 +0200)]
Implement timeouts for FUTEX_WAIT.
Mara Bos [Fri, 2 Oct 2020 19:59:11 +0000 (21:59 +0200)]
Use force_ptr in futex implementation.
Mara Bos [Fri, 2 Oct 2020 18:56:01 +0000 (20:56 +0200)]
Add note about arguments in futex implementation.
Co-authored-by: Ralf Jung <post@ralfj.de>
Mara Bos [Fri, 2 Oct 2020 18:53:31 +0000 (20:53 +0200)]
Update note about number of arguments to SYS_futex.
Mara Bos [Fri, 2 Oct 2020 08:47:53 +0000 (10:47 +0200)]
Add comments that document SYS_futex better.
Mara Bos [Fri, 2 Oct 2020 08:47:36 +0000 (10:47 +0200)]
Improve handling of the `addr` argument in SYS_futex.
Mara Bos [Fri, 2 Oct 2020 08:46:57 +0000 (10:46 +0200)]
Check maximum amount of arguments to SYS_futex.