Bug 1278718 - Use clang 3.8 on ASAN builds. r?decoder draft
authorMike Hommey <mh+mozilla@glandium.org>
Tue, 07 Jun 2016 20:20:55 +0900
changeset 376672 663c5eb8e01cdd2dc54ed368929ce84d3d005b22
parent 376671 4c1bfd710a3ed953c5b1a59ff9d52d3ea27ed381
child 376673 9278c307c1afd7b41b43f2749b8b57acf236682f
push id20635
push userbmo:mh+mozilla@glandium.org
push dateWed, 08 Jun 2016 12:31:15 +0000
reviewersdecoder
bugs1278718
milestone50.0a1
Bug 1278718 - Use clang 3.8 on ASAN builds. r?decoder
browser/config/tooltool-manifests/linux64/asan.manifest
browser/config/tooltool-manifests/macosx64/asan.manifest
build/unix/mozconfig.asan
--- a/browser/config/tooltool-manifests/linux64/asan.manifest
+++ b/browser/config/tooltool-manifests/linux64/asan.manifest
@@ -3,21 +3,21 @@
 "version": "gcc 4.8.5 + PR64905",
 "size": 80160264,
 "digest": "c1a9dc9da289b8528874d16300b9d13a997cec99195bb0bc46ff665216d8535d6d6cb5af6b4b1f2749af6815dab12e703fdb3849014e5c23a70eff351a0baf4e",
 "algorithm": "sha512",
 "filename": "gcc.tar.xz",
 "unpack": true
 },
 {
-"version": "clang 3.5/r200213",
-"size": 71282740, 
-"digest": "ee9edb1ef3afd9ab29e39565145545ad57e8d8d2538be4d822d7dbd64038f4529b0b287cecf48bf83def52a26ac2c6faa331686c3ad5e8b4ba4c22686ee0808f", 
-"algorithm": "sha512", 
-"filename": "clang.tar.bz2",
+"version": "clang 3.8.0, libgcc 4.8.5",
+"size": 139183100,
+"digest": "a056a151d4f25f415b6d905136c3fa8d51d12a5a815c3df37d5663c67d59571736641a4c990884a69f78ea6b5e37a6a7bfff0417dfe38936d842d6fa0776ae54",
+"algorithm": "sha512",
+"filename": "clang.tar.xz",
 "unpack": true
 },
 {
 "size": 12072532,
 "digest": "3915f8ec396c56a8a92e6f9695b70f09ce9d1582359d1258e37e3fd43a143bc974410e4cfc27f500e095f34a8956206e0ebf799b7287f0f38def0d5e34ed71c9",
 "algorithm": "sha512",
 "filename": "gtk3.tar.xz",
 "setup": "setup.sh",
--- a/browser/config/tooltool-manifests/macosx64/asan.manifest
+++ b/browser/config/tooltool-manifests/macosx64/asan.manifest
@@ -1,10 +1,10 @@
 [
 {
-"version": "clang 3.5/r200213",
-"size": 58997296, 
-"digest": "9757d142142442c881b8d1eb31c2fe80e1979a858e6133473b5574a5a3b9cdaf9abed32b2e246b715c9f0eb0969103337918215fc491feae196219e8fb03f0b1", 
+"version": "clang 3.8.0",
+"size": 133060926,
+"digest": "aff5ad3ac2d41db19d1ba0df5f97b189a7d7e1b6af8c56e22c2b0cced84d75fa98394ded6a4ba5713652e6684a0a46f47aeccf87991f9e849bf8d7d82e564f6f",
 "algorithm": "sha512", 
 "filename": "clang.tar.bz2",
 "unpack": true
 }
 ]
--- a/build/unix/mozconfig.asan
+++ b/build/unix/mozconfig.asan
@@ -8,16 +8,22 @@ export CXX="$topsrcdir/clang/bin/clang++
 export LLVM_SYMBOLIZER="$topsrcdir/clang/bin/llvm-symbolizer"
 
 # Mandatory flags for ASan
 export ASANFLAGS="-fsanitize=address -Dxmalloc=myxmalloc -fPIC"
 export CFLAGS="$ASANFLAGS"
 export CXXFLAGS="$ASANFLAGS"
 export LDFLAGS="-fsanitize=address"
 
+# 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