diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -1244,7 +1244,8 @@ // If the first command line argument is "/lib", link.exe acts like lib.exe. // We call our own implementation of lib.exe that understands bitcode files. - if (argsArr.size() > 1 && StringRef(argsArr[1]).equals_lower("/lib")) { + if (argsArr.size() > 1 && (StringRef(argsArr[1]).equals_lower("/lib") || + StringRef(argsArr[1]).equals_lower("-lib"))) { if (llvm::libDriverMain(argsArr.slice(1)) != 0) fatal("lib failed"); return; diff --git a/lld/test/COFF/driver.test b/lld/test/COFF/driver.test --- a/lld/test/COFF/driver.test +++ b/lld/test/COFF/driver.test @@ -11,6 +11,7 @@ BADFILE: bad file type. Did you specify a DLL instead of an import library? # RUN: lld-link /lib /help | FileCheck -check-prefix=LIBHELP %s +# RUN: lld-link -lib -help | FileCheck -check-prefix=LIBHELP %s LIBHELP: OVERVIEW: LLVM Lib # RUN: env LLD_IN_TEST=1 not lld-link /WX /lib 2>&1 | FileCheck -check-prefix=LIBBAD %s diff --git a/lld/test/COFF/guardcf-lto.ll b/lld/test/COFF/guardcf-lto.ll --- a/lld/test/COFF/guardcf-lto.ll +++ b/lld/test/COFF/guardcf-lto.ll @@ -1,7 +1,7 @@ ; REQUIRES: x86 ; Set up an import library for a DLL that will do the indirect call. ; RUN: echo -e 'LIBRARY library\nEXPORTS\n do_indirect_call\n' > %t.def -; RUN: lld-link -lib -def:%t.def -out:%t.lib -machine:x64 +; RUN: lld-link -def:%t.def -out:%t.lib -machine:x64 ; Generate an object that will have the load configuration normally provided by ; the CRT.