r315867 - Driver: use ld64.lld when -fuse-ld=lld for darwin
Martell Malone via cfe-commits
cfe-commits at lists.llvm.org
Sun Oct 15 10:53:45 PDT 2017
Author: martell
Date: Sun Oct 15 10:53:45 2017
New Revision: 315867
URL: http://llvm.org/viewvc/llvm-project?rev=315867&view=rev
Log:
Driver: use ld64.lld when -fuse-ld=lld for darwin
When using lld on macOS the current level of detection between ld and
ld64 forces us to rename lld to ld.
For ELF targets we have the ld.lld alias so for MACHO we should have
ld64.lld so we can use lld without replacing the system compiler.
This also solves the additional issue of cross compiling for MACHO
where renaming lld to ld with only target ELF.
This is the clang driver component change to use this new alias.
Reviewers: ruiu, rnk
Differential Revision: https://reviews.llvm.org/D38290
Modified:
cfe/trunk/lib/Driver/ToolChain.cpp
Modified: cfe/trunk/lib/Driver/ToolChain.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChain.cpp?rev=315867&r1=315866&r2=315867&view=diff
==============================================================================
--- cfe/trunk/lib/Driver/ToolChain.cpp (original)
+++ cfe/trunk/lib/Driver/ToolChain.cpp Sun Oct 15 10:53:45 2017
@@ -390,7 +390,11 @@ std::string ToolChain::GetLinkerPath() c
// then use whatever the default system linker is.
return GetProgramPath(getDefaultLinker());
} else {
- llvm::SmallString<8> LinkerName("ld.");
+ llvm::SmallString<8> LinkerName;
+ if (Triple.isOSDarwin())
+ LinkerName.append("ld64.");
+ else
+ LinkerName.append("ld.");
LinkerName.append(UseLinker);
std::string LinkerPath(GetProgramPath(LinkerName.c_str()));
More information about the cfe-commits
mailing list