Skip to content

Commit 1a1c693

Browse files
authored
Merge pull request #20128 from lnicola/sync-from-rust
Sync from downstream
2 parents 016d01b + e086f52 commit 1a1c693

Some content is hidden

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

46 files changed

+1801
-337
lines changed

Cargo.lock

Lines changed: 192 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,12 @@ libc = "0.2"
4040
libffi = "4.0.0"
4141
libloading = "0.8"
4242

43+
[target.'cfg(target_os = "linux")'.dependencies]
44+
nix = { version = "0.30.1", features = ["mman", "ptrace", "signal"] }
45+
ipc-channel = "0.19.0"
46+
serde = { version = "1.0.219", features = ["derive"] }
47+
capstone = "0.13"
48+
4349
[dev-dependencies]
4450
ui_test = "0.29.1"
4551
colored = "2"

README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,9 @@ to Miri failing to detect cases of undefined behavior in a program.
419419
Finally, the flag is **unsound** in the sense that Miri stops tracking details such as
420420
initialization and provenance on memory shared with native code, so it is easily possible to write
421421
code that has UB which is missed by Miri.
422+
* `-Zmiri-native-lib-enable-tracing` enables the WIP detailed tracing mode for invoking native code.
423+
Note that this flag is only meaningful on Linux systems; other Unixes (currently) do not support
424+
tracing mode.
422425
* `-Zmiri-measureme=<name>` enables `measureme` profiling for the interpreted program.
423426
This can be used to find which parts of your program are executing slowly under Miri.
424427
The profile is written out to a file inside a directory called `<name>`, and can be processed
@@ -592,7 +595,7 @@ Definite bugs found:
592595
* [Occasional memory leak in `std::mpsc` channels](https://github.com/rust-lang/rust/issues/121582) (original code in [crossbeam](https://github.com/crossbeam-rs/crossbeam/pull/1084))
593596
* [Weak-memory-induced memory leak in Windows thread-local storage](https://github.com/rust-lang/rust/pull/124281)
594597
* [A bug in the new `RwLock::downgrade` implementation](https://rust-lang.zulipchat.com/#narrow/channel/269128-miri/topic/Miri.20error.20library.20test) (caught by Miri before it landed in the Rust repo)
595-
* [Mockall reading unintialized memory when mocking `std::io::Read::read`, even if all expectations are satisfied](https://github.com/asomers/mockall/issues/647) (caught by Miri running Tokio's test suite)
598+
* [Mockall reading uninitialized memory when mocking `std::io::Read::read`, even if all expectations are satisfied](https://github.com/asomers/mockall/issues/647) (caught by Miri running Tokio's test suite)
596599
* [`ReentrantLock` not correctly dealing with reuse of addresses for TLS storage of different threads](https://github.com/rust-lang/rust/pull/141248)
597600

598601
Violations of [Stacked Borrows] found that are likely bugs (but Stacked Borrows is currently just an experiment):

cargo-miri/src/setup.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ pub fn setup(
8383
SysrootConfig::NoStd
8484
} else {
8585
SysrootConfig::WithStd {
86-
std_features: ["panic_unwind", "backtrace"].into_iter().map(Into::into).collect(),
86+
std_features: ["panic-unwind", "backtrace"].into_iter().map(Into::into).collect(),
8787
}
8888
};
8989
let cargo_cmd = {

0 commit comments

Comments
 (0)