|
1 |
| -# Force the use of Clang for C++ builds. |
| 1 | +# Copyright 2021 Google LLC |
| 2 | +# |
| 3 | +# Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | +# you may not use this file except in compliance with the License. |
| 5 | +# You may obtain a copy of the License at |
| 6 | +# |
| 7 | +# https://www.apache.org/licenses/LICENSE-2.0 |
| 8 | +# |
| 9 | +# Unless required by applicable law or agreed to in writing, software |
| 10 | +# distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | +# See the License for the specific language governing permissions and |
| 13 | +# limitations under the License. |
| 14 | + |
| 15 | +# Copied from bazel rules_fuzzing. |
| 16 | +# https://github.com/bazelbuild/rules_fuzzing/blob/f6062a88d83463e2900e47bc218547ba046dad44/.bazelrc |
| 17 | + |
| 18 | +# Force the use of Clang for all builds. |
2 | 19 | build --action_env=CC=clang-10
|
3 | 20 | build --action_env=CXX=clang++-10
|
4 | 21 |
|
5 |
| -# Define the --config=asan-libfuzzer configuration. |
| 22 | +# The ASAN configuration suitable for C++ unit tests. |
| 23 | +build:asan --copt=-fsanitize=address |
| 24 | +build:asan --linkopt=-fsanitize=address |
| 25 | + |
| 26 | +# LibFuzzer + ASAN |
6 | 27 | build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer
|
7 | 28 | build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer
|
8 | 29 | build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan
|
| 30 | + |
| 31 | +# LibFuzzer + MSAN |
| 32 | +build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer |
| 33 | +build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer |
| 34 | +build:msan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan |
| 35 | + |
| 36 | +# LibFuzzer + MSAN (reproduction mode) |
| 37 | +build:msan-libfuzzer-repro --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer |
| 38 | +build:msan-libfuzzer-repro --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer |
| 39 | +build:msan-libfuzzer-repro --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan-origin-tracking |
| 40 | + |
| 41 | +# Honggfuzz + ASAN |
| 42 | +build:asan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:honggfuzz |
| 43 | +build:asan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=honggfuzz |
| 44 | +build:asan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan |
| 45 | + |
| 46 | +# Honggfuzz + MSAN |
| 47 | +build:msan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:honggfuzz |
| 48 | +build:msan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=honggfuzz |
| 49 | +build:msan-honggfuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=msan |
| 50 | + |
| 51 | +# Replay + ASAN |
| 52 | +build:asan-replay --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:replay |
| 53 | +build:asan-replay --@rules_fuzzing//fuzzing:cc_engine_instrumentation=none |
| 54 | +build:asan-replay --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan |
| 55 | + |
| 56 | +build:oss-fuzz --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing_oss_fuzz//:oss_fuzz_engine |
| 57 | +build:oss-fuzz --@rules_fuzzing//fuzzing:cc_engine_instrumentation=oss-fuzz |
| 58 | +build:oss-fuzz --@rules_fuzzing//fuzzing:cc_engine_sanitizer=none |
0 commit comments