diff options
author | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2012-12-24 21:01:22 +0100 |
---|---|---|
committer | Abdoulaye Walsimou Gaye <awg@embtoolkit.org> | 2012-12-24 21:14:10 +0100 |
commit | 78c2bd1f96d78e6d14ad5fd307050811d8f47933 (patch) | |
tree | 91185ff12fb03f23801195f03725c6361480685b | |
parent | ade67ee4fcb3d14c87d117639c504fe9a7a55027 (diff) | |
download | clang-78c2bd1f96d78e6d14ad5fd307050811d8f47933.tar.gz clang-78c2bd1f96d78e6d14ad5fd307050811d8f47933.tar.bz2 clang-78c2bd1f96d78e6d14ad5fd307050811d8f47933.tar.xz |
[Embtk] ARM: correctly set the -dynamic-linker for musleabi and uclibceabi triples
Signed-off-by: Abdoulaye Walsimou Gaye <awg@embtoolkit.org>
-rw-r--r-- | lib/Driver/Tools.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/Driver/Tools.cpp b/lib/Driver/Tools.cpp index 72bff7e7ec..112c61fcbc 100644 --- a/lib/Driver/Tools.cpp +++ b/lib/Driver/Tools.cpp @@ -5982,10 +5982,16 @@ void linuxtools::Link::ConstructJob(Compilation &C, const JobAction &JA, CmdArgs.push_back("/lib/ld-linux.so.2"); else if (ToolChain.getArch() == llvm::Triple::arm || ToolChain.getArch() == llvm::Triple::thumb) { - if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) - CmdArgs.push_back("/lib/ld-linux-armhf.so.3"); - else - CmdArgs.push_back("/lib/ld-linux.so.3"); + if (ToolChain.getTriple().getEnvironment() == llvm::Triple::GNUEABIHF && + ToolChain.getTriple().getEnvironmentName() != "musleabi" && + ToolChain.getTriple().getEnvironmentName() != "uclibceabi") + CmdArgs.push_back("/lib/ld-linux-armhf.so.3"); + else if (ToolChain.getTriple().getEnvironmentName() == "musleabi") + CmdArgs.push_back("/lib/ld-musl-arm.so.1"); + else if (ToolChain.getTriple().getEnvironmentName() == "uclibceabi") + CmdArgs.push_back("/lib/ld-uClibc.so.0"); + else + CmdArgs.push_back("/lib/ld-linux.so.3"); } else if (ToolChain.getArch() == llvm::Triple::mips || ToolChain.getArch() == llvm::Triple::mipsel) |