diff options
Diffstat (limited to 'contrib/llvm/patches/patch-04-clang-add-mips-triples.diff')
-rw-r--r-- | contrib/llvm/patches/patch-04-clang-add-mips-triples.diff | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff b/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff new file mode 100644 index 0000000..2a66949 --- /dev/null +++ b/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff @@ -0,0 +1,33 @@ +Allow clang to be built for mips/mips64 backend types by adding our mips +triple ids + +This only allows testing and does not change the defaults for mips/mips64. +They still build/use gcc by default. + +Differential Revision: https://reviews.freebsd.org/D1190 +Reviewed by: dim + +Introduced here: http://svnweb.freebsd.org/changeset/base/277423 + +Index: tools/clang/lib/Driver/Tools.cpp +=================================================================== +--- tools/clang/lib/Driver/Tools.cpp ++++ tools/clang/lib/Driver/Tools.cpp +@@ -6652,6 +6652,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c + 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) { ++ 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()); |