diff options
Diffstat (limited to 'contrib/llvm/tools/clang/lib/Driver')
| -rw-r--r-- | contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp | 8 | ||||
| -rw-r--r-- | contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp | 7 | 
2 files changed, 15 insertions, 0 deletions
| diff --git a/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp b/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp index 75f16898dfaf..589f53b11921 100644 --- a/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp +++ b/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp @@ -1716,6 +1716,14 @@ void Clang::AddMIPSTargetArgs(const ArgList &Args,      } else        D.Diag(diag::warn_target_unsupported_compact_branches) << CPUName;    } + +  if (Arg *A = Args.getLastArg(options::OPT_mrelax_pic_calls, +                               options::OPT_mno_relax_pic_calls)) { +    if (A->getOption().matches(options::OPT_mno_relax_pic_calls)) { +      CmdArgs.push_back("-mllvm"); +      CmdArgs.push_back("-mips-jalr-reloc=0"); +    } +  }  }  void Clang::AddPPCTargetArgs(const ArgList &Args, diff --git a/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp b/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp index b1321cacaf7a..c1eae5b05ace 100644 --- a/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp +++ b/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp @@ -256,6 +256,13 @@ void netbsd::Linker::ConstructJob(Compilation &C, const JobAction &JA,    bool NeedsXRayDeps = addXRayRuntime(ToolChain, Args, CmdArgs);    AddLinkerInputs(getToolChain(), Inputs, Args, CmdArgs, JA); +  const SanitizerArgs &SanArgs = ToolChain.getSanitizerArgs(); +  if (SanArgs.needsSharedRt()) { +    CmdArgs.push_back("-rpath"); +    CmdArgs.push_back(Args.MakeArgString( +        ToolChain.getCompilerRTPath().c_str())); +  } +    unsigned Major, Minor, Micro;    ToolChain.getTriple().getOSVersion(Major, Minor, Micro);    bool useLibgcc = true; | 
