diff options
author | David Carlier <devnexen@gmail.com> | 2018-06-28 13:49:41 +0000 |
---|---|---|
committer | David Carlier <devnexen@gmail.com> | 2018-06-28 13:49:41 +0000 |
commit | 11f1d7e9e40dc395fe8262354e31fb31aee51a69 (patch) | |
tree | 442e0e44d59d9f081d518e1a1e7fcc655648bf3e | |
parent | e666545a71aa522dfe4960f3f365d567501ad905 (diff) | |
download | bcm5719-llvm-11f1d7e9e40dc395fe8262354e31fb31aee51a69.tar.gz bcm5719-llvm-11f1d7e9e40dc395fe8262354e31fb31aee51a69.zip |
OpenBSD driver needs ld.lld in sanitizer context
Base GNU ld is pretty ancient and does not support --dynamic-list flag.
For conveniency, we can it automatically when compile with ubsan sanitizer flag.
Reviewers: dberris
Reviewed by: dberris
Differential Revision: https://reviews.llvm.org/D48574
llvm-svn: 335856
-rw-r--r-- | clang/lib/Driver/ToolChains/OpenBSD.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/clang/lib/Driver/ToolChains/OpenBSD.cpp b/clang/lib/Driver/ToolChains/OpenBSD.cpp index 3a2a0043069..7b98cd62bbf 100644 --- a/clang/lib/Driver/ToolChains/OpenBSD.cpp +++ b/clang/lib/Driver/ToolChains/OpenBSD.cpp @@ -230,7 +230,9 @@ void openbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA, Args.MakeArgString(getToolChain().GetFilePath("crtendS.o"))); } - const char *Exec = Args.MakeArgString(getToolChain().GetLinkerPath()); + const char *Exec = Args.MakeArgString( + !NeedsSanitizerDeps ? getToolChain().GetLinkerPath() + : getToolChain().GetProgramPath("ld.lld")); C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs, Inputs)); } |