diff --git a/lld/COFF/Driver.cpp b/lld/COFF/Driver.cpp --- a/lld/COFF/Driver.cpp +++ b/lld/COFF/Driver.cpp @@ -473,7 +473,7 @@ } if (path.endswith_insensitive(".lib")) - visitedLibs.insert(std::string(sys::path::filename(path))); + visitedLibs.insert(std::string(sys::path::filename(path).lower())); return path; } diff --git a/lld/test/COFF/visitedlibs.test b/lld/test/COFF/visitedlibs.test new file mode 100644 --- /dev/null +++ b/lld/test/COFF/visitedlibs.test @@ -0,0 +1,10 @@ +# RUN: rm -rf %t && mkdir -p %t +# RUN: cp %S/Inputs/hello64.obj %t +# RUN: cp %S/Inputs/std64.lib %t/STD64.lib + +# RUN: lld-link %t/STD64.lib /out:%t.exe /entry:main \ +# RUN: /subsystem:console %t/hello64.obj /defaultlib:STD64.lib \ +# RUN: /verbose 2>&1 | FileCheck %s + +CHECK: Reading {{.*}}/STD64.lib +CHECK-NOT: could not open 'STD64.lib'