diff options
| author | Matt Morehouse <mascasa@google.com> | 2017-08-29 19:48:12 +0000 |
|---|---|---|
| committer | Matt Morehouse <mascasa@google.com> | 2017-08-29 19:48:12 +0000 |
| commit | 2ad8d948b26a8d652ef3d3aa9fcd5203790af155 (patch) | |
| tree | f5d26e885850740b8eaf1c8ef3b6429fe219cc92 /clang | |
| parent | f4c7376afc80ca87d0eca785a4d2ba64d32e9820 (diff) | |
| download | bcm5719-llvm-2ad8d948b26a8d652ef3d3aa9fcd5203790af155.tar.gz bcm5719-llvm-2ad8d948b26a8d652ef3d3aa9fcd5203790af155.zip | |
[SanitizeCoverage] Enable stack-depth coverage for -fsanitize=fuzzer
Summary:
- Don't sanitize __sancov_lowest_stack.
- Don't instrument leaf functions.
- Add CoverageStackDepth to Fuzzer and FuzzerNoLink.
- Disable stack depth tracking on Mac.
Reviewers: vitalybuka, kcc, george.karpenkov
Reviewed By: kcc
Subscribers: kubamracek, cfe-commits, llvm-commits, hiraditya
Differential Revision: https://reviews.llvm.org/D37156
llvm-svn: 312026
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/Driver/SanitizerArgs.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/Driver/SanitizerArgs.cpp b/clang/lib/Driver/SanitizerArgs.cpp index a37d0b64cbe..6afa4872958 100644 --- a/clang/lib/Driver/SanitizerArgs.cpp +++ b/clang/lib/Driver/SanitizerArgs.cpp @@ -291,9 +291,13 @@ SanitizerArgs::SanitizerArgs(const ToolChain &TC, Add |= FuzzerNoLink; // Enable coverage if the fuzzing flag is set. - if (Add & FuzzerNoLink) + if (Add & FuzzerNoLink) { CoverageFeatures |= CoverageTracePCGuard | CoverageIndirCall | CoverageTraceCmp | CoveragePCTable; + // Due to TLS differences, stack depth tracking is disabled on Mac. + if (!TC.getTriple().isOSDarwin()) + CoverageFeatures |= CoverageStackDepth; + } Kinds |= Add; } else if (Arg->getOption().matches(options::OPT_fno_sanitize_EQ)) { |

