blob: c294683b397538bb217f49c9bd4e3bcf17767e9e [file] [log] [blame]
# Copyright 2018 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
# This config is included for every fuzz target.
# You can add anything in here that's valid in a target dictionary.
# Fuzzing only works for amd64 boards at this point.
config("common_fuzzer") {
cflags = []
ldflags = []
if (use.asan) {
cflags += [ "-fsanitize=address" ]
ldflags += [ "-fsanitize=address" ]
}
if (use.coverage) {
cflags += [
"-fprofile-instr-generate",
"-fcoverage-mapping",
]
ldflags += [
"-fprofile-instr-generate",
"-fcoverage-mapping",
]
}
if (use.fuzzer) {
cflags += [ "-fsanitize=fuzzer-no-link" ]
ldflags += [ "-fsanitize=fuzzer" ]
}
if (use.msan) {
cflags += [ "-fsanitize=memory" ]
ldflags += [ "-fsanitize=memory" ]
}
if (use.ubsan) {
cflags += [
"-fsanitize=undefined",
"-fno-sanitize=vptr",
]
ldflags += [
"-fsanitize=undefined",
"-fno-sanitize=vptr",
]
}
}