diff options
| -rw-r--r-- | lld/lib/Driver/GnuLdDriver.cpp | 4 | ||||
| -rw-r--r-- | 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 c2626de8500..b521e8928cd 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<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); diff --git a/lld/unittests/DriverTests/GnuLdDriverTest.cpp b/lld/unittests/DriverTests/GnuLdDriverTest.cpp index 102dcc0e4b8..13d20a4411a 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 |

