Skip to content

miri subtree update #144570

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

Closed
wants to merge 46 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
8acdee7
don't halt execution when we write to a read-only file
RalfJung Jul 19, 2025
d3fc02c
non-deterministically truncate reads/writes
RalfJung Jul 19, 2025
72ba7c5
Preparing for merge from rustc
Jul 21, 2025
e3e711b
Merge from rustc
Jul 21, 2025
9ef15d2
Merge pull request #4486 from rust-lang/rustup-2025-07-21
RalfJung Jul 21, 2025
800d805
Merge pull request #4481 from RalfJung/read-write-truncate
oli-obk Jul 21, 2025
6f06667
Preparing for merge from rustc
Jul 22, 2025
4d62686
Merge from rustc
Jul 22, 2025
7a8288b
Merge pull request #4487 from rust-lang/rustup-2025-07-22
oli-obk Jul 22, 2025
08d7787
CI: add windows-arm runner
RalfJung Jul 19, 2025
a6c1093
Init josh-sync config file
Kobzol Jul 23, 2025
a61657e
Remove Josh code from `miri-script`
Kobzol Jul 23, 2025
037b2f6
Merge pull request #4479 from RalfJung/ci-win-arm
RalfJung Jul 23, 2025
e685e90
Update `CONTRIBUTING.md`
Kobzol Jul 23, 2025
48963fa
Update CI workflow
Kobzol Jul 23, 2025
8664aa7
Remove Zulip API keys and use `set -x`
Kobzol Jul 23, 2025
cbd1557
Merge pull request #4490 from Kobzol/use-josh-sync
RalfJung Jul 23, 2025
fd114d4
make the missing-MIR message more clear
RalfJung Jul 24, 2025
94f725f
Merge pull request #4491 from RalfJung/missing-mir
RalfJung Jul 24, 2025
0258894
Prepare for merging from rust-lang/rust
Jul 25, 2025
8ff5894
Merge ref 'b56aaec52bc0' from rust-lang/rust
Jul 25, 2025
0dba9f5
fmt
Jul 25, 2025
60b0545
Fix cronjob Zulip message
Kobzol Jul 25, 2025
80c9f78
Merge pull request #4493 from Kobzol/ci-fail-message
RalfJung Jul 25, 2025
2a81b4f
Use i64 for tracing chrome "id"
Stypox Jul 22, 2025
00de833
Fix missing $ in enter_trace_span!
Stypox Jul 22, 2025
c7b81f3
Fix double "fatal error: " in message
Stypox Jul 22, 2025
d2ba3c8
fix target json
RalfJung Jul 25, 2025
dd96ec6
Merge pull request #4492 from rust-lang/rustup-2025-07-25
RalfJung Jul 25, 2025
5295649
Merge pull request #4489 from Stypox/misc-tracing-fixes
RalfJung Jul 25, 2025
d88bdc9
CI: run apt update before installing anything
RalfJung Jul 26, 2025
4779dd7
Merge pull request #4494 from RalfJung/ci
RalfJung Jul 26, 2025
23e2942
call_function helper: dont ICE on return type mismatches
RalfJung Jul 27, 2025
43eaa4f
Merge pull request #4496 from RalfJung/ctor-ret-type
RalfJung Jul 27, 2025
fd65b7e
introduce a macro for shim signature checking
RalfJung Jul 27, 2025
b59c40e
Merge pull request #4497 from RalfJung/check-shim
RalfJung Jul 27, 2025
4125905
Add support for building and linking against genmc
Patrick-6 Mar 14, 2025
87b8cb0
various minor adjustments
RalfJung Jul 27, 2025
c751579
Merge pull request #4498 from RalfJung/genmc-build
RalfJung Jul 27, 2025
a20692c
centralize clockid_t interpretation
RalfJung Jul 27, 2025
0570fb4
Merge pull request #4499 from RalfJung/clockid
RalfJung Jul 27, 2025
fbd553e
prepare for sync
RalfJung Jul 28, 2025
8bf3251
Merge commit 'abd9cba5acbcc35fb4cc59ce25580fa1624b5571'
RalfJung Jul 28, 2025
dea3e13
revert accidental change
RalfJung Jul 28, 2025
fb46410
Merge pull request #4500 from RalfJung/rustup
RalfJung Jul 28, 2025
d2ee320
update lockfile, bless tidy
RalfJung Jul 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
143 changes: 141 additions & 2 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -462,10 +462,12 @@ version = "0.1.0"

[[package]]
name = "cc"
version = "1.2.16"
version = "1.2.30"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "be714c154be609ec7f5dad223a33bf1482fff90472de28f7362806e6d4832b8c"
checksum = "deec109607ca693028562ed836a5f1c4b8bd77755c4e132fc5ce11b0b6211ae7"
dependencies = [
"jobserver",
"libc",
"shlex",
]

Expand Down Expand Up @@ -655,6 +657,26 @@ dependencies = [
"serde",
]

[[package]]
name = "cmake"
version = "0.1.54"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e7caa3f9de89ddbe2c607f4101924c5abec803763ae9534e4f4d7d8f84aa81f0"
dependencies = [
"cc",
]

[[package]]
name = "codespan-reporting"
version = "0.12.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fe6d2e5af09e8c8ad56c969f2157a3d4238cebc7c55f0a517728c38f7b200f81"
dependencies = [
"serde",
"termcolor",
"unicode-width 0.2.1",
]

[[package]]
name = "collect-license-metadata"
version = "0.1.0"
Expand Down Expand Up @@ -913,6 +935,68 @@ dependencies = [
"windows-sys 0.59.0",
]

[[package]]
name = "cxx"
version = "1.0.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a3523cc02ad831111491dd64b27ad999f1ae189986728e477604e61b81f828df"
dependencies = [
"cc",
"cxxbridge-cmd",
"cxxbridge-flags",
"cxxbridge-macro",
"foldhash",
"link-cplusplus",
]

[[package]]
name = "cxx-build"
version = "1.0.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "212b754247a6f07b10fa626628c157593f0abf640a3dd04cce2760eca970f909"
dependencies = [
"cc",
"codespan-reporting",
"indexmap",
"proc-macro2",
"quote",
"scratch",
"syn 2.0.104",
]

[[package]]
name = "cxxbridge-cmd"
version = "1.0.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f426a20413ec2e742520ba6837c9324b55ffac24ead47491a6e29f933c5b135a"
dependencies = [
"clap",
"codespan-reporting",
"indexmap",
"proc-macro2",
"quote",
"syn 2.0.104",
]

[[package]]
name = "cxxbridge-flags"
version = "1.0.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a258b6069020b4e5da6415df94a50ee4f586a6c38b037a180e940a43d06a070d"

[[package]]
name = "cxxbridge-macro"
version = "1.0.161"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e8dec184b52be5008d6eaf7e62fc1802caf1ad1227d11b3b7df2c409c7ffc3f4"
dependencies = [
"indexmap",
"proc-macro2",
"quote",
"rustversion",
"syn 2.0.104",
]

[[package]]
name = "darling"
version = "0.20.11"
Expand Down Expand Up @@ -1373,6 +1457,17 @@ dependencies = [
"version_check",
]

[[package]]
name = "genmc-sys"
version = "0.1.0"
dependencies = [
"cc",
"cmake",
"cxx",
"cxx-build",
"git2",
]

[[package]]
name = "getopts"
version = "0.2.23"
Expand Down Expand Up @@ -1427,6 +1522,21 @@ dependencies = [
"stable_deref_trait",
]

[[package]]
name = "git2"
version = "0.20.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2deb07a133b1520dc1a5690e9bd08950108873d7ed5de38dcc74d3b5ebffa110"
dependencies = [
"bitflags",
"libc",
"libgit2-sys",
"log",
"openssl-probe",
"openssl-sys",
"url",
]

[[package]]
name = "glob"
version = "0.3.2"
Expand Down Expand Up @@ -2060,6 +2170,19 @@ dependencies = [
"cc",
]

[[package]]
name = "libgit2-sys"
version = "0.18.2+1.9.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1c42fe03df2bd3c53a3a9c7317ad91d80c81cd1fb0caec8d7cc4cd2bfa10c222"
dependencies = [
"cc",
"libc",
"libz-sys",
"openssl-sys",
"pkg-config",
]

[[package]]
name = "libloading"
version = "0.8.8"
Expand Down Expand Up @@ -2099,6 +2222,15 @@ dependencies = [
"vcpkg",
]

[[package]]
name = "link-cplusplus"
version = "1.0.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4a6f6da007f968f9def0d65a05b187e2960183de70c160204ecfccf0ee330212"
dependencies = [
"cc",
]

[[package]]
name = "linkchecker"
version = "0.1.0"
Expand Down Expand Up @@ -2308,6 +2440,7 @@ dependencies = [
"chrono-tz",
"colored 3.0.0",
"directories",
"genmc-sys",
"getrandom 0.3.3",
"ipc-channel",
"libc",
Expand Down Expand Up @@ -4877,6 +5010,12 @@ version = "1.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49"

[[package]]
name = "scratch"
version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9f6280af86e5f559536da57a45ebc84948833b3bee313a7dd25232e09c878a52"

[[package]]
name = "self_cell"
version = "1.2.0"
Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_codegen_ssa/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ edition = "2024"
ar_archive_writer = "0.4.2"
bitflags = "2.4.1"
bstr = "1.11.3"
# Pinned so `cargo update` bumps don't cause breakage. Please also update the
# `cc` in `rustc_llvm` if you update the `cc` here.
cc = "=1.2.16"
# `cc` updates often break things, so we pin it here. Cargo enforces "max 1 semver-compat version
# per crate", so if you change this, you need to also change it in `rustc_llvm`.
cc = "=1.2.30"
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, we could just remove the pin here and rely on rustc_llvm pinning the version for the entire workspace... 🤷

itertools = "0.12"
pathdiff = "0.2.0"
regex = "1.4"
Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_llvm/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ libc = "0.2.73"

[build-dependencies]
# tidy-alphabetical-start
# Pinned so `cargo update` bumps don't cause breakage. Please also update the
# pinned `cc` in `rustc_codegen_ssa` if you update `cc` here.
cc = "=1.2.16"
# `cc` updates often break things, so we pin it here. Cargo enforces "max 1 semver-compat version
# per crate", so if you change this, you need to also change it in `rustc_llvm`.
cc = "=1.2.30"
# tidy-alphabetical-end

[features]
Expand Down
5 changes: 5 additions & 0 deletions src/bootstrap/src/utils/proc_macro_deps.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
/// See <https://github.com/rust-lang/rust/issues/134863>
pub static CRATES: &[&str] = &[
// tidy-alphabetical-start
"allocator-api2",
"annotate-snippets",
"anstyle",
"askama_parser",
Expand All @@ -16,13 +17,17 @@ pub static CRATES: &[&str] = &[
"darling_core",
"derive_builder_core",
"digest",
"equivalent",
"fluent-bundle",
"fluent-langneg",
"fluent-syntax",
"fnv",
"foldhash",
"generic-array",
"hashbrown",
"heck",
"ident_case",
"indexmap",
"intl-memoizer",
"intl_pluralrules",
"libc",
Expand Down
51 changes: 38 additions & 13 deletions src/tools/miri/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,17 @@ jobs:
os: macos-latest
- host_target: i686-pc-windows-msvc
os: windows-latest
- host_target: aarch64-pc-windows-msvc
os: windows-11-arm
runs-on: ${{ matrix.os }}
env:
HOST_TARGET: ${{ matrix.host_target }}
steps:
- uses: actions/checkout@v4
- name: apt update
if: ${{ startsWith(matrix.os, 'ubuntu') }}
# The runners seem to have outdated apt repos sometimes
run: sudo apt update
- name: install qemu
if: ${{ matrix.qemu }}
run: sudo apt install qemu-user qemu-user-binfmt
Expand All @@ -63,6 +69,12 @@ jobs:
sudo apt update
# Install needed packages
sudo apt install $(echo "libatomic1: zlib1g-dev:" | sed 's/:/:${{ matrix.multiarch }}/g')
- name: Install rustup on Windows ARM
if: ${{ matrix.os == 'windows-11-arm' }}
run: |
curl -LOs https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe
./rustup-init.exe -y --no-modify-path
echo "$USERPROFILE/.cargo/bin" >> "$GITHUB_PATH"
- uses: ./.github/workflows/setup
with:
toolchain_flags: "--host ${{ matrix.host_target }}"
Expand Down Expand Up @@ -147,35 +159,48 @@ jobs:
- uses: actions/checkout@v4
with:
fetch-depth: 256 # get a bit more of the history
- name: install josh-proxy
run: cargo +stable install josh-proxy --git https://github.com/josh-project/josh --tag r24.10.04
- name: install josh-sync
run: cargo +stable install --locked --git https://github.com/rust-lang/josh-sync
- name: setup bot git name and email
run: |
git config --global user.name 'The Miri Cronjob Bot'
git config --global user.email '[email protected]'
- name: Install nightly toolchain
run: rustup toolchain install nightly --profile minimal
- name: get changes from rustc
run: ./miri rustc-pull
- name: Install rustup-toolchain-install-master
run: cargo install -f rustup-toolchain-install-master
- name: format changes (if any)
- name: Push changes to a branch and create PR
run: |
# Make it easier to see what happens.
set -x
# Temporarily disable early exit to examine the status code of rustc-josh-sync
set +e
rustc-josh-sync pull
exitcode=$?
set -e

# If there were no changes to pull, rustc-josh-sync returns status code 2.
# In that case, skip the rest of the job.
if [ $exitcode -eq 2 ]; then
echo "Nothing changed in rustc, skipping PR"
exit 0
elif [ $exitcode -ne 0 ]; then
# If return code was not 0 or 2, rustc-josh-sync actually failed
echo "error: rustc-josh-sync failed"
exit ${exitcode}
fi

# Format changes
./miri toolchain
./miri fmt --check || (./miri fmt && git commit -am "fmt")
- name: Push changes to a branch and create PR
run: |
# `git diff --exit-code` "succeeds" if the diff is empty.
if git diff --exit-code HEAD^; then echo "Nothing changed in rustc, skipping PR"; exit 0; fi
# The diff is non-empty, create a PR.

# Create a PR
BRANCH="rustup-$(date -u +%Y-%m-%d)"
git switch -c $BRANCH
git push -u origin $BRANCH
gh pr create -B master --title 'Automatic Rustup' --body 'Please close and re-open this PR to trigger CI, then enable auto-merge.'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ZULIP_BOT_EMAIL: ${{ secrets.ZULIP_BOT_EMAIL }}
ZULIP_API_TOKEN: ${{ secrets.ZULIP_API_TOKEN }}

cron-fail-notify:
name: cronjob failure notification
Expand All @@ -198,7 +223,7 @@ jobs:
It would appear that the [Miri cron job build]('"https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID"') failed.

This likely means that rustc changed the miri directory and
we now need to do a [`./miri rustc-pull`](https://github.com/rust-lang/miri/blob/master/CONTRIBUTING.md#importing-changes-from-the-rustc-repo).
we now need to do a [`rustc-josh-sync pull`](https://github.com/rust-lang/miri/blob/master/CONTRIBUTING.md#importing-changes-from-the-rustc-repo).

Would you mind investigating this issue?

Expand Down
1 change: 0 additions & 1 deletion src/tools/miri/.gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
target
/doc
tex/*/out
*.dot
*.out
Expand Down
Loading
Loading