diff options
Diffstat (limited to 'site/dev')
-rw-r--r-- | site/dev/testing/xsan.md | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/site/dev/testing/xsan.md b/site/dev/testing/xsan.md index 4bb1be95da..f510d67c84 100644 --- a/site/dev/testing/xsan.md +++ b/site/dev/testing/xsan.md @@ -10,9 +10,14 @@ Compiling Skia with ASAN, UBSAN, or TSAN can be done with the latest version of - TSAN works on Linux and Mac. - MSAN works on Linux[1]. +We find that testing sanitizer builds with libc++ uncovers more issues than +with the system-provided C++ standard library, which is usually libstdc++. +libc++ proactively hooks into sanitizers to help their analyses. +We ship a copy of libc++ with our Linux toolchain in /lib. + [1]To compile and run with MSAN, an MSAN-instrumented version of libc++ is needed. It's generally easiest to run one of the following 2 steps to build/download a recent version -of Clang and the instrumented libc++. +of Clang and the instrumented libc++, located in /msan. Downloading Clang binaries (Googlers Only) ------------------------------------------ @@ -64,6 +69,11 @@ Configure and Compile Skia with ASAN bin/gn gen out/asan ninja -C out/asan + +To use the libc++ that comes with the above Clang asset: + + env LD_LIBRARY_PATH=$CLANGDIR/lib out/dm ... + Configure and Compile Skia with TSAN ------------------------------------ |