[LLD] [COFF] Allow invoking lib.exe mode via -lib in addition to /lib
Remove a stray -lib argument in guardcf-lto.ll; llvm-lib doesn't support generating import libs from a def file unlike lib.exe. Previously this worked because the -lib argument was ignored (printing only a warning). Differential Revision: https://reviews.llvm.org/D96699
This commit is contained in:
parent
03892a27d6
commit
075539ddf6
@ -1244,7 +1244,8 @@ void LinkerDriver::linkerMain(ArrayRef<const char *> argsArr) {
|
||||
|
||||
// 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;
|
||||
|
@ -11,6 +11,7 @@ VERSION: {{LLD [0-9]+\.[0-9]+}}
|
||||
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
|
||||
|
@ -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.
|
||||
|
Loading…
x
Reference in New Issue
Block a user