summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2013-02-03 19:07:52 +0100
committerAbdoulaye Walsimou Gaye <awg@embtoolkit.org>2013-02-03 19:07:52 +0100
commit8e9cf6b91d2aa243ec689cd2ce31ebf8f82c1ec9 (patch)
treeb8b8450c61621c9269cdae9bfcbb3f7211d40427
parente9bc89031cb378bcece1d36dd0b7446e695cdf2b (diff)
downloadclang-8e9cf6b91d2aa243ec689cd2ce31ebf8f82c1ec9.tar.gz
clang-8e9cf6b91d2aa243ec689cd2ce31ebf8f82c1ec9.tar.bz2
clang-8e9cf6b91d2aa243ec689cd2ce31ebf8f82c1ec9.tar.xz
[Embtk]: MIPS32: correctly set dynamic linker for uClibc and musl Triples
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r--lib/Driver/Tools.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp
index f77c727468..59367ae731 100644
--- a/lib/Driver/Tools.cpp
+++ b/lib/Driver/Tools.cpp
@@ -6068,9 +6068,15 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA,
else
CmdArgs.push_back("/lib/ld-linux.so.3");
}
- else if (ToolChain.getArch() == llvm::Triple::mips ||
- ToolChain.getArch() == llvm::Triple::mipsel)
- CmdArgs.push_back("/lib/ld.so.1");
+ else if (ToolChain.getArch() == llvm::Triple::mips ||
+ ToolChain.getArch() == llvm::Triple::mipsel) {
+ if (ToolChain.getTriple().getEnvironmentName() == "musl")
+ CmdArgs.push_back("/lib/ld-musl-mips.so.1");
+ else if (ToolChain.getTriple().getEnvironmentName() == "uclibc")
+ CmdArgs.push_back("/lib/ld-uClibc.so.0");
+ else
+ CmdArgs.push_back("/lib/ld.so.1");
+ }
else if (ToolChain.getArch() == llvm::Triple::mips64 ||
ToolChain.getArch() == llvm::Triple::mips64el) {
if (hasMipsN32ABIArg(Args))