[Mips] Support two more MIPS linking emulation options elf32btsmipn32/elf32ltsmipn32

llvm-svn: 246336
This commit is contained in:
Simon Atanasyan 2015-08-28 21:39:13 +00:00
parent f12120cfe9
commit 9638d7d162
2 changed files with 8 additions and 2 deletions

View File

@ -169,8 +169,8 @@ getArchType(const llvm::Triple &triple, StringRef value) {
case llvm::Triple::mips64:
case llvm::Triple::mips64el:
return llvm::StringSwitch<llvm::Optional<llvm::Triple::ArchType>>(value)
.Case("elf32btsmip", llvm::Triple::mips)
.Case("elf32ltsmip", llvm::Triple::mipsel)
.Cases("elf32btsmip", "elf32btsmipn32", llvm::Triple::mips)
.Cases("elf32ltsmip", "elf32ltsmipn32", llvm::Triple::mipsel)
.Case("elf64btsmip", llvm::Triple::mips64)
.Case("elf64ltsmip", llvm::Triple::mips64el)
.Default(llvm::None);

View File

@ -207,6 +207,12 @@ TEST_F(GnuLdParserTest, Emulation) {
EXPECT_TRUE(
parse("mips64el-linux-gnu-ld", "a.o", "-m", "elf32btsmip", nullptr));
EXPECT_EQ(Triple::mips, _ctx->getTriple().getArch());
EXPECT_TRUE(
parse("mipsel-linux-gnu-ld", "a.o", "-m", "elf32btsmipn32", nullptr));
EXPECT_EQ(Triple::mips, _ctx->getTriple().getArch());
EXPECT_TRUE(
parse("mips-linux-gnu-ld", "a.o", "-m", "elf32ltsmipn32", nullptr));
EXPECT_EQ(Triple::mipsel, _ctx->getTriple().getArch());
}
// Linker script