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 #117011

Merged
merged 48 commits into from
Oct 21, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
fc4aa4e
add test for self-assignment on call through reference
RalfJung Oct 9, 2023
e6aa233
add test to ensure RET assignments do not get propagated on unwinding
RalfJung Oct 9, 2023
e6637cb
return_pointer_aliasing2 should also run with SB
RalfJung Oct 9, 2023
ec1db97
Auto merge of #3114 - RalfJung:fn-call-tests, r=RalfJung
bors Oct 9, 2023
700bc97
Implement `llvm.x86.aesni.*` intrinsics
eduardosm Oct 2, 2023
aaba0a5
Auto merge of #3101 - eduardosm:x86-aes-intrinsics, r=RalfJung
bors Oct 9, 2023
d3b761a
avoid confusing loop in catch_panic test
RalfJung Oct 10, 2023
2b0c8a7
Auto merge of #3117 - RalfJung:catch-panic-loop, r=RalfJung
bors Oct 10, 2023
e3c2b66
Preparing for merge from rustc
RalfJung Oct 12, 2023
461d19b
Merge from rustc
RalfJung Oct 12, 2023
35de5bb
fmt
RalfJung Oct 12, 2023
eba1f5b
Auto merge of #3120 - RalfJung:rustup, r=RalfJung
bors Oct 12, 2023
c4b45c5
Preparing for merge from rustc
Oct 14, 2023
2383a00
Merge from rustc
Oct 14, 2023
99d6cd4
Auto merge of #3121 - rust-lang:rustup-2023-10-14, r=saethlin
bors Oct 14, 2023
949bb64
Implement `llvm.x86.sse41.*` intrinsics
eduardosm Oct 10, 2023
b800211
Auto merge of #3118 - eduardosm:intrinsics-x86-sse41, r=RalfJung
bors Oct 15, 2023
1c928f9
triagebot: re-enable merge commit check
RalfJung Oct 16, 2023
c1dbc19
Auto merge of #3123 - RalfJung:triagebot, r=RalfJung
bors Oct 16, 2023
8fa1b6a
Preparing for merge from rustc
Oct 17, 2023
2ca415c
Merge from rustc
Oct 17, 2023
d6f52bf
fmt
Oct 17, 2023
f408492
Auto merge of #3126 - rust-lang:rustup-2023-10-17, r=RalfJung
bors Oct 17, 2023
a8aa303
Fix rounding mode check in SSE4.1 round functions
eduardosm Oct 16, 2023
2366a90
Auto merge of #3124 - eduardosm:fix-sse41-round, r=RalfJung
bors Oct 17, 2023
0036d40
Bump rustix from 0.38.17 to 0.38.19
dependabot[bot] Oct 18, 2023
8c5ff75
Auto merge of #3127 - rust-lang:dependabot/cargo/rustix-0.38.19, r=Ra…
bors Oct 18, 2023
277ab78
Bump rustix from 0.38.17 to 0.38.19 in /cargo-miri
dependabot[bot] Oct 18, 2023
fb39dd4
Auto merge of #3128 - rust-lang:dependabot/cargo/cargo-miri/rustix-0.…
bors Oct 18, 2023
53fff96
Bump rustix from 0.38.17 to 0.38.19 in /miri-script
dependabot[bot] Oct 18, 2023
e120dea
Auto merge of #3129 - rust-lang:dependabot/cargo/miri-script/rustix-0…
bors Oct 19, 2023
8fb03fb
Preparing for merge from rustc
RalfJung Oct 19, 2023
d5d8a51
Merge from rustc
RalfJung Oct 19, 2023
b01c480
fmt
RalfJung Oct 19, 2023
5d62040
Auto merge of #3130 - RalfJung:rustup, r=RalfJung
bors Oct 19, 2023
f386329
intptrcast: only find strictly in-bounds pointers when we are not hit…
RalfJung Oct 14, 2023
55ce55d
switch intptrcast to helper trait pattern like everything else
RalfJung Oct 14, 2023
b325f31
remove allocations from int_to_ptr_map and exposed when they get freed
RalfJung Oct 14, 2023
ecaf828
clarify comment
RalfJung Oct 19, 2023
1e71277
Auto merge of #3122 - RalfJung:intrptrcast-clean, r=saethlin
bors Oct 19, 2023
464135d
Preparing for merge from rustc
RalfJung Oct 20, 2023
20fe485
Merge from rustc
RalfJung Oct 20, 2023
b824bb1
ignore deny lints in josh
RalfJung Oct 20, 2023
c51ce16
Auto merge of #3131 - RalfJung:rustup, r=RalfJung
bors Oct 20, 2023
ee54d83
Preparing for merge from rustc
Oct 21, 2023
8044a59
Merge from rustc
Oct 21, 2023
49056df
Auto merge of #3132 - rust-lang:rustup-2023-10-21, r=RalfJung
bors Oct 21, 2023
49e8acb
update lockfile
RalfJung Oct 21, 2023
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
31 changes: 31 additions & 0 deletions Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,17 @@ dependencies = [
"rustc-std-workspace-core",
]

[[package]]
name = "aes"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
dependencies = [
"cfg-if",
"cipher",
"cpufeatures",
]

[[package]]
name = "ahash"
version = "0.8.3"
Expand Down Expand Up @@ -470,6 +481,16 @@ dependencies = [
"winapi",
]

[[package]]
name = "cipher"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
"crypto-common",
"inout",
]

[[package]]
name = "clap"
version = "4.4.4"
Expand Down Expand Up @@ -1984,6 +2005,15 @@ version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "bfa799dd5ed20a7e349f3b4639aa80d74549c81716d9ec4f994c9b5815598306"

[[package]]
name = "inout"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [
"generic-array",
]

[[package]]
name = "installer"
version = "0.0.0"
Expand Down Expand Up @@ -2465,6 +2495,7 @@ dependencies = [
name = "miri"
version = "0.1.0"
dependencies = [
"aes",
"colored",
"ctrlc",
"env_logger 0.10.0",
Expand Down
4 changes: 2 additions & 2 deletions src/tools/miri/.github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ jobs:
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 r22.12.06
run: RUSTFLAGS="--cap-lints warn" cargo +stable install josh-proxy --git https://github.com/josh-project/josh --tag r22.12.06
- name: setup bot git name and email
run: |
git config --global user.name 'The Miri Conjob Bot'
Expand All @@ -208,7 +208,7 @@ jobs:
git push -u origin $BRANCH
- name: Create Pull Request
run: |
PR=$(gh pr create -B master --title 'Automatic sync from rustc' --body '')
PR=$(gh pr create -B master --title 'Automatic Rustup' --body '')
~/.local/bin/zulip-send --user $ZULIP_BOT_EMAIL --api-key $ZULIP_API_TOKEN --site https://rust-lang.zulipchat.com \
--stream miri --subject "Cron Job Failure (miri, $(date -u +%Y-%m))" \
--message "A PR doing a rustc-pull [has been automatically created]($PR) for your convenience."
Expand Down
76 changes: 74 additions & 2 deletions src/tools/miri/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ version = "1.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f26201604c87b1e01bd3d98f8d5d9a8fcbb815e8cedb41ffccbeb4bf593a35fe"

[[package]]
name = "aes"
version = "0.8.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ac1f845298e95f983ff1944b728ae08b8cebab80d684f0a832ed0fc74dfa27e2"
dependencies = [
"cfg-if",
"cipher",
"cpufeatures",
]

[[package]]
name = "aho-corasick"
version = "1.1.1"
Expand Down Expand Up @@ -142,6 +153,16 @@ version = "1.0.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"

[[package]]
name = "cipher"
version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad"
dependencies = [
"crypto-common",
"inout",
]

[[package]]
name = "color-eyre"
version = "0.6.2"
Expand Down Expand Up @@ -199,6 +220,15 @@ dependencies = [
"windows-sys 0.45.0",
]

[[package]]
name = "cpufeatures"
version = "0.2.9"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a17b76ff3a4162b0b27f354a0c87015ddad39d35f9c0c36607a3bdd175dde1f1"
dependencies = [
"libc",
]

[[package]]
name = "crossbeam-channel"
version = "0.5.8"
Expand All @@ -218,6 +248,16 @@ dependencies = [
"cfg-if",
]

[[package]]
name = "crypto-common"
version = "0.1.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1bfb12502f3fc46cca1bb51ac28df9d618d813cdc3d2f25b9fe775a34af26bb3"
dependencies = [
"generic-array",
"typenum",
]

[[package]]
name = "ctrlc"
version = "3.4.1"
Expand Down Expand Up @@ -284,6 +324,16 @@ version = "2.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25cbce373ec4653f1a01a31e8a5e5ec0c622dc27ff9c4e6606eefef5cbbed4a5"

[[package]]
name = "generic-array"
version = "0.14.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a"
dependencies = [
"typenum",
"version_check",
]

[[package]]
name = "getrandom"
version = "0.2.10"
Expand Down Expand Up @@ -332,6 +382,15 @@ dependencies = [
"unicode-width",
]

[[package]]
name = "inout"
version = "0.1.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5"
dependencies = [
"generic-array",
]

[[package]]
name = "instant"
version = "0.1.12"
Expand Down Expand Up @@ -469,6 +528,7 @@ dependencies = [
name = "miri"
version = "0.1.0"
dependencies = [
"aes",
"colored",
"ctrlc",
"env_logger",
Expand Down Expand Up @@ -726,9 +786,9 @@ dependencies = [

[[package]]
name = "rustix"
version = "0.38.17"
version = "0.38.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7"
checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
dependencies = [
"bitflags 2.4.0",
"errno",
Expand Down Expand Up @@ -909,6 +969,12 @@ dependencies = [
"tracing-core",
]

[[package]]
name = "typenum"
version = "1.17.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "42ff0bf0c66b8238c6f3b578df37d0b7848e55df8577b3f74f92a69acceeb825"

[[package]]
name = "ui_test"
version = "0.21.2"
Expand Down Expand Up @@ -954,6 +1020,12 @@ version = "0.1.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "830b7e5d4d90034032940e4ace0d9a9a057e7a45cd94e6c007832e39edb82f6d"

[[package]]
name = "version_check"
version = "0.9.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"

[[package]]
name = "wasi"
version = "0.11.0+wasi-snapshot-preview1"
Expand Down
1 change: 1 addition & 0 deletions src/tools/miri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ env_logger = "0.10"
log = "0.4"
rand = "0.8"
smallvec = "1.7"
aes = { version = "0.8.3", features = ["hazmat"] }

measureme = "10.0.0"
ctrlc = "3.2.5"
Expand Down
4 changes: 2 additions & 2 deletions src/tools/miri/cargo-miri/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -238,9 +238,9 @@ dependencies = [

[[package]]
name = "rustix"
version = "0.38.17"
version = "0.38.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7"
checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
dependencies = [
"bitflags 2.4.0",
"errno",
Expand Down
4 changes: 2 additions & 2 deletions src/tools/miri/miri-script/Cargo.lock
Original file line number Diff line number Diff line change
Expand Up @@ -213,9 +213,9 @@ dependencies = [

[[package]]
name = "rustix"
version = "0.38.17"
version = "0.38.19"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f25469e9ae0f3d0047ca8b93fc56843f38e6774f0914a107ff8b41be8be8e0b7"
checksum = "745ecfa778e66b2b63c88a61cb36e0eea109e803b0b86bf9879fbc77c70e86ed"
dependencies = [
"bitflags 2.4.0",
"errno",
Expand Down
2 changes: 1 addition & 1 deletion src/tools/miri/rust-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
4ea5190026dbc1302b644d938e68bc6843cb8b24
249624b5043013d18c00f0401ca431c1a6baa8cd
6 changes: 1 addition & 5 deletions src/tools/miri/src/borrow_tracker/tree_borrows/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -206,11 +206,7 @@ trait EvalContextPrivExt<'mir: 'ecx, 'tcx: 'mir, 'ecx>: crate::MiriInterpCxExt<'
// Make sure the new permission makes sense as the initial permission of a fresh tag.
assert!(new_perm.initial_state.is_initial());
// Ensure we bail out if the pointer goes out-of-bounds (see miri#1050).
this.check_ptr_access(
place.ptr(),
ptr_size,
CheckInAllocMsg::InboundsTest,
)?;
this.check_ptr_access(place.ptr(), ptr_size, CheckInAllocMsg::InboundsTest)?;

// It is crucial that this gets called on all code paths, to ensure we track tag creation.
let log_creation = |this: &MiriInterpCx<'mir, 'tcx>,
Expand Down
5 changes: 1 addition & 4 deletions src/tools/miri/src/concurrency/data_race.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1017,10 +1017,7 @@ trait EvalContextPrivExt<'mir, 'tcx: 'mir>: MiriInterpCxExt<'mir, 'tcx> {
// even if the type they wrap would be less aligned (e.g. AtomicU64 on 32bit must
// be 8-aligned).
let align = Align::from_bytes(place.layout.size.bytes()).unwrap();
this.check_ptr_align(
place.ptr(),
align,
)?;
this.check_ptr_align(place.ptr(), align)?;
// Ensure the allocation is mutable. Even failing (read-only) compare_exchange need mutable
// memory on many targets (i.e., they segfault if taht memory is mapped read-only), and
// atomic loads can be implemented via compare_exchange on some targets. There could
Expand Down
4 changes: 1 addition & 3 deletions src/tools/miri/src/helpers.rs
Original file line number Diff line number Diff line change
Expand Up @@ -868,9 +868,7 @@ pub trait EvalContextExt<'mir, 'tcx: 'mir>: crate::MiriInterpCxExt<'mir, 'tcx> {
let size2 = Size::from_bytes(2);
let this = self.eval_context_mut();
this.check_ptr_align(ptr, Align::from_bytes(2).unwrap())?;
let mut alloc = this
.get_ptr_alloc_mut(ptr, size2 * string_length)?
.unwrap(); // not a ZST, so we will get a result
let mut alloc = this.get_ptr_alloc_mut(ptr, size2 * string_length)?.unwrap(); // not a ZST, so we will get a result
for (offset, wchar) in wide_str.iter().copied().chain(iter::once(0x0000)).enumerate() {
let offset = u64::try_from(offset).unwrap();
alloc.write_scalar(alloc_range(size2 * offset, size2), Scalar::from_u16(wchar))?;
Expand Down
Loading
Loading