diff options
author | Dan Albert <danalbert@google.com> | 2017-08-14 23:19:38 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2017-08-14 23:19:38 +0000 |
commit | 25efd75df49492b6e088646b32b1481d77e71f94 (patch) | |
tree | 4f28bf74afe353c2c61d8d5b75e2aa9829c462fb /clang/lib/Driver/ToolChains/CommonArgs.cpp | |
parent | 95c1107f4ccc73c5379c1226e6cfc638dfcfb857 (diff) | |
download | bcm5719-llvm-25efd75df49492b6e088646b32b1481d77e71f94.tar.gz bcm5719-llvm-25efd75df49492b6e088646b32b1481d77e71f94.zip |
Fix LLVMgold plugin name/path for non-Linux.
Summary:
It's only named LLVMgold.so on Linux. Fix the name for Windows and
Darwin.
Also fix the path for Windows so binutils doesn't have to.
Reviewers: srhines, pirama
Reviewed By: srhines
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D35739
llvm-svn: 310895
Diffstat (limited to 'clang/lib/Driver/ToolChains/CommonArgs.cpp')
-rw-r--r-- | clang/lib/Driver/ToolChains/CommonArgs.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains/CommonArgs.cpp b/clang/lib/Driver/ToolChains/CommonArgs.cpp index 1273b7aabc0..b9b5b2cbe6e 100644 --- a/clang/lib/Driver/ToolChains/CommonArgs.cpp +++ b/clang/lib/Driver/ToolChains/CommonArgs.cpp @@ -376,8 +376,20 @@ void tools::AddGoldPlugin(const ToolChain &ToolChain, const ArgList &Args, // as gold requires -plugin to come before any -plugin-opt that -Wl might // forward. CmdArgs.push_back("-plugin"); - std::string Plugin = - ToolChain.getDriver().Dir + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold.so"; + +#if defined(LLVM_ON_WIN32) + const char *Suffix = ".dll"; +#elif defined(__APPLE__) + const char *Suffix = ".dylib"; +#else + const char *Suffix = ".so"; +#endif + + SmallString<1024> Plugin; + llvm::sys::path::native(Twine(ToolChain.getDriver().Dir) + + "/../lib" CLANG_LIBDIR_SUFFIX "/LLVMgold" + + Suffix, + Plugin); CmdArgs.push_back(Args.MakeArgString(Plugin)); // Try to pass driver level flags relevant to LTO code generation down to |