aboutsummaryrefslogtreecommitdiffhomepage
path: root/site/dev
diff options
context:
space:
mode:
authorGravatar Kevin Lubick <kjlubick@google.com>2018-02-15 09:03:44 -0500
committerGravatar Kevin Lubick <kjlubick@google.com>2018-02-15 14:04:38 +0000
commit43bd25983bc91adc1024ea7f3d065b161f98f538 (patch)
treecde6db85f60315eacdeeaec00ba6c0b8666e9858 /site/dev
parent469ec137d7db3697a7bf9bd6bd7af3302c96e28a (diff)
Use libc++ for all XSAN builds
Docs-Preview: https://skia.org/?cl=107306 Bug: oss-fuzz:6347 Change-Id: I59c3b1b2e693fd97be0091ba2df406f51461fd10 Reviewed-on: https://skia-review.googlesource.com/107306 Reviewed-by: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'site/dev')
-rw-r--r--site/dev/testing/xsan.md12
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
------------------------------------