Sure, r253066.

2015-11-13 19:40 GMT+02:00 Rafael Espíndola <rafael.espind...@gmail.com>:

> This needs a testcase. Nothing is checking the linker invocation.
>
> On 14 July 2015 at 01:23, Yaron Keren <yaron.ke...@gmail.com> wrote:
> > Author: yrnkrn
> > Date: Tue Jul 14 00:23:34 2015
> > New Revision: 242121
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=242121&view=rev
> > Log:
> > Add support for -fuse-ld= in the mingw toolchain driver.
> > We will still default to ld until such a time lld become a
> > stable release. lld supports arm NT under the machine name "thumb2pe".
> >
> > http://reviews.llvm.org/D11088
> >
> > Patch by Martell Malone
> > Reviewed by Reid Kleckner
> >
> >
> > Modified:
> >     cfe/trunk/lib/Driver/Tools.cpp
> >
> > Modified: cfe/trunk/lib/Driver/Tools.cpp
> > URL:
> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=242121&r1=242120&r2=242121&view=diff
> >
> ==============================================================================
> > --- cfe/trunk/lib/Driver/Tools.cpp (original)
> > +++ cfe/trunk/lib/Driver/Tools.cpp Tue Jul 14 00:23:34 2015
> > @@ -8947,6 +8947,12 @@ void MinGW::Linker::ConstructJob(Compila
> >    // handled somewhere else.
> >    Args.ClaimAllArgs(options::OPT_w);
> >
> > +  StringRef LinkerName = Args.getLastArgValue(options::OPT_fuse_ld_EQ,
> "ld");
> > +  if (LinkerName.equals_lower("lld")) {
> > +    CmdArgs.push_back("-flavor");
> > +    CmdArgs.push_back("gnu");
> > +  }
> > +
> >    if (!D.SysRoot.empty())
> >      CmdArgs.push_back(Args.MakeArgString("--sysroot=" + D.SysRoot));
> >
> > @@ -8958,6 +8964,8 @@ void MinGW::Linker::ConstructJob(Compila
> >      CmdArgs.push_back("i386pe");
> >    if (TC.getArch() == llvm::Triple::x86_64)
> >      CmdArgs.push_back("i386pep");
> > +  if (TC.getArch() == llvm::Triple::arm)
> > +    CmdArgs.push_back("thumb2pe");
> >
> >    if (Args.hasArg(options::OPT_mwindows)) {
> >      CmdArgs.push_back("--subsystem");
> > @@ -9067,7 +9075,7 @@ void MinGW::Linker::ConstructJob(Compila
> >
> >        if (Args.hasArg(options::OPT_static))
> >          CmdArgs.push_back("--end-group");
> > -      else
> > +      else if (!LinkerName.equals_lower("lld"))
> >          AddLibGCC(Args, CmdArgs);
> >      }
> >
> > @@ -9078,7 +9086,7 @@ void MinGW::Linker::ConstructJob(Compila
> >        CmdArgs.push_back(Args.MakeArgString(TC.GetFilePath("crtend.o")));
> >      }
> >    }
> > -  const char *Exec = Args.MakeArgString(TC.GetProgramPath("ld"));
> > +  const char *Exec =
> Args.MakeArgString(TC.GetProgramPath(LinkerName.data()));
> >    C.addCommand(llvm::make_unique<Command>(JA, *this, Exec, CmdArgs));
> >  }
> >
> >
> >
> > _______________________________________________
> > cfe-commits mailing list
> > cfe-comm...@cs.uiuc.edu
> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to