Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Miri subtree update #130467

Merged
merged 62 commits into from
Sep 17, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
4db9c01
Renamed variable and fixed comments referring to renamed FileDescriptor
DeSevilla Sep 7, 2024
ff28977
detect when pthread_rwlock_t is moved
Mandragorian Sep 9, 2024
1185eb0
ci: bump actions/checkout to v4
trivikr Sep 9, 2024
d4eeb31
use fd_num for file descriptors, so we can use fd for file description
RalfJung Sep 9, 2024
e6604ea
Auto merge of #3867 - DeSevilla:rename-fd, r=RalfJung
bors Sep 9, 2024
797ddd2
Auto merge of #3872 - trivikr:actions-checkout-v4, r=RalfJung
bors Sep 9, 2024
0aa3fd4
Auto merge of #3871 - Mandragorian:detect_rwlock_move, r=RalfJung
bors Sep 9, 2024
51dbed2
sync methods: pass around places, not pointer-typed operands
RalfJung Sep 9, 2024
218057c
sync: store extra sync primitive data in a Box<dyn Any> so the type c…
RalfJung Sep 9, 2024
0225309
Auto merge of #3874 - RalfJung:sync, r=RalfJung
bors Sep 9, 2024
0d12c58
Preparing for merge from rustc
RalfJung Sep 10, 2024
c78cd65
Merge from rustc
RalfJung Sep 10, 2024
6e70bd4
fmt
RalfJung Sep 10, 2024
79d4cc9
Auto merge of #3876 - RalfJung:rustup, r=RalfJung
bors Sep 10, 2024
4712e57
Preparing for merge from rustc
Sep 11, 2024
19fa141
Merge from rustc
Sep 11, 2024
7e6ce60
also allow illumos to use mmap for its stack guard
RalfJung Sep 11, 2024
59835ae
Auto merge of #3878 - rust-lang:rustup-2024-09-11, r=RalfJung
bors Sep 11, 2024
2f09cac
Preparing for merge from rustc
Sep 12, 2024
93ef7cd
Merge from rustc
Sep 12, 2024
5fc0865
Auto merge of #3879 - rust-lang:rustup-2024-09-12, r=RalfJung
bors Sep 12, 2024
157dd83
Remove an unused piece of logic
oli-obk Sep 8, 2024
e4d0ae9
add non-portable linux pthread initializers to layout sanity check
RalfJung Sep 12, 2024
b7c7a45
enable all pthread tests on Solarish
RalfJung Sep 12, 2024
9621058
Auto merge of #3880 - RalfJung:sync, r=RalfJung
bors Sep 12, 2024
dd01ee7
smoke-test './miri run --dep'
RalfJung Sep 13, 2024
d5ad772
Auto merge of #3883 - RalfJung:miri-run-dep, r=RalfJung
bors Sep 13, 2024
03f14f0
./miri run: directly run binary instead of using 'cargo run'
RalfJung Sep 13, 2024
20862e4
Auto merge of #3881 - RalfJung:miri-run, r=RalfJung
bors Sep 13, 2024
9bab91f
Preparing for merge from rustc
Sep 14, 2024
94d4991
Merge from rustc
Sep 14, 2024
583f358
Auto merge of #3885 - rust-lang:rustup-2024-09-14, r=RalfJung
bors Sep 14, 2024
b6dea9e
detect when pthread_cond_t is moved
Mandragorian Sep 13, 2024
8c4f055
Auto merge of #3884 - Mandragorian:detect_cond_move, r=RalfJung
bors Sep 14, 2024
efdc01b
unix/sync: cleanup
RalfJung Sep 15, 2024
4000027
pthread: add FreeBSD, remove PTHREAD_MUTEX_NORMAL_FLAG hack
RalfJung Sep 15, 2024
2cdf5f7
move two tests to a better location
RalfJung Sep 15, 2024
2ed9188
enable std::sync tests on Solarish
RalfJung Sep 15, 2024
75921d2
Auto merge of #3886 - RalfJung:freebsd-pthread, r=RalfJung
bors Sep 15, 2024
cb445d0
make pthread-threadname nicer with cfg-if
RalfJung Sep 15, 2024
8ee38bf
add Android pthread support
RalfJung Sep 15, 2024
f394c6c
test std::time APIs on FreeBSD and Solarish
RalfJung Sep 15, 2024
5f3bec4
we can test more things on Solarish, and update its status in the README
RalfJung Sep 15, 2024
7d8ee71
Auto merge of #3889 - RalfJung:android-pthread, r=RalfJung
bors Sep 15, 2024
ffcaa7f
Preparing for merge from rustc
Sep 16, 2024
4d824fd
Merge from rustc
Sep 16, 2024
1692d12
fmt
Sep 16, 2024
5b8a18f
fix clippy lints
RalfJung Sep 16, 2024
a0f57d8
Auto merge of #3892 - rust-lang:rustup-2024-09-16, r=RalfJung
bors Sep 16, 2024
9f9f198
Bump ui test
oli-obk Sep 7, 2024
987702f
Refator DependencyBuilder construction
oli-obk Sep 16, 2024
4dabcc3
Fix run --dep
oli-obk Sep 16, 2024
e04dc62
Automatically add/remove labesl when github review (requests) are used
oli-obk Sep 16, 2024
540b4da
Preparing for merge from rustc
Sep 17, 2024
48440b1
Merge from rustc
Sep 17, 2024
c5f5cfc
fmt
Sep 17, 2024
f6ae3cb
Auto merge of #3866 - rust-lang:ui_test_26_1, r=oli-obk
bors Sep 17, 2024
9c3a392
Auto merge of #3893 - rust-lang:autolabel, r=RalfJung
bors Sep 17, 2024
d0f4a52
Auto merge of #3894 - rust-lang:rustup-2024-09-17, r=RalfJung
bors Sep 17, 2024
143710f
Tokio ICE fix: Changed the type of EpollEventInterest::epfd from i32 …
tiif Sep 17, 2024
b880024
Auto merge of #3891 - tiif:tokiotest, r=RalfJung
bors Sep 17, 2024
ba86cf8
update lockfile
RalfJung Sep 17, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
58 changes: 13 additions & 45 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -104,15 +104,6 @@ dependencies = [
"unicode-width",
]

[[package]]
name = "ansi_term"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
"winapi",
]

[[package]]
name = "anstream"
version = "0.6.15"
Expand Down Expand Up @@ -714,7 +705,7 @@ dependencies = [
"miow",
"miropt-test-tools",
"regex",
"rustfix 0.8.1",
"rustfix",
"serde",
"serde_json",
"tracing",
Expand Down Expand Up @@ -2278,7 +2269,7 @@ dependencies = [
"rustc_version",
"smallvec",
"tempfile",
"ui_test 0.21.2",
"ui_test 0.26.5",
"windows-sys 0.52.0",
]

Expand Down Expand Up @@ -2807,16 +2798,6 @@ version = "0.1.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "925383efa346730478fb4838dbe9137d2a47675ad789c546d150a6e1dd4ab31c"

[[package]]
name = "prettydiff"
version = "0.6.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ff1fec61082821f8236cf6c0c14e8172b62ce8a72a0eedc30d3b247bb68dc11"
dependencies = [
"ansi_term",
"pad",
]

[[package]]
name = "prettydiff"
version = "0.7.0"
Expand Down Expand Up @@ -4625,18 +4606,6 @@ dependencies = [
"rustdoc",
]

[[package]]
name = "rustfix"
version = "0.6.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
dependencies = [
"anyhow",
"log",
"serde",
"serde_json",
]

[[package]]
name = "rustfix"
version = "0.8.1"
Expand Down Expand Up @@ -5518,36 +5487,36 @@ checksum = "ed646292ffc8188ef8ea4d1e0e0150fb15a5c2e12ad9b8fc191ae7a8a7f3c4b9"

[[package]]
name = "ui_test"
version = "0.21.2"
version = "0.25.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aaf4bf7c184b8dfc7a4d3b90df789b1eb992ee42811cd115f32a7a1eb781058d"
checksum = "f7e4f339f62edc873975c47115f9e71c5454ddaa37c1142b42fc0b2672c8dacb"
dependencies = [
"annotate-snippets 0.9.2",
"annotate-snippets 0.11.4",
"anyhow",
"bstr",
"cargo-platform",
"cargo_metadata 0.15.4",
"cargo_metadata 0.18.1",
"color-eyre",
"colored",
"comma",
"crossbeam-channel",
"indicatif",
"lazy_static",
"levenshtein",
"prettydiff 0.6.4",
"prettydiff",
"regex",
"rustc_version",
"rustfix 0.6.1",
"rustfix",
"serde",
"serde_json",
"tempfile",
"spanned",
]

[[package]]
name = "ui_test"
version = "0.25.0"
version = "0.26.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7e4f339f62edc873975c47115f9e71c5454ddaa37c1142b42fc0b2672c8dacb"
checksum = "32ee4c40e5a5f9fa6864ff976473e5d6a6e9884b6ce68b40690d9f87e1994c83"
dependencies = [
"annotate-snippets 0.11.4",
"anyhow",
Expand All @@ -5559,12 +5528,11 @@ dependencies = [
"comma",
"crossbeam-channel",
"indicatif",
"lazy_static",
"levenshtein",
"prettydiff 0.7.0",
"prettydiff",
"regex",
"rustc_version",
"rustfix 0.8.1",
"rustfix",
"serde",
"serde_json",
"spanned",
Expand Down
2 changes: 1 addition & 1 deletion src/tools/miri/.github/workflows/sysroots.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:
name: Build the sysroots
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Build the sysroots
run: |
cargo install -f rustup-toolchain-install-master
Expand Down
81 changes: 28 additions & 53 deletions src/tools/miri/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -39,22 +39,19 @@ dependencies = [

[[package]]
name = "annotate-snippets"
version = "0.9.2"
version = "0.11.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccaf7e9dfbb6ab22c82e473cd1a8a7bd313c19a5b7e40970f3d89ef5a5c9e81e"
checksum = "24e35ed54e5ea7997c14ed4c70ba043478db1112e98263b3b035907aa197d991"
dependencies = [
"anstyle",
"unicode-width",
"yansi-term",
]

[[package]]
name = "ansi_term"
version = "0.12.1"
name = "anstyle"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d52a9bb7ec0cf484c551830a7ce27bd20d67eac647e1befb56b0be4ee39a55d2"
dependencies = [
"winapi",
]
checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1"

[[package]]
name = "anyhow"
Expand Down Expand Up @@ -126,9 +123,9 @@ dependencies = [

[[package]]
name = "cargo_metadata"
version = "0.15.4"
version = "0.18.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eee4243f1f26fc7a42710e7439c149e2b10b05472f88090acce52632f231a73a"
checksum = "2d886547e41f740c616ae73108f6eb70afe6d940c7bc697cb30f13daec073037"
dependencies = [
"camino",
"cargo-platform",
Expand Down Expand Up @@ -737,11 +734,11 @@ dependencies = [

[[package]]
name = "prettydiff"
version = "0.6.4"
version = "0.7.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8ff1fec61082821f8236cf6c0c14e8172b62ce8a72a0eedc30d3b247bb68dc11"
checksum = "abec3fb083c10660b3854367697da94c674e9e82aa7511014dc958beeb7215e9"
dependencies = [
"ansi_term",
"owo-colors",
"pad",
]

Expand Down Expand Up @@ -865,14 +862,14 @@ dependencies = [

[[package]]
name = "rustfix"
version = "0.6.1"
version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ecd2853d9e26988467753bd9912c3a126f642d05d229a4b53f5752ee36c56481"
checksum = "70f5b7fc8060f4f8373f9381a630304b42e1183535d9beb1d3f596b236c9106a"
dependencies = [
"anyhow",
"log",
"serde",
"serde_json",
"thiserror",
"tracing",
]

[[package]]
Expand Down Expand Up @@ -962,6 +959,16 @@ version = "1.13.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67"

[[package]]
name = "spanned"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "86af297923fbcfd107c20a189a6e9c872160df71a7190ae4a7a6c5dce4b2feb6"
dependencies = [
"bstr",
"color-eyre",
]

[[package]]
name = "syn"
version = "2.0.72"
Expand Down Expand Up @@ -1065,9 +1072,9 @@ checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"

[[package]]
name = "ui_test"
version = "0.21.2"
version = "0.26.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aaf4bf7c184b8dfc7a4d3b90df789b1eb992ee42811cd115f32a7a1eb781058d"
checksum = "32ee4c40e5a5f9fa6864ff976473e5d6a6e9884b6ce68b40690d9f87e1994c83"
dependencies = [
"annotate-snippets",
"anyhow",
Expand All @@ -1079,15 +1086,14 @@ dependencies = [
"comma",
"crossbeam-channel",
"indicatif",
"lazy_static",
"levenshtein",
"prettydiff",
"regex",
"rustc_version",
"rustfix",
"serde",
"serde_json",
"tempfile",
"spanned",
]

[[package]]
Expand Down Expand Up @@ -1120,28 +1126,6 @@ version = "0.11.0+wasi-snapshot-preview1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"

[[package]]
name = "winapi"
version = "0.3.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
dependencies = [
"winapi-i686-pc-windows-gnu",
"winapi-x86_64-pc-windows-gnu",
]

[[package]]
name = "winapi-i686-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"

[[package]]
name = "winapi-x86_64-pc-windows-gnu"
version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"

[[package]]
name = "windows-sys"
version = "0.48.0"
Expand Down Expand Up @@ -1281,15 +1265,6 @@ version = "0.52.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec"

[[package]]
name = "yansi-term"
version = "0.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe5c30ade05e61656247b2e334a031dfd0cc466fadef865bdcdea8d537951bf1"
dependencies = [
"winapi",
]

[[package]]
name = "zerocopy"
version = "0.7.35"
Expand Down
2 changes: 1 addition & 1 deletion src/tools/miri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ windows-sys = { version = "0.52", features = [

[dev-dependencies]
colored = "2"
ui_test = "0.21.1"
ui_test = "0.26.5"
rustc_version = "0.4"
regex = "1.5.5"
tempfile = "3"
Expand Down
4 changes: 2 additions & 2 deletions src/tools/miri/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ Here is an example job for GitHub Actions:
name: "Miri"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4
- name: Install Miri
run: |
rustup toolchain install nightly --component miri
Expand Down Expand Up @@ -216,9 +216,9 @@ degree documented below):
- For every other target with OS `linux`, `macos`, or `windows`, Miri should generally work, but we
make no promises and we don't run tests for such targets.
- We have unofficial support (not maintained by the Miri team itself) for some further operating systems.
- `solaris` / `illumos`: maintained by @devnexen. Supports `std::{env, thread, sync}`, but not `std::fs`.
- `freebsd`: **maintainer wanted**. Supports `std::env` and parts of `std::{thread, fs}`, but not `std::sync`.
- `android`: **maintainer wanted**. Support very incomplete, but a basic "hello world" works.
- `solaris` / `illumos`: maintained by @devnexen. Support very incomplete, but a basic "hello world" works.
- `wasm`: **maintainer wanted**. Support very incomplete, not even standard output works, but an empty `main` function works.
- For targets on other operating systems, Miri might fail before even reaching the `main` function.

Expand Down
16 changes: 9 additions & 7 deletions src/tools/miri/ci/ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ time ./miri install
# We enable all features to make sure the Stacked Borrows consistency check runs.
echo "Building debug version of Miri"
export CARGO_EXTRA_FLAGS="$CARGO_EXTRA_FLAGS --all-features"
time ./miri build --all-targets # the build that all the `./miri test` below will use
time ./miri build # the build that all the `./miri test` below will use

endgroup

Expand Down Expand Up @@ -66,7 +66,7 @@ function run_tests {
time MIRIFLAGS="${MIRIFLAGS-} -O -Zmir-opt-level=4 -Cdebug-assertions=yes" MIRI_SKIP_UI_CHECKS=1 ./miri test $TARGET_FLAG tests/{pass,panic}
fi
if [ -n "${MANY_SEEDS-}" ]; then
# Also run some many-seeds tests.
# Also run some many-seeds tests. (Also tests `./miri run`.)
time for FILE in tests/many-seeds/*.rs; do
./miri run "--many-seeds=0..$MANY_SEEDS" $TARGET_FLAG "$FILE"
done
Expand All @@ -75,6 +75,8 @@ function run_tests {
# Check that the benchmarks build and run, but only once.
time HYPERFINE="hyperfine -w0 -r1" ./miri bench $TARGET_FLAG
fi
# Smoke-test `./miri run --dep`.
./miri run $TARGET_FLAG --dep tests/pass-dep/getrandom.rs

## test-cargo-miri
# On Windows, there is always "python", not "python3" or "python2".
Expand Down Expand Up @@ -148,11 +150,11 @@ case $HOST_TARGET in
# Partially supported targets (tier 2)
BASIC="empty_main integer vec string btreemap hello hashmap heap_alloc align" # ensures we have the basics: stdout/stderr, system allocator, randomness (for HashMap initialization)
UNIX="panic/panic panic/unwind concurrency/simple atomic libc-mem libc-misc libc-random env num_cpus" # the things that are very similar across all Unixes, and hence easily supported there
TEST_TARGET=x86_64-unknown-freebsd run_tests_minimal $BASIC $UNIX threadname libc-time fs
TEST_TARGET=i686-unknown-freebsd run_tests_minimal $BASIC $UNIX threadname libc-time fs
TEST_TARGET=x86_64-unknown-illumos run_tests_minimal $BASIC $UNIX threadname pthread-sync available-parallelism libc-time tls
TEST_TARGET=x86_64-pc-solaris run_tests_minimal $BASIC $UNIX threadname pthread-sync available-parallelism libc-time tls
TEST_TARGET=aarch64-linux-android run_tests_minimal $BASIC $UNIX
TEST_TARGET=x86_64-unknown-freebsd run_tests_minimal $BASIC $UNIX threadname pthread time fs
TEST_TARGET=i686-unknown-freebsd run_tests_minimal $BASIC $UNIX threadname pthread time fs
TEST_TARGET=x86_64-unknown-illumos run_tests_minimal $BASIC $UNIX thread sync available-parallelism time tls
TEST_TARGET=x86_64-pc-solaris run_tests_minimal $BASIC $UNIX thread sync available-parallelism time tls
TEST_TARGET=aarch64-linux-android run_tests_minimal $BASIC $UNIX pthread --skip threadname --skip pthread_cond_timedwait
TEST_TARGET=wasm32-wasip2 run_tests_minimal empty_main wasm heap_alloc libc-mem
TEST_TARGET=wasm32-unknown-unknown run_tests_minimal empty_main wasm
TEST_TARGET=thumbv7em-none-eabihf run_tests_minimal no_std
Expand Down
Loading
Loading