diff options
author | Kevin Lubick <kjlubick@google.com> | 2018-02-15 09:03:44 -0500 |
---|---|---|
committer | Kevin Lubick <kjlubick@google.com> | 2018-02-15 14:04:38 +0000 |
commit | 43bd25983bc91adc1024ea7f3d065b161f98f538 (patch) | |
tree | cde6db85f60315eacdeeaec00ba6c0b8666e9858 /site | |
parent | 469ec137d7db3697a7bf9bd6bd7af3302c96e28a (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')
-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 ------------------------------------ |