From 9638d7d1624326f9cd33e15be7ec4ba7599fdbfa Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Fri, 28 Aug 2015 21:39:13 +0000 Subject: [PATCH] [Mips] Support two more MIPS linking emulation options elf32btsmipn32/elf32ltsmipn32 llvm-svn: 246336 --- lld/lib/Driver/GnuLdDriver.cpp | 4 ++-- lld/unittests/DriverTests/GnuLdDriverTest.cpp | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/lld/lib/Driver/GnuLdDriver.cpp b/lld/lib/Driver/GnuLdDriver.cpp index c2626de85006..b521e8928cda 100644 --- a/lld/lib/Driver/GnuLdDriver.cpp +++ b/lld/lib/Driver/GnuLdDriver.cpp @@ -169,8 +169,8 @@ getArchType(const llvm::Triple &triple, StringRef value) { case llvm::Triple::mips64: case llvm::Triple::mips64el: return llvm::StringSwitch>(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); diff --git a/lld/unittests/DriverTests/GnuLdDriverTest.cpp b/lld/unittests/DriverTests/GnuLdDriverTest.cpp index 102dcc0e4b8c..13d20a4411a1 100644 --- a/lld/unittests/DriverTests/GnuLdDriverTest.cpp +++ b/lld/unittests/DriverTests/GnuLdDriverTest.cpp @@ -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