diff options
author | Dan Albert <danalbert@google.com> | 2017-08-22 21:05:01 +0000 |
---|---|---|
committer | Dan Albert <danalbert@google.com> | 2017-08-22 21:05:01 +0000 |
commit | c3a11d5a006b2918863b052e87440ed6330560ee (patch) | |
tree | 14f08953fda917c4e53bb19bd248d9f734f1b62a /clang/lib/Driver/ToolChains/CommonArgs.cpp | |
parent | 5adc46ca3e0c03aa42e5d491468fe768e2b3e6cb (diff) | |
download | bcm5719-llvm-c3a11d5a006b2918863b052e87440ed6330560ee.tar.gz bcm5719-llvm-c3a11d5a006b2918863b052e87440ed6330560ee.zip |
Revert "Revert "Revert "Revert "Fix LLVMgold plugin name/path for non-Linux.""""
With tests fixed for Windows style paths now that they are going
through path canonicalization.
llvm-svn: 311487
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 02d64f87bfe..f4881181181 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 |