diff options
| author | George Karpenkov <ekarpenkov@apple.com> | 2017-06-29 19:52:33 +0000 |
|---|---|---|
| committer | George Karpenkov <ekarpenkov@apple.com> | 2017-06-29 19:52:33 +0000 |
| commit | 2363fdd30f3b71772e9b37260a7b2fa56a7fcdc2 (patch) | |
| tree | c33243008afed4dbd26b8042ebeae8da783b0a4b /clang/lib/Driver | |
| parent | f5fe36787d2caa321b086eaa87844af586a2ef11 (diff) | |
| download | bcm5719-llvm-2363fdd30f3b71772e9b37260a7b2fa56a7fcdc2.tar.gz bcm5719-llvm-2363fdd30f3b71772e9b37260a7b2fa56a7fcdc2.zip | |
[libFuzzer] Do not link in libFuzzer with -fsanitize=fuzzer when producing a shared object
https://reviews.llvm.org/D34791
llvm-svn: 306733
Diffstat (limited to 'clang/lib/Driver')
| -rw-r--r-- | clang/lib/Driver/ToolChains/CommonArgs.cpp | 3 | ||||
| -rw-r--r-- | clang/lib/Driver/ToolChains/Darwin.cpp | 2 |
2 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 1991b2ecd8f..e8bb703054d 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -617,7 +617,8 @@ bool tools::addSanitizerRuntimes(const ToolChain &TC, const ArgList &Args, NonWholeStaticRuntimes, HelperStaticRuntimes, RequiredSymbols); // Inject libfuzzer dependencies. - if (TC.getSanitizerArgs().needsFuzzer()) { + if (TC.getSanitizerArgs().needsFuzzer() + && !Args.hasArg(options::OPT_shared)) { addLibFuzzerRuntime(TC, Args, CmdArgs); } diff --git a/clang/lib/Driver/ToolChains/Darwin.cpp b/clang/lib/Driver/ToolChains/Darwin.cpp index bfe685e70df..13cda0d0a1f 100644 --- a/clang/lib/Driver/ToolChains/Darwin.cpp +++ b/clang/lib/Driver/ToolChains/Darwin.cpp @@ -1053,7 +1053,7 @@ void DarwinClang::AddLinkRuntimeLibArgs(const ArgList &Args, AddLinkSanitizerLibArgs(Args, CmdArgs, "ubsan"); if (Sanitize.needsTsanRt()) AddLinkSanitizerLibArgs(Args, CmdArgs, "tsan"); - if (Sanitize.needsFuzzer()) + if (Sanitize.needsFuzzer() && !Args.hasArg(options::OPT_dynamiclib)) AddFuzzerLinkArgs(Args, CmdArgs); if (Sanitize.needsStatsRt()) { StringRef OS = isTargetMacOS() ? "osx" : "iossim"; |

