<div dir="ltr">Nice. Dispatching based on argv[0] is more common and probably a recommended way now, so this patch aligned with that.</div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 23, 2017 at 2:31 PM, Petr Hosek via cfe-commits <span dir="ltr"><<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: phosek<br>
Date: Mon Oct 23 14:31:05 2017<br>
New Revision: 316379<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=316379&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=316379&view=rev</a><br>
Log:<br>
[Driver] Use ld.lld directly for Fuchsia rather than passing flavor<br>
<br>
Passing a flavor to LLD requires command line argument, but if these<br>
are being passed through a response file, this will fail because LLD<br>
needs to know which driver to use before processing the response file.<br>
Use ld.lld directly instead to avoid this issue.<br>
<br>
Differential Revision: <a href="https://reviews.llvm.org/D39176" rel="noreferrer" target="_blank">https://reviews.llvm.org/<wbr>D39176</a><br>
<br>
Modified:<br>
    cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.cpp<br>
    cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.h<br>
    cfe/trunk/test/Driver/fuchsia.<wbr>c<br>
    cfe/trunk/test/Driver/fuchsia.<wbr>cpp<br>
<br>
Modified: cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Fuchsia.cpp?rev=316379&r1=316378&r2=316379&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.cpp?rev=<wbr>316379&r1=316378&r2=316379&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.cpp (original)<br>
+++ cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.cpp Mon Oct 23 14:31:05 2017<br>
@@ -44,10 +44,8 @@ void fuchsia::Linker::ConstructJob(<wbr>Compi<br>
   Args.ClaimAllArgs(options::<wbr>OPT_w);<br>
<br>
   const char *Exec = Args.MakeArgString(ToolChain.<wbr>GetLinkerPath());<br>
-  if (llvm::sys::path::stem(Exec).<wbr>equals_lower("lld")) {<br>
-    CmdArgs.push_back("-flavor");<br>
-    CmdArgs.push_back("gnu");<br>
-<br>
+  if (llvm::sys::path::filename(<wbr>Exec).equals_lower("ld.lld") ||<br>
+      llvm::sys::path::stem(Exec).<wbr>equals_lower("ld.lld")) {<br>
     CmdArgs.push_back("-z");<br>
     CmdArgs.push_back("rodynamic")<wbr>;<br>
   }<br>
<br>
Modified: cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.h<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Fuchsia.h?rev=316379&r1=316378&r2=316379&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.h?rev=<wbr>316379&r1=316378&r2=316379&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.h (original)<br>
+++ cfe/trunk/lib/Driver/<wbr>ToolChains/Fuchsia.h Mon Oct 23 14:31:05 2017<br>
@@ -82,7 +82,7 @@ public:<br>
                            llvm::opt::ArgStringList &CmdArgs) const override;<br>
<br>
   const char *getDefaultLinker() const override {<br>
-    return "lld";<br>
+    return "ld.lld";<br>
   }<br>
<br>
 protected:<br>
<br>
Modified: cfe/trunk/test/Driver/fuchsia.<wbr>c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fuchsia.c?rev=316379&r1=316378&r2=316379&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/test/Driver/<wbr>fuchsia.c?rev=316379&r1=<wbr>316378&r2=316379&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/Driver/fuchsia.<wbr>c (original)<br>
+++ cfe/trunk/test/Driver/fuchsia.<wbr>c Mon Oct 23 14:31:05 2017<br>
@@ -1,16 +1,15 @@<br>
 // RUN: %clang %s -### -no-canonical-prefixes --target=x86_64-unknown-<wbr>fuchsia \<br>
-// RUN:     --sysroot=%S/platform -fuse-ld=ld 2>&1 \<br>
+// RUN:     --sysroot=%S/platform 2>&1 \<br>
 // RUN:     | FileCheck -check-prefixes=CHECK,CHECK-<wbr>X86_64 %s<br>
 // RUN: %clang %s -### -no-canonical-prefixes --target=aarch64-unknown-<wbr>fuchsia \<br>
-// RUN:     --sysroot=%S/platform -fuse-ld=ld 2>&1 \<br>
+// RUN:     --sysroot=%S/platform 2>&1 \<br>
 // RUN:     | FileCheck -check-prefixes=CHECK,CHECK-<wbr>AARCH64 %s<br>
 // CHECK: {{.*}}clang{{.*}}" "-cc1"<br>
 // CHECK: "-munwind-tables"<br>
 // CHECK: "-fuse-init-array"<br>
 // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]"<br>
 // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include"<br>
-// CHECK: {{.*}}lld{{.*}}" "-flavor" "gnu"<br>
-// CHECK: "-z" "rodynamic"<br>
+// CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic"<br>
 // CHECK: "--sysroot=[[SYSROOT]]"<br>
 // CHECK: "-pie"<br>
 // CHECK: "--build-id"<br>
<br>
Modified: cfe/trunk/test/Driver/fuchsia.<wbr>cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/fuchsia.cpp?rev=316379&r1=316378&r2=316379&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/cfe/trunk/test/Driver/<wbr>fuchsia.cpp?rev=316379&r1=<wbr>316378&r2=316379&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- cfe/trunk/test/Driver/fuchsia.<wbr>cpp (original)<br>
+++ cfe/trunk/test/Driver/fuchsia.<wbr>cpp Mon Oct 23 14:31:05 2017<br>
@@ -1,13 +1,12 @@<br>
 // RUN: %clangxx %s -### -no-canonical-prefixes --target=x86_64-unknown-<wbr>fuchsia \<br>
-// RUN:     --sysroot=%S/platform 2>&1 -fuse-ld=ld | FileCheck %s<br>
+// RUN:     --sysroot=%S/platform 2>&1 | FileCheck %s<br>
 // CHECK: {{.*}}clang{{.*}}" "-cc1"<br>
 // CHECK: "-triple" "x86_64-fuchsia"<br>
 // CHECK: "-fuse-init-array"<br>
 // CHECK: "-isysroot" "[[SYSROOT:[^"]+]]"<br>
 // CHECK: "-internal-isystem" "{{.*[/\\]}}x86_64-fuchsia{{/|<wbr>\\\\}}include{{/|\\\\}}c++{{/|<wbr>\\\\}}v1"<br>
 // CHECK: "-internal-externc-isystem" "[[SYSROOT]]{{/|\\\\}}include"<br>
-// CHECK: {{.*}}lld{{.*}}" "-flavor" "gnu"<br>
-// CHECK: "-z" "rodynamic"<br>
+// CHECK: {{.*}}ld.lld{{.*}}" "-z" "rodynamic"<br>
 // CHECK: "--sysroot=[[SYSROOT]]"<br>
 // CHECK: "-pie"<br>
 // CHECK: "--build-id"<br>
<br>
<br>
______________________________<wbr>_________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/cfe-commits</a><br>
</blockquote></div><br></div>