Can you add a testcase?
On 10 November 2013 04:31, Roman Divacky <[email protected]> wrote: > Author: rdivacky > Date: Sun Nov 10 03:31:43 2013 > New Revision: 194350 > > URL: http://llvm.org/viewvc/llvm-project?rev=194350&view=rev > Log: > Add gold plugin support to the FreeBSD link driver. > > Modified: > cfe/trunk/lib/Driver/ToolChains.cpp > cfe/trunk/lib/Driver/ToolChains.h > cfe/trunk/lib/Driver/Tools.cpp > > Modified: cfe/trunk/lib/Driver/ToolChains.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.cpp?rev=194350&r1=194349&r2=194350&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/ToolChains.cpp (original) > +++ cfe/trunk/lib/Driver/ToolChains.cpp Sun Nov 10 03:31:43 2013 > @@ -2497,6 +2497,10 @@ Linux::Linux(const Driver &D, const llvm > addPathIfExists(SysRoot + "/usr/lib", Paths); > } > > +bool FreeBSD::HasNativeLLVMSupport() const { > + return true; > +} > + > bool Linux::HasNativeLLVMSupport() const { > return true; > } > > Modified: cfe/trunk/lib/Driver/ToolChains.h > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains.h?rev=194350&r1=194349&r2=194350&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/ToolChains.h (original) > +++ cfe/trunk/lib/Driver/ToolChains.h Sun Nov 10 03:31:43 2013 > @@ -514,6 +514,7 @@ class LLVM_LIBRARY_VISIBILITY FreeBSD : > public: > FreeBSD(const Driver &D, const llvm::Triple &Triple, > const llvm::opt::ArgList &Args); > + virtual bool HasNativeLLVMSupport() const; > > virtual bool IsMathErrnoDefault() const { return false; } > virtual bool IsObjCNonFragileABIDefault() const { return true; } > > Modified: cfe/trunk/lib/Driver/Tools.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/Tools.cpp?rev=194350&r1=194349&r2=194350&view=diff > ============================================================================== > --- cfe/trunk/lib/Driver/Tools.cpp (original) > +++ cfe/trunk/lib/Driver/Tools.cpp Sun Nov 10 03:31:43 2013 > @@ -5770,6 +5770,26 @@ void freebsd::Link::ConstructJob(Compila > Args.AddAllArgs(CmdArgs, options::OPT_Z_Flag); > Args.AddAllArgs(CmdArgs, options::OPT_r); > > + // Tell the linker to load the plugin. This has to come before > AddLinkerInputs > + // as gold requires -plugin to come before any -plugin-opt that -Wl might > + // forward. > + if (D.IsUsingLTO(Args)) { > + CmdArgs.push_back("-plugin"); > + std::string Plugin = ToolChain.getDriver().Dir + "/../lib/LLVMgold.so"; > + CmdArgs.push_back(Args.MakeArgString(Plugin)); > + > + // Try to pass driver level flags relevant to LTO code generation down to > + // the plugin. > + > + // Handle flags for selecting CPU variants. > + std::string CPU = getCPUName(Args, ToolChain.getTriple()); > + if (!CPU.empty()) { > + CmdArgs.push_back( > + Args.MakeArgString(Twine("-plugin-opt=mcpu=") + > + CPU)); > + } > + } > + > AddLinkerInputs(ToolChain, Inputs, Args, CmdArgs); > > if (!Args.hasArg(options::OPT_nostdlib) && > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
