Bug 1403346 - Move cxxflags filtering for libfuzzer from Makefile.in to moz.build draft
authorChris Manchester <cmanchester@mozilla.com>
Wed, 25 Oct 2017 15:12:10 -0700
changeset 686525 920f16dc595f683229a29596e53be403d330178b
parent 686524 9d602202f975805b166a8a7d4e58f267ba5400b6
child 686526 0fc641d3785873bc22e674ad9df8959cbee1081a
push id86198
push userbmo:cmanchester@mozilla.com
push dateWed, 25 Oct 2017 22:13:37 +0000
bugs1403346
milestone58.0a1
Bug 1403346 - Move cxxflags filtering for libfuzzer from Makefile.in to moz.build MozReview-Commit-ID: LDHiMMRjqut
tools/fuzzing/libfuzzer/Makefile.in
tools/fuzzing/libfuzzer/moz.build
--- a/tools/fuzzing/libfuzzer/Makefile.in
+++ b/tools/fuzzing/libfuzzer/Makefile.in
@@ -2,11 +2,9 @@
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
 include $(topsrcdir)/config/rules.mk
 
 # According to the LLVM docs, LibFuzzer isn't supposed to be built with any
 # sanitizer flags and in fact, building it with ASan coverage currently causes
 # Clang 3.9+ to crash, so we filter out all sanitizer-related flags here.
-CXXFLAGS := $(filter-out -fsanitize%,$(CXXFLAGS))
-CFLAGS := $(filter-out -fsanitize%,$(CFLAGS))
 LDFLAGS := $(filter-out -fsanitize%,$(LDFLAGS))
--- a/tools/fuzzing/libfuzzer/moz.build
+++ b/tools/fuzzing/libfuzzer/moz.build
@@ -33,8 +33,17 @@ SOURCES += [
     'FuzzerUtilDarwin.cpp',
     'FuzzerUtilLinux.cpp',
     'FuzzerUtilPosix.cpp',
     'FuzzerUtilWindows.cpp'
 ]
 
 if CONFIG['CLANG_CXX']:
     CXXFLAGS += ['-Wno-unreachable-code-return']
+
+# According to the LLVM docs, LibFuzzer isn't supposed to be built with any
+# sanitizer flags and in fact, building it with ASan coverage currently causes
+# Clang 3.9+ to crash, so we filter out all sanitizer-related flags here.
+for flags_var in ('OS_CFLAGS', 'OS_CXXFLAGS'):
+    COMPILE_FLAGS[flags_var] = [
+        f for f in COMPILE_FLAGS.get(flags_var, [])
+        if not f.startswith('-fsanitize')
+    ]