Skip to content

Commit e01cb62

Browse files
authored
Rollup merge of #134050 - RalfJung:miri-sync, r=RalfJung
Miri subtree update r? `@ghost`
2 parents 86f3ed3 + a33b4b1 commit e01cb62

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+1755
-1164
lines changed

Diff for: Cargo.lock

-1
Original file line numberDiff line numberDiff line change
@@ -2274,7 +2274,6 @@ dependencies = [
22742274
"chrono",
22752275
"chrono-tz",
22762276
"colored",
2277-
"ctrlc",
22782277
"directories",
22792278
"getrandom",
22802279
"libc",

Diff for: src/tools/miri/Cargo.lock

+12-41
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# This file is automatically @generated by Cargo.
22
# It is not intended for manual editing.
3-
version = 3
3+
version = 4
44

55
[[package]]
66
name = "addr2line"
@@ -150,12 +150,6 @@ version = "1.0.0"
150150
source = "registry+https://github.com/rust-lang/crates.io-index"
151151
checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
152152

153-
[[package]]
154-
name = "cfg_aliases"
155-
version = "0.1.1"
156-
source = "registry+https://github.com/rust-lang/crates.io-index"
157-
checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
158-
159153
[[package]]
160154
name = "chrono"
161155
version = "0.4.38"
@@ -286,16 +280,6 @@ dependencies = [
286280
"typenum",
287281
]
288282

289-
[[package]]
290-
name = "ctrlc"
291-
version = "3.4.4"
292-
source = "registry+https://github.com/rust-lang/crates.io-index"
293-
checksum = "672465ae37dc1bc6380a6547a8883d5dd397b0f1faaad4f265726cc7042a5345"
294-
dependencies = [
295-
"nix",
296-
"windows-sys 0.52.0",
297-
]
298-
299283
[[package]]
300284
name = "directories"
301285
version = "5.0.1"
@@ -419,16 +403,6 @@ version = "1.0.11"
419403
source = "registry+https://github.com/rust-lang/crates.io-index"
420404
checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
421405

422-
[[package]]
423-
name = "jemalloc-sys"
424-
version = "0.5.4+5.3.0-patched"
425-
source = "registry+https://github.com/rust-lang/crates.io-index"
426-
checksum = "ac6c1946e1cea1788cbfde01c993b52a10e2da07f4bac608228d1bed20bfebf2"
427-
dependencies = [
428-
"cc",
429-
"libc",
430-
]
431-
432406
[[package]]
433407
name = "lazy_static"
434408
version = "1.5.0"
@@ -554,10 +528,8 @@ dependencies = [
554528
"chrono",
555529
"chrono-tz",
556530
"colored",
557-
"ctrlc",
558531
"directories",
559532
"getrandom",
560-
"jemalloc-sys",
561533
"libc",
562534
"libffi",
563535
"libloading",
@@ -567,22 +539,11 @@ dependencies = [
567539
"rustc_version",
568540
"smallvec",
569541
"tempfile",
542+
"tikv-jemalloc-sys",
570543
"ui_test",
571544
"windows-sys 0.52.0",
572545
]
573546

574-
[[package]]
575-
name = "nix"
576-
version = "0.28.0"
577-
source = "registry+https://github.com/rust-lang/crates.io-index"
578-
checksum = "ab2156c4fce2f8df6c499cc1c763e4394b7482525bf2a9701c9d79d215f519e4"
579-
dependencies = [
580-
"bitflags",
581-
"cfg-if",
582-
"cfg_aliases",
583-
"libc",
584-
]
585-
586547
[[package]]
587548
name = "num-traits"
588549
version = "0.2.19"
@@ -1031,6 +992,16 @@ dependencies = [
1031992
"once_cell",
1032993
]
1033994

995+
[[package]]
996+
name = "tikv-jemalloc-sys"
997+
version = "0.6.0+5.3.0-1-ge13ca993e8ccb9ba9847cc330696e02839f328f7"
998+
source = "registry+https://github.com/rust-lang/crates.io-index"
999+
checksum = "cd3c60906412afa9c2b5b5a48ca6a5abe5736aec9eb48ad05037a677e52e4e2d"
1000+
dependencies = [
1001+
"cc",
1002+
"libc",
1003+
]
1004+
10341005
[[package]]
10351006
name = "tracing"
10361007
version = "0.1.40"

Diff for: src/tools/miri/Cargo.toml

-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ rand = "0.8"
2323
smallvec = { version = "1.7", features = ["drain_filter"] }
2424
aes = { version = "0.8.3", features = ["hazmat"] }
2525
measureme = "11"
26-
ctrlc = "3.2.5"
2726
chrono = { version = "0.4.38", default-features = false }
2827
chrono-tz = "0.10"
2928
directories = "5"

Diff for: src/tools/miri/README.md

+4-3
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,10 @@ Further caveats that Miri users should be aware of:
6868
not support networking. System API support varies between targets; if you run
6969
on Windows it is a good idea to use `--target x86_64-unknown-linux-gnu` to get
7070
better support.
71-
* Weak memory emulation may [produce weak behaviors](https://github.com/rust-lang/miri/issues/2301)
72-
when `SeqCst` fences are used that are not actually permitted by the Rust memory model, and it
73-
cannot produce all behaviors possibly observable on real hardware.
71+
* Weak memory emulation is not complete: there are legal behaviors that Miri will never produce.
72+
However, Miri produces many behaviors that are hard to observe on real hardware, so it can help
73+
quite a bit in finding weak memory concurrency bugs. To be really sure about complicated atomic
74+
code, use specialized tools such as [loom](https://github.com/tokio-rs/loom).
7475

7576
Moreover, Miri fundamentally cannot ensure that your code is *sound*. [Soundness] is the property of
7677
never causing undefined behavior when invoked from arbitrary safe code, even in combination with
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file is automatically @generated by Cargo.
2+
# It is not intended for manual editing.
3+
version = 3
4+
5+
[[package]]
6+
name = "string-replace"
7+
version = "0.1.0"
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[package]
2+
name = "string-replace"
3+
version = "0.1.0"
4+
edition = "2021"
5+
6+
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
7+
8+
[dependencies]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[{"_id":"6724e6fc58417687afba2b85","index":0,"guid":"5c1bd108-2ee2-40bd-bce8-895c206409df","isActive":true,"balance":"$2,927.88","picture":"http://placehold.it/32x32","age":40,"eyeColor":"green","name":"Wynn Bradshaw","gender":"male","company":"ROTODYNE","email":"[email protected]","phone":"+1 (904) 559-3130","address":"287 Bergen Avenue, Sperryville, Alaska, 5392","about":"Adipisicing fugiat aute adipisicing qui esse cillum. Lorem consequat consectetur voluptate id pariatur nostrud incididunt aliquip incididunt laboris aliqua. Magna nulla adipisicing cupidatat ea velit aliquip magna duis duis sunt ipsum. Cillum labore mollit fugiat tempor dolor sit.\r\n","registered":"2017-01-26T01:28:10 -01:00","latitude":46.089504,"longitude":51.763723,"greeting":"Hello, Wynn Bradshaw! You have 6 unread messages.","favoriteFruit":"banana"},{"_id":"6724e6fce8619d86c0389ccf","index":1,"guid":"ced7fbb7-3b1a-419b-9fc7-d47582bbb3ea","isActive":true,"balance":"$1,856.38","picture":"http://placehold.it/32x32","age":21,"eyeColor":"brown","name":"Olsen Larsen","gender":"male","company":"VERBUS","email":"[email protected]","phone":"+1 (936) 480-3749","address":"370 Losee Terrace, Churchill, Maine, 4040","about":"Consequat Lorem in laboris fugiat veniam tempor eiusmod eu incididunt enim do et qui. Sit commodo eu excepteur cillum ex tempor commodo ex ex laboris esse. Aute aute nulla dolore dolor do. Irure esse proident nostrud non. Incididunt velit reprehenderit incididunt laboris do. Consequat nulla est id ex veniam tempor. Sit Lorem magna cillum aliquip irure quis sit minim anim.\r\n","registered":"2016-07-12T02:08:39 -02:00","latitude":-12.843628,"longitude":-124.143829,"greeting":"Hello, Olsen Larsen! You have 1 unread messages.","favoriteFruit":"apple"},{"_id":"6724e6fc01b471965ea560cf","index":2,"guid":"21fde9a3-13ba-46be-baed-fb503f668b9e","isActive":false,"balance":"$2,025.88","picture":"http://placehold.it/32x32","age":29,"eyeColor":"green","name":"Ramirez Kinney","gender":"male","company":"QUAREX","email":"[email protected]","phone":"+1 (852) 447-2930","address":"986 Cornelia Street, Oberlin, Texas, 362","about":"Minim ea proident quis eiusmod aliquip duis excepteur velit minim aute cupidatat. Esse qui ex aliquip laborum id reprehenderit. Anim dolore commodo deserunt laborum nulla duis. Sint quis anim mollit fugiat sit incididunt reprehenderit occaecat aliqua dolor. Ullamco ipsum eiusmod incididunt proident qui exercitation adipisicing voluptate elit aliquip. Tempor duis aute incididunt adipisicing.\r\n","registered":"2016-02-23T05:34:14 -01:00","latitude":-56.21645,"longitude":44.048129,"greeting":"Hello, Ramirez Kinney! You have 9 unread messages.","favoriteFruit":"banana"},{"_id":"6724e6fc3ea8e4182b9e170f","index":3,"guid":"46b20637-eecc-40db-87d7-03da9bcd1cea","isActive":true,"balance":"$3,399.31","picture":"http://placehold.it/32x32","age":39,"eyeColor":"brown","name":"Hansen Kaufman","gender":"male","company":"EVENTAGE","email":"[email protected]","phone":"+1 (827) 483-2303","address":"916 Brighton Court, Sunbury, New Mexico, 3804","about":"Nisi in voluptate aute ullamco ipsum proident fugiat veniam anim reprehenderit. In ad irure dolor labore culpa incididunt veniam mollit Lorem deserunt cupidatat incididunt. Aliquip aliquip proident ut culpa.\r\n","registered":"2023-10-18T07:03:48 -02:00","latitude":-40.239135,"longitude":49.802049,"greeting":"Hello, Hansen Kaufman! You have 10 unread messages.","favoriteFruit":"apple"},{"_id":"6724e6fc721f83a10cf2aa37","index":4,"guid":"3d23743b-1e82-474e-8f7a-855fa46170d1","isActive":false,"balance":"$1,967.87","picture":"http://placehold.it/32x32","age":35,"eyeColor":"green","name":"Imelda Stephens","gender":"female","company":"OHMNET","email":"[email protected]","phone":"+1 (893) 523-2400","address":"391 Wilson Street, Glidden, Kansas, 7226","about":"Officia sunt magna adipisicing id exercitation deserunt deserunt aliquip excepteur Lorem enim fugiat. Nulla culpa ut cupidatat excepteur do deserunt labore id eu laboris ullamco adipisicing ad. Et non nisi adipisicing minim aliquip ea ut qui adipisicing do laboris ex dolore duis.\r\n","registered":"2020-10-20T07:03:38 -02:00","latitude":0.348698,"longitude":-157.961956,"greeting":"Hello, Imelda Stephens! You have 2 unread messages.","favoriteFruit":"strawberry"},{"_id":"6724e6fc7ad7274b9f4c406c","index":5,"guid":"626292b1-ae84-4887-9e29-78e548cd24e6","isActive":true,"balance":"$1,577.44","picture":"http://placehold.it/32x32","age":40,"eyeColor":"brown","name":"Lynne Jarvis","gender":"female","company":"CORECOM","email":"[email protected]","phone":"+1 (899) 556-3876","address":"465 National Drive, Davenport, Palau, 9786","about":"Aliquip elit dolore sint quis do laboris exercitation elit aliqua eiusmod. Excepteur ad aliqua eiusmod incididunt tempor laboris officia consectetur sit. Cupidatat voluptate deserunt ut consectetur qui laborum duis elit incididunt occaecat laborum. Mollit aute velit officia amet aute minim fugiat sit laborum Lorem deserunt in. Exercitation eu sunt nulla adipisicing quis ea aute est. Lorem ea cillum ad labore quis minim et est laboris deserunt proident. Amet ut tempor laborum occaecat exercitation ullamco laborum adipisicing fugiat ea voluptate quis fugiat.\r\n","registered":"2018-11-03T03:53:15 -01:00","latitude":89.827087,"longitude":-136.882799,"greeting":"Hello, Lynne Jarvis! You have 3 unread messages.","favoriteFruit":"strawberry"},{"_id":"6724e6fcef1a1db2cf170762","index":6,"guid":"b8777c06-b90f-49a4-8737-96712fc504a3","isActive":false,"balance":"$2,285.03","picture":"http://placehold.it/32x32","age":37,"eyeColor":"green","name":"Price Bolton","gender":"male","company":"IMANT","email":"[email protected]","phone":"+1 (825) 424-2873","address":"237 Aberdeen Street, Sattley, Montana, 2918","about":"Non cillum irure fugiat consequat ad ex. Magna magna tempor excepteur irure quis. Duis in laboris ipsum adipisicing culpa magna reprehenderit nisi incididunt est veniam quis. Labore culpa ut culpa veniam est est consectetur ipsum ex esse.\r\n","registered":"2014-04-26T01:20:19 -02:00","latitude":70.349258,"longitude":126.810102,"greeting":"Hello, Price Bolton! You have 10 unread messages.","favoriteFruit":"banana"},{"_id":"6724e6fc8bcb952208c159f9","index":7,"guid":"a4e6c6c8-3fe3-42de-ae28-79c16956d309","isActive":false,"balance":"$1,298.07","picture":"http://placehold.it/32x32","age":28,"eyeColor":"blue","name":"Gretchen Wynn","gender":"female","company":"TERASCAPE","email":"[email protected]","phone":"+1 (882) 447-2895","address":"973 Suydam Place, Shindler, Nebraska, 8094","about":"Anim mollit labore magna proident ipsum culpa enim deserunt dolore sunt veniam fugiat. Ad fugiat cupidatat nisi commodo dolore duis commodo nostrud est. Enim proident ullamco non adipisicing magna consequat mollit ad reprehenderit laboris. Ex quis duis anim id non commodo amet sunt est magna officia.\r\n","registered":"2021-08-13T08:51:32 -02:00","latitude":14.551848,"longitude":-27.142242,"greeting":"Hello, Gretchen Wynn! You have 7 unread messages.","favoriteFruit":"apple"},{"_id":"6724e6fcc8243c2dfa47f5d4","index":8,"guid":"27df20d5-c1d8-419b-ad38-bdd1e6094775","isActive":true,"balance":"$3,005.40","picture":"http://placehold.it/32x32","age":33,"eyeColor":"blue","name":"Chen Travis","gender":"male","company":"MEMORA","email":"[email protected]","phone":"+1 (980) 500-2406","address":"182 Dahlgreen Place, Baker, South Carolina, 9817","about":"Ad nisi consequat aliquip eiusmod aute pariatur est sint magna. Ad magna anim esse qui Lorem nulla veniam dolore eiusmod. Cillum consequat sit aliqua est proident exercitation eiusmod irure. Minim eu laboris ad incididunt enim sunt. Sunt in excepteur aute non tempor irure mollit laboris. Eu et duis ullamco dolor sint occaecat officia culpa ipsum anim anim eu veniam aliquip. Exercitation ipsum dolor sint cillum duis incididunt minim quis irure enim reprehenderit do do incididunt.\r\n","registered":"2019-09-01T02:57:37 -02:00","latitude":25.442301,"longitude":48.381036,"greeting":"Hello, Chen Travis! You have 1 unread messages.","favoriteFruit":"banana"}]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const TCB_INFO_JSON: &str = include_str!("../data.json");
2+
3+
fn main() {
4+
let tcb_json = TCB_INFO_JSON;
5+
let bad_tcb_json = tcb_json.replace("female", "male");
6+
std::hint::black_box(bad_tcb_json);
7+
}

Diff for: src/tools/miri/cargo-miri/src/phases.rs

+8-5
Original file line numberDiff line numberDiff line change
@@ -348,14 +348,17 @@ pub fn phase_rustc(mut args: impl Iterator<Item = String>, phase: RustcPhase) {
348348
// Create a stub .d file to stop Cargo from "rebuilding" the crate:
349349
// https://github.com/rust-lang/miri/issues/1724#issuecomment-787115693
350350
// As we store a JSON file instead of building the crate here, an empty file is fine.
351-
let dep_info_name = format!(
352-
"{}/{}{}.d",
353-
get_arg_flag_value("--out-dir").unwrap(),
351+
let mut dep_info_name = PathBuf::from(get_arg_flag_value("--out-dir").unwrap());
352+
dep_info_name.push(format!(
353+
"{}{}.d",
354354
get_arg_flag_value("--crate-name").unwrap(),
355355
get_arg_flag_value("extra-filename").unwrap_or_default(),
356-
);
356+
));
357357
if verbose > 0 {
358-
eprintln!("[cargo-miri rustc] writing stub dep-info to `{dep_info_name}`");
358+
eprintln!(
359+
"[cargo-miri rustc] writing stub dep-info to `{}`",
360+
dep_info_name.display()
361+
);
359362
}
360363
File::create(dep_info_name).expect("failed to create fake .d file");
361364
}

Diff for: src/tools/miri/ci/ci.sh

+3-3
Original file line numberDiff line numberDiff line change
@@ -152,9 +152,9 @@ case $HOST_TARGET in
152152
UNIX="hello 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
153153
TEST_TARGET=x86_64-unknown-freebsd run_tests_minimal $BASIC $UNIX time hashmap random threadname pthread fs libc-pipe
154154
TEST_TARGET=i686-unknown-freebsd run_tests_minimal $BASIC $UNIX time hashmap random threadname pthread fs libc-pipe
155-
TEST_TARGET=x86_64-unknown-illumos run_tests_minimal $BASIC $UNIX time hashmap random thread sync available-parallelism tls libc-pipe
156-
TEST_TARGET=x86_64-pc-solaris run_tests_minimal $BASIC $UNIX time hashmap random thread sync available-parallelism tls libc-pipe
157-
TEST_TARGET=aarch64-linux-android run_tests_minimal $BASIC $UNIX time hashmap random sync threadname pthread
155+
TEST_TARGET=x86_64-unknown-illumos run_tests_minimal $BASIC $UNIX time hashmap random thread sync available-parallelism tls libc-pipe fs
156+
TEST_TARGET=x86_64-pc-solaris run_tests_minimal $BASIC $UNIX time hashmap random thread sync available-parallelism tls libc-pipe fs
157+
TEST_TARGET=aarch64-linux-android run_tests_minimal $BASIC $UNIX time hashmap random sync threadname pthread epoll eventfd
158158
TEST_TARGET=wasm32-wasip2 run_tests_minimal $BASIC wasm
159159
TEST_TARGET=wasm32-unknown-unknown run_tests_minimal no_std empty_main wasm # this target doesn't really have std
160160
TEST_TARGET=thumbv7em-none-eabihf run_tests_minimal no_std

Diff for: src/tools/miri/rust-version

+1-1
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2d0ea7956c45de6e421fd579e2ded27be405dec6
1+
728f2daab42ba8f1b3d5caab62495798d1eabfa1

Diff for: src/tools/miri/src/bin/miri.rs

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
clippy::manual_range_contains,
44
clippy::useless_format,
55
clippy::field_reassign_with_default,
6+
clippy::needless_lifetimes,
67
rustc::diagnostic_outside_of_impl,
78
rustc::untranslatable_diagnostic
89
)]

0 commit comments

Comments
 (0)