aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorglozow <gloriajzhao@gmail.com>2023-02-24 13:57:54 +0000
committerglozow <gloriajzhao@gmail.com>2023-02-24 13:58:04 +0000
commitbe2e748f378fc9ed40593a723dd18f2528705956 (patch)
tree67757295e0f96efce66b17dc16b9edc57aef5f88
parent6758bd7de75d65d08f9f588378b92a56cc79a49e (diff)
parent84ca5b349ecc2ad083bb39352e5d5ae731fb1622 (diff)
Merge bitcoin/bitcoin#27154: doc: mention sanitizer suppressions in developer docs
84ca5b349ecc2ad083bb39352e5d5ae731fb1622 doc: mention sanitizer suppressions in developer docs (fanquake) Pull request description: Should be enough to close #17834. ACKs for top commit: MarcoFalke: lgtm ACK 84ca5b349ecc2ad083bb39352e5d5ae731fb1622 Tree-SHA512: 233c688a3cef1006c9a00f7b7a52fd6ee0ec150367e5e56904b6f1bbdca21b9217c69f8fcf653a4943613d12c3178a39f761b25eb24fc1954a563cfb1f832f5e
-rw-r--r--doc/developer-notes.md15
1 files changed, 13 insertions, 2 deletions
diff --git a/doc/developer-notes.md b/doc/developer-notes.md
index e2e54e13d3..f15df1bf73 100644
--- a/doc/developer-notes.md
+++ b/doc/developer-notes.md
@@ -560,8 +560,19 @@ address sanitizer, libtsan for the thread sanitizer, and libubsan for the
undefined sanitizer. If you are missing required libraries, the configure script
will fail with a linker error when testing the sanitizer flags.
-The test suite should pass cleanly with the `thread` and `undefined` sanitizers,
-but there are a number of known problems when using the `address` sanitizer. The
+The test suite should pass cleanly with the `thread` and `undefined` sanitizers. You
+may need to use a suppressions file, see `test/sanitizer_suppressions`. They may be
+used as follows:
+```bash
+export LSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/lsan"
+export TSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/tsan:halt_on_error=1:second_deadlock_stack=1"
+export UBSAN_OPTIONS="suppressions=$(pwd)/test/sanitizer_suppressions/ubsan:print_stacktrace=1:halt_on_error=1:report_error_type=1"
+```
+
+See the CI config for more examples, and upstream documentation for more information
+about any additional options.
+
+There are a number of known problems when using the `address` sanitizer. The
address sanitizer is known to fail in
[sha256_sse4::Transform](/src/crypto/sha256_sse4.cpp) which makes it unusable
unless you also use `--disable-asm` when running configure. We would like to fix