The driver runs "ld" with incorrect emulation mode on a mips platform. That
leads to the following error:
[[
/usr/bin/ld: unrecognised emulation mode: elf_x86_64
Supported emulations: elf32ltsmip elf32btsmip elf32ltsmipn32 elf64ltsmip
elf32btsmipn32 elf64btsmip
clang: error: linker command failed with exit code 1 (use -v to see invocation)
]]
Here is a patch that fixes this issue. The patch does not support "n32" abi
(i.e. does not handle elf32ltsmipn32 / elf32btsmipn32 emulation modes). I plan
to fix it later.
--
Simon Atanasyan
Index: lib/Driver/Tools.cpp
===================================================================
--- lib/Driver/Tools.cpp (revision 143914)
+++ lib/Driver/Tools.cpp (working copy)
@@ -4354,6 +4354,14 @@
CmdArgs.push_back("elf32ppclinux");
else if (ToolChain.getArch() == llvm::Triple::ppc64)
CmdArgs.push_back("elf64ppc");
+ else if (ToolChain.getArch() == llvm::Triple::mips)
+ CmdArgs.push_back("elf32btsmip");
+ else if (ToolChain.getArch() == llvm::Triple::mipsel)
+ CmdArgs.push_back("elf32ltsmip");
+ else if (ToolChain.getArch() == llvm::Triple::mips64)
+ CmdArgs.push_back("elf64btsmip");
+ else if (ToolChain.getArch() == llvm::Triple::mips64el)
+ CmdArgs.push_back("elf64ltsmip");
else
CmdArgs.push_back("elf_x86_64");
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits