From 35ece43ef79b1b472ed13b6eb353fb38a2c4a544 Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Thu, 28 Jan 2021 10:58:33 +0100 Subject: [PATCH 1/3] Document -Zmiri-compare-exchange-weak-failure-rate --- README.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/README.md b/README.md index b2f0babfc9bc..72e69d45033b 100644 --- a/README.md +++ b/README.md @@ -251,6 +251,10 @@ environment variable: can recognize false positives by "" occurring in the message -- this indicates a pointer that was cast from an integer, so Miri was unable to track this pointer. +* `-Zmiri-compare-exchange-weak-failure-rate=` changes the failure rate of + weak atomic operations. The default is `0.8` (so 4 out of 5 weak ops will fail. + You can change it to any value between `0.0` and `1.0`, where `1.0` means it + will always fail and `0.0` means it will never fail. Some native rustc `-Z` flags are also very relevant for Miri: From bd04091a16156f4702118b371e02ef1460b9e0b8 Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Sat, 30 Jan 2021 20:05:21 +0100 Subject: [PATCH 2/3] Update README.md Co-authored-by: Ralf Jung --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 72e69d45033b..d742d7558c4d 100644 --- a/README.md +++ b/README.md @@ -252,7 +252,7 @@ environment variable: indicates a pointer that was cast from an integer, so Miri was unable to track this pointer. * `-Zmiri-compare-exchange-weak-failure-rate=` changes the failure rate of - weak atomic operations. The default is `0.8` (so 4 out of 5 weak ops will fail. + `compare_exchange_weak` operations. The default is `0.8` (so 4 out of 5 weak ops will fail). You can change it to any value between `0.0` and `1.0`, where `1.0` means it will always fail and `0.0` means it will never fail. From 397443093de127ada63ec74bd048394050aa1a10 Mon Sep 17 00:00:00 2001 From: Oli Scherer Date: Sat, 30 Jan 2021 20:06:05 +0100 Subject: [PATCH 3/3] Update README.md --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d742d7558c4d..ae70c80d5f0a 100644 --- a/README.md +++ b/README.md @@ -195,6 +195,10 @@ up the sysroot. If you are using `miri` (the Miri driver) directly, see the Miri adds its own set of `-Z` flags, which are usually set via the `MIRIFLAGS` environment variable: +* `-Zmiri-compare-exchange-weak-failure-rate=` changes the failure rate of + `compare_exchange_weak` operations. The default is `0.8` (so 4 out of 5 weak ops will fail). + You can change it to any value between `0.0` and `1.0`, where `1.0` means it + will always fail and `0.0` means it will never fail. * `-Zmiri-disable-alignment-check` disables checking pointer alignment, so you can focus on other failures, but it means Miri can miss bugs in your program. Using this flag is **unsound**. @@ -251,10 +255,6 @@ environment variable: can recognize false positives by "" occurring in the message -- this indicates a pointer that was cast from an integer, so Miri was unable to track this pointer. -* `-Zmiri-compare-exchange-weak-failure-rate=` changes the failure rate of - `compare_exchange_weak` operations. The default is `0.8` (so 4 out of 5 weak ops will fail). - You can change it to any value between `0.0` and `1.0`, where `1.0` means it - will always fail and `0.0` means it will never fail. Some native rustc `-Z` flags are also very relevant for Miri: