Documentation: ASAN, MSAN, and TSAN
authorHal Canary <halcanary@google.com>
Thu, 2 Mar 2017 20:14:07 +0000 (15:14 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Mon, 6 Mar 2017 15:23:55 +0000 (15:23 +0000)
NOTRY=true
Change-Id: I7ed212047a60d323e2e98470fc1eed454d333958
Reviewed-on: https://skia-review.googlesource.com/9170
Commit-Queue: Hal Canary <halcanary@google.com>
Reviewed-by: Mike Klein <mtklein@chromium.org>
site/dev/testing/xsan.md [new file with mode: 0644]

diff --git a/site/dev/testing/xsan.md b/site/dev/testing/xsan.md
new file mode 100644 (file)
index 0000000..fc77eda
--- /dev/null
@@ -0,0 +1,57 @@
+Testing Skia with MSAN, ASAN, and TSAN
+======================================
+
+Get Clang binaries
+------------------
+
+    CLANGDIR="${HOME}/clang"
+
+    tools/git-sync-deps
+    CC= CXX= infra/bots/assets/clang_linux/create.py -t "$CLANGDIR"
+
+Configure and Compile Skia with MSAN
+------------------------------------
+
+    CLANGDIR="${HOME}/clang"
+    mkdir -p out/msan
+    cat > out/msan/args.gn <<- EOF
+        cc = "${CLANGDIR}/bin/clang"
+        cxx = "${CLANGDIR}/bin/clang++"
+        extra_ldflags = [ "-Wl,-rpath", "-Wl,${CLANGDIR}/msan" ]
+        sanitize = "MSAN"
+        skia_use_fontconfig = false
+    EOF
+    tools/git-sync-deps
+    bin/gn gen out/msan
+    ninja -C out/msan
+
+Configure and Compile Skia with ASAN
+------------------------------------
+
+    CLANGDIR="${HOME}/clang"
+    mkdir -p out/asan
+    cat > out/asan/args.gn <<- EOF
+        cc = "${CLANGDIR}/bin/clang"
+        cxx = "${CLANGDIR}/bin/clang++"
+        sanitize = "ASAN"
+    EOF
+    tools/git-sync-deps
+    bin/gn gen out/asan
+    ninja -C out/asan
+
+Configure and Compile Skia with TSAN
+------------------------------------
+
+    CLANGDIR="${HOME}/clang"
+    mkdir -p out/tsan
+    cat > out/tsan/args.gn <<- EOF
+        cc = "${CLANGDIR}/bin/clang"
+        cxx = "${CLANGDIR}/bin/clang++"
+        sanitize = "TSAN"
+        is_debug = false
+    EOF
+    tools/git-sync-deps
+    bin/gn gen out/tsan
+    ninja -C out/tsan
+
+