summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/ToolChains.cpp7
-rw-r--r--clang/lib/Driver/Tools.cpp16
2 files changed, 23 insertions, 0 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp
index 00341728b1e..9c4213bc18d 100644
--- a/clang/lib/Driver/ToolChains.cpp
+++ b/clang/lib/Driver/ToolChains.cpp
@@ -2248,6 +2248,13 @@ NetBSD::NetBSD(const Driver &D, const llvm::Triple& Triple, const ArgList &Args)
break;
}
break;
+ case llvm::Triple::mips64:
+ case llvm::Triple::mips64el:
+ if (hasMipsABIArg(Args, "o32"))
+ getFilePaths().push_back("=/usr/lib/o32");
+ else if (hasMipsABIArg(Args, "64"))
+ getFilePaths().push_back("=/usr/lib/64");
+ break;
default:
break;
}
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 4bfc272f743..10194b1dda7 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -6132,6 +6132,22 @@ void netbsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
break;
}
break;
+ case llvm::Triple::mips64:
+ case llvm::Triple::mips64el:
+ if (hasMipsABIArg(Args, "32")) {
+ CmdArgs.push_back("-m");
+ if (getToolChain().getArch() == llvm::Triple::mips64)
+ CmdArgs.push_back("elf32btsmip");
+ else
+ CmdArgs.push_back("elf32ltsmip");
+ } else if (hasMipsABIArg(Args, "64")) {
+ CmdArgs.push_back("-m");
+ if (getToolChain().getArch() == llvm::Triple::mips64)
+ CmdArgs.push_back("elf64btsmip");
+ else
+ CmdArgs.push_back("elf64ltsmip");
+ }
+ break;
default:
break;
}
OpenPOWER on IntegriCloud