diff options
author | Reid Kleckner <rnk@google.com> | 2016-11-02 15:38:51 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-11-02 15:38:51 +0000 |
commit | 2bc03590f6647ab94b8866869b1f417f78fd7274 (patch) | |
tree | 0ccc9743a8191355a89a7715e6378eb90530906b /clang/lib/Driver/Tools.cpp | |
parent | 4e1fbf080c4014e57f9dbcc392b8fb029d3c6177 (diff) | |
download | llvm-2bc03590f6647ab94b8866869b1f417f78fd7274.zip llvm-2bc03590f6647ab94b8866869b1f417f78fd7274.tar.gz llvm-2bc03590f6647ab94b8866869b1f417f78fd7274.tar.bz2 |
[asan] Use the dynamic ASan runtime if -shared-libasan is passed
-shared-libasan is likely to be used as a link flag if the user is using
the GCC-style clang driver.
This logic is already tested in clang-cl tests, and the new flag to
exercise it will be covered by asan tests.
llvm-svn: 285820
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r-- | clang/lib/Driver/Tools.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp index b6a8992..0279938 100644 --- a/clang/lib/Driver/Tools.cpp +++ b/clang/lib/Driver/Tools.cpp @@ -10786,7 +10786,8 @@ void visualstudio::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (TC.getSanitizerArgs().needsAsanRt()) { CmdArgs.push_back(Args.MakeArgString("-debug")); CmdArgs.push_back(Args.MakeArgString("-incremental:no")); - if (Args.hasArg(options::OPT__SLASH_MD, options::OPT__SLASH_MDd)) { + if (TC.getSanitizerArgs().needsSharedAsanRt() || + Args.hasArg(options::OPT__SLASH_MD, options::OPT__SLASH_MDd)) { for (const auto &Lib : {"asan_dynamic", "asan_dynamic_runtime_thunk"}) CmdArgs.push_back(TC.getCompilerRTArgString(Args, Lib)); // Make sure the dynamic runtime thunk is not optimized out at link time |