Index: lld/trunk/MinGW/Driver.cpp =================================================================== --- lld/trunk/MinGW/Driver.cpp +++ lld/trunk/MinGW/Driver.cpp @@ -177,7 +177,10 @@ 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 + Index: lld/trunk/test/MinGW/driver.test =================================================================== --- lld/trunk/test/MinGW/driver.test +++ lld/trunk/test/MinGW/driver.test @@ -26,6 +26,9 @@ 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