diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2013-02-03 19:07:52 +0100 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2013-02-03 19:07:52 +0100 |
commit | 8e9cf6b91d2aa243ec689cd2ce31ebf8f82c1ec9 (patch) | |
tree | b8b8450c61621c9269cdae9bfcbb3f7211d40427 | |
parent | e9bc89031cb378bcece1d36dd0b7446e695cdf2b (diff) | |
download | clang-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.cpp | 12 |
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)) |