summaryrefslogtreecommitdiffstats
path: root/lld/lib/Driver/UniversalDriver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lld/lib/Driver/UniversalDriver.cpp')
-rw-r--r--lld/lib/Driver/UniversalDriver.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/lld/lib/Driver/UniversalDriver.cpp b/lld/lib/Driver/UniversalDriver.cpp
index 45bcbc838a3..68c9000e3de 100644
--- a/lld/lib/Driver/UniversalDriver.cpp
+++ b/lld/lib/Driver/UniversalDriver.cpp
@@ -86,6 +86,7 @@ static Flavor strToFlavor(StringRef str) {
return llvm::StringSwitch<Flavor>(str)
.Case("gnu", Flavor::gnu_ld)
.Case("gnu2", Flavor::gnu_ld2)
+ .Case("ld.lld2", Flavor::gnu_ld2)
.Case("link", Flavor::win_link)
.Case("lld-link", Flavor::win_link)
.Case("darwin", Flavor::darwin_ld)
@@ -156,7 +157,9 @@ static Flavor getFlavor(llvm::MutableArrayRef<const char *> &args,
}
#endif
- StringRef name = llvm::sys::path::stem(args[0]);
+ StringRef name = llvm::sys::path::filename(args[0]);
+ if (name.endswith_lower(".exe"))
+ name = llvm::sys::path::stem(name);
return strToFlavor(parseProgramName(name)._flavor);
}
OpenPOWER on IntegriCloud