summaryrefslogtreecommitdiffstats
path: root/contrib/llvm/patches/patch-04-clang-add-mips-triples.diff
diff options
context:
space:
mode:
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.diff33
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());
OpenPOWER on IntegriCloud