compile everything with -fsanitize=fuzzer.
Bug: 69150303
Change-Id: I4f2b65796168ca05355aad3d6af755d6e8368334
diff --git a/gn/BUILD.gn b/gn/BUILD.gn
index ba42365..bce1986 100644
--- a/gn/BUILD.gn
+++ b/gn/BUILD.gn
@@ -134,9 +134,5 @@
}
config("fuzzer_config") {
- cflags = [ "-fsanitize=fuzzer" ]
- ldflags = [
- "-fsanitize=fuzzer",
- "-fsanitize-coverage=trace-pc-guard",
- ]
+ ldflags = [ "-fsanitize=fuzzer" ]
}
diff --git a/gn/perfetto.gni b/gn/perfetto.gni
index d000a5d..6b94451 100644
--- a/gn/perfetto.gni
+++ b/gn/perfetto.gni
@@ -17,7 +17,6 @@
declare_args() {
# The Android blueprint file generator overrides this to true.
build_with_android = false
- use_libfuzzer = false
}
if (!build_with_chromium) {
diff --git a/gn/standalone/sanitizers/BUILD.gn b/gn/standalone/sanitizers/BUILD.gn
index 0fec24a..3d7eeef 100644
--- a/gn/standalone/sanitizers/BUILD.gn
+++ b/gn/standalone/sanitizers/BUILD.gn
@@ -86,6 +86,9 @@
]
defines += [ "UNDEFINED_SANITIZER" ]
}
+ if (use_libfuzzer) {
+ cflags += [ "-fsanitize=fuzzer" ]
+ }
}
config("sanitizer_options_link_helper") {
diff --git a/gn/standalone/sanitizers/vars.gni b/gn/standalone/sanitizers/vars.gni
index 7ad54ab..d1f2760 100644
--- a/gn/standalone/sanitizers/vars.gni
+++ b/gn/standalone/sanitizers/vars.gni
@@ -27,10 +27,14 @@
# Undefined Behaviour Sanitizer.
is_ubsan = false
+
+ # # Compile for fuzzing with LLVM LibFuzzer.
+ use_libfuzzer = false
}
declare_args() {
- using_sanitizer = is_asan || is_lsan || is_tsan || is_msan || is_ubsan
+ using_sanitizer =
+ is_asan || is_lsan || is_tsan || is_msan || is_ubsan || use_libfuzzer
}
assert(!using_sanitizer || is_clang, "is_*san requires is_clang=true'")
diff --git a/src/ipc/BUILD.gn b/src/ipc/BUILD.gn
index 878a039..8eda6b0 100644
--- a/src/ipc/BUILD.gn
+++ b/src/ipc/BUILD.gn
@@ -16,6 +16,13 @@
import("../../gn/ipc_library.gni")
import("../../gn/proto_library.gni")
+# For use_libfuzzer.
+if (!build_with_chromium) {
+ import("//gn/standalone/sanitizers/vars.gni")
+} else {
+ import("//build/config/sanitizers/sanitizers.gni")
+}
+
source_set("ipc") {
public_configs = [ "../../gn:default_config" ]
public_deps = [
diff --git a/test/BUILD.gn b/test/BUILD.gn
index 8870555..5672e5e 100644
--- a/test/BUILD.gn
+++ b/test/BUILD.gn
@@ -15,6 +15,13 @@
import("../gn/perfetto.gni")
import("//build_overrides/build.gni")
+# For use_libfuzzer.
+if (!build_with_chromium) {
+ import("//gn/standalone/sanitizers/vars.gni")
+} else {
+ import("//build/config/sanitizers/sanitizers.gni")
+}
+
source_set("end_to_end_integrationtests") {
testonly = true
deps = [