]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/patches/patch-06-clang-add-mips-triples.diff
Merge ^/head r278351 through r278498.
[FreeBSD/FreeBSD.git] / contrib / llvm / patches / patch-06-clang-add-mips-triples.diff
1 Allow clang to be built for mips/mips64 backend types by adding our mips
2 triple ids
3
4 This only allows testing and does not change the defaults for mips/mips64.
5 They still build/use gcc by default.
6
7 Differential Revision:  https://reviews.freebsd.org/D1190
8 Reviewed by:    dim
9
10 Introduced here: http://svnweb.freebsd.org/changeset/base/277423
11
12 Index: tools/clang/lib/Driver/Tools.cpp
13 ===================================================================
14 --- tools/clang/lib/Driver/Tools.cpp
15 +++ tools/clang/lib/Driver/Tools.cpp
16 @@ -6651,6 +6651,17 @@ void freebsd::Link::ConstructJob(Compilation &C, c
17      CmdArgs.push_back("elf32ppc_fbsd");
18    }
19  
20 +  if (Arg *A = Args.getLastArg(options::OPT_G)) {
21 +    if (ToolChain.getArch() == llvm::Triple::mips ||
22 +      ToolChain.getArch() == llvm::Triple::mipsel ||
23 +      ToolChain.getArch() == llvm::Triple::mips64 ||
24 +      ToolChain.getArch() == llvm::Triple::mips64el) {
25 +      StringRef v = A->getValue();
26 +      CmdArgs.push_back(Args.MakeArgString("-G" + v));
27 +      A->claim();
28 +    }
29 +  }
30 +
31    if (Output.isFilename()) {
32      CmdArgs.push_back("-o");
33      CmdArgs.push_back(Output.getFilename());