commit 3bd6f6990af8b9dd3aa80d51b63ba260cf8873da Author: Brooks Davis Date: Tue Sep 9 19:08:02 2014 +0000 On mips and cheri claim and pass down the -G# argument if present when linking. diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index e869a05..74bd12b 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -6570,6 +6570,18 @@ void freebsd::Link::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("elf32ppc_fbsd"); } + if (Arg *A = Args.getLastArg(options::OPT_G)) { + if (ToolChain.getArch() == llvm::Triple::mips || + ToolChain.getArch() == llvm::Triple::mipsel || + ToolChain.getArch() == llvm::Triple::mips64 || + ToolChain.getArch() == llvm::Triple::mips64el || + ToolChain.getArch() == llvm::Triple::cheri) { + StringRef v = A->getValue(); + CmdArgs.push_back(Args.MakeArgString("-G" + v)); + A->claim(); + } + } + if (Output.isFilename()) { CmdArgs.push_back("-o"); CmdArgs.push_back(Output.getFilename());