summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver
diff options
context:
space:
mode:
authorSid Manning <sidneym@quicinc.com>2019-12-02 14:10:03 -0600
committerSid Manning <sidneym@quicinc.com>2019-12-20 14:18:10 -0600
commitd567b0ba841d4b6f4b0d906da350a3bb2b2f769f (patch)
treed1583b1281e3bebba8040670cd5d3cbc949248e0 /clang/lib/Driver
parent4024d49edc1598a6f8017df541147b38bf1e2818 (diff)
downloadbcm5719-llvm-d567b0ba841d4b6f4b0d906da350a3bb2b2f769f.tar.gz
bcm5719-llvm-d567b0ba841d4b6f4b0d906da350a3bb2b2f769f.zip
Avoid unsupported LLD options
Differential Revision: https://reviews.llvm.org/D70919
Diffstat (limited to 'clang/lib/Driver')
-rw-r--r--clang/lib/Driver/ToolChains/Hexagon.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/clang/lib/Driver/ToolChains/Hexagon.cpp b/clang/lib/Driver/ToolChains/Hexagon.cpp
index 4a735a2a1d5..e4d9ea8a70f 100644
--- a/clang/lib/Driver/ToolChains/Hexagon.cpp
+++ b/clang/lib/Driver/ToolChains/Hexagon.cpp
@@ -209,7 +209,11 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA,
bool IncStartFiles = !Args.hasArg(options::OPT_nostartfiles);
bool IncDefLibs = !Args.hasArg(options::OPT_nodefaultlibs);
bool UseG0 = false;
+ const char *Exec = Args.MakeArgString(HTC.GetLinkerPath());
+ bool UseLLD = (llvm::sys::path::filename(Exec).equals_lower("ld.lld") ||
+ llvm::sys::path::stem(Exec).equals_lower("ld.lld"));
bool UseShared = IsShared && !IsStatic;
+ StringRef CpuVer = toolchains::HexagonToolChain::GetTargetCPUVersion(Args);
//----------------------------------------------------------------------------
// Silence warnings for various options
@@ -232,9 +236,10 @@ constructHexagonLinkArgs(Compilation &C, const JobAction &JA,
for (const auto &Opt : HTC.ExtraOpts)
CmdArgs.push_back(Opt.c_str());
- CmdArgs.push_back("-march=hexagon");
- StringRef CpuVer = toolchains::HexagonToolChain::GetTargetCPUVersion(Args);
- CmdArgs.push_back(Args.MakeArgString("-mcpu=hexagon" + CpuVer));
+ if (!UseLLD) {
+ CmdArgs.push_back("-march=hexagon");
+ CmdArgs.push_back(Args.MakeArgString("-mcpu=hexagon" + CpuVer));
+ }
if (IsShared) {
CmdArgs.push_back("-shared");
OpenPOWER on IntegriCloud