[lld] r313125 - [MinGW] Support creating DLLs with a def file

Martin Storsjo via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 13 00:28:13 PDT 2017


Author: mstorsjo
Date: Wed Sep 13 00:28:13 2017
New Revision: 313125

URL: http://llvm.org/viewvc/llvm-project?rev=313125&view=rev
Log:
[MinGW] Support creating DLLs with a def file

Differential Revision: https://reviews.llvm.org/D37761

Modified:
    lld/trunk/MinGW/Driver.cpp
    lld/trunk/test/MinGW/driver.test

Modified: lld/trunk/MinGW/Driver.cpp
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/MinGW/Driver.cpp?rev=313125&r1=313124&r2=313125&view=diff
==============================================================================
--- lld/trunk/MinGW/Driver.cpp (original)
+++ lld/trunk/MinGW/Driver.cpp Wed Sep 13 00:28:13 2017
@@ -177,7 +177,10 @@ bool mingw::link(ArrayRef<const char *>
                                OPT_no_whole_archive)) {
     switch (A->getOption().getID()) {
     case OPT_INPUT:
-      Add(Prefix + StringRef(A->getValue()));
+      if (StringRef(A->getValue()).endswith(".def"))
+        Add("-def:" + StringRef(A->getValue()));
+      else
+        Add(Prefix + StringRef(A->getValue()));
       break;
     case OPT_l:
       Add(Prefix +

Modified: lld/trunk/test/MinGW/driver.test
URL: http://llvm.org/viewvc/llvm-project/lld/trunk/test/MinGW/driver.test?rev=313125&r1=313124&r2=313125&view=diff
==============================================================================
--- lld/trunk/test/MinGW/driver.test (original)
+++ lld/trunk/test/MinGW/driver.test Wed Sep 13 00:28:13 2017
@@ -26,6 +26,9 @@ RUN: ld.lld -### foo.o -m i386pep -share
 SHARED:      -out:a.dll
 SHARED-SAME: -dll
 
+RUN: ld.lld -### foo.o -m i386pep -shared foo.def | FileCheck -check-prefix=DEF %s
+DEF: -def:foo.def
+
 RUN: ld.lld -### foo.o -m i386pep -o bar.exe | FileCheck -check-prefix=OUT %s
 OUT: -out:bar.exe
 




More information about the llvm-commits mailing list