Bug 1359328 - Updates for fuzzing taskcluster build draft
authorrforbes <rforbes@mozilla.com>
Thu, 25 May 2017 15:36:21 -0700
changeset 584764 cc8a9a0dc893750c5e37516b3d3fcc99a0f2c7e4
parent 584763 9d78a25dadb2031d681a7f8e80bfbccf0078a3ee
child 584765 271e1f3a63e3de44fc117333cb82dd982dac7aa2
push id60878
push userrforbes@mozilla.com
push dateFri, 26 May 2017 00:08:12 +0000
bugs1359328
milestone55.0a1
Bug 1359328 - Updates for fuzzing taskcluster build MozReview-Commit-ID: 1RDQYnGTE2s
browser/config/mozconfigs/linux64/nightly-fuzzing-asan
build/unix/mozconfig.fuzzing
taskcluster/ci/build/linux.yml
--- a/browser/config/mozconfigs/linux64/nightly-fuzzing-asan
+++ b/browser/config/mozconfigs/linux64/nightly-fuzzing-asan
@@ -1,16 +1,16 @@
 # We still need to build with debug symbols
 ac_add_options --disable-debug
 ac_add_options --enable-optimize="-O2 -gline-tables-only"
 
 # ASan specific options on Linux
 ac_add_options --enable-valgrind
 
-. $topsrcdir/build/unix/mozconfig.asan
+. $topsrcdir/build/unix/mozconfig.fuzzing
 
 ac_add_options --enable-fuzzing
 
 export PKG_CONFIG_LIBDIR=/usr/lib64/pkgconfig:/usr/share/pkgconfig
 . $topsrcdir/build/unix/mozconfig.gtk
 
 # Package js shell.
 export MOZ_PACKAGE_JSSHELL=1
new file mode 100644
--- /dev/null
+++ b/build/unix/mozconfig.fuzzing
@@ -0,0 +1,28 @@
+MOZ_AUTOMATION_L10N_CHECK=0
+
+. "$topsrcdir/build/mozconfig.common"
+
+# Use Clang as specified in manifest
+export CC="$topsrcdir/clang/bin/clang -fgnu89-inline -fsanitize-coverage=edge"
+export CXX="$topsrcdir/clang/bin/clang++ -fsanitize-coverage=edge"
+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 ASan specific code and build workarounds
+ac_add_options --enable-address-sanitizer
+
+# Mandatory options required for ASan builds (both on Linux and Mac)
+export MOZ_DEBUG_SYMBOLS=1
+ac_add_options --enable-debug-symbols
+ac_add_options --disable-install-strip
+ac_add_options --disable-jemalloc
+ac_add_options --disable-crashreporter
+ac_add_options --disable-elf-hack
+ac_add_options --disable-profiling
+
+. "$topsrcdir/build/unix/mozconfig.stdcxx"
--- a/taskcluster/ci/build/linux.yml
+++ b/taskcluster/ci/build/linux.yml
@@ -257,17 +257,17 @@ linux64-asan/opt:
 
 linux64-asan-fuzzing/opt:
     description: "Linux64 Fuzzing Opt ASAN"
     index:
         product: firefox
         job-name: linux64-fuzzing-asan-opt
     treeherder:
         platform: linux64/asan
-        symbol: tc(Bo)
+        symbol: tc(Bof)
     worker-type: aws-provisioner-v1/gecko-{level}-b-linux
     worker:
         implementation: docker-worker
         max-run-time: 36000
     run:
         using: mozharness
         actions: [get-secrets build generate-build-stats check-test update]
         config: