summaryrefslogtreecommitdiffstats
path: root/build/unix/mozconfig.tsan
diff options
context:
space:
mode:
Diffstat (limited to 'build/unix/mozconfig.tsan')
-rw-r--r--build/unix/mozconfig.tsan34
1 files changed, 34 insertions, 0 deletions
diff --git a/build/unix/mozconfig.tsan b/build/unix/mozconfig.tsan
new file mode 100644
index 000000000..f78c1071f
--- /dev/null
+++ b/build/unix/mozconfig.tsan
@@ -0,0 +1,34 @@
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/mozconfig.common"
+
+# Use Clang as specified in manifest
+export CC="$topsrcdir/clang/bin/clang"
+export CXX="$topsrcdir/clang/bin/clang++"
+export LLVM_SYMBOLIZER="$topsrcdir/clang/bin/llvm-symbolizer"
+
+# Use a newer binutils, from the tooltool gcc package, if it's there
+if [ -e "$topsrcdir/gcc/bin/ld" ]; then
+ export CC="$CC -B $topsrcdir/gcc/bin"
+ export CXX="$CXX -B $topsrcdir/gcc/bin"
+fi
+
+# Enable TSan specific code and build workarounds
+ac_add_options --enable-thread-sanitizer
+
+# The ThreadSanitizer is not compatible with sandboxing
+# (see bug 1182565)
+ac_add_options --disable-sandbox
+
+# These are required by TSan
+ac_add_options --disable-jemalloc
+ac_add_options --disable-crashreporter
+ac_add_options --disable-elf-hack
+ac_add_options --enable-pie
+
+# Keep symbols to symbolize TSan traces
+ac_add_options --disable-install-strip
+# -gline-tables-only results in significantly smaller binaries.
+ac_add_options --enable-debug-symbols="-gline-tables-only"
+
+. "$topsrcdir/build/unix/mozconfig.stdcxx"