summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Carlier <devnexen@gmail.com>2018-06-28 13:49:41 +0000
committerDavid Carlier <devnexen@gmail.com>2018-06-28 13:49:41 +0000
commit11f1d7e9e40dc395fe8262354e31fb31aee51a69 (patch)
tree442e0e44d59d9f081d518e1a1e7fcc655648bf3e
parente666545a71aa522dfe4960f3f365d567501ad905 (diff)
downloadbcm5719-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.cpp4
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));
}
OpenPOWER on IntegriCloud