forked from OSchip/llvm-project
aca3c7c6f4
LLD fails to link symbol "_main" if the symbol is in a library file and the library file is given as a bare argument (i.e. not with /defaultlib option). It's because library files given as bare arguments are processed before other libraries given with /defaultlib, so when Linker finds msvcrtd needs a definition for "_main", the file providing the main function has already been processed and skipped. Linker don't revisit libraries if it's not given with /defaultlib. To fix it this patch change the way of command line handling; files end with ".lib" are treated as if they are given with /defaultlib. I don't believe it's 100% correct behavior but it's better than before. llvm-svn: 203892 |
||
---|---|---|
.. | ||
CMakeLists.txt | ||
CoreDriver.cpp | ||
CoreOptions.td | ||
DarwinLdDriver.cpp | ||
DarwinLdOptions.td | ||
Driver.cpp | ||
GnuLdDriver.cpp | ||
GnuLdInputGraph.cpp | ||
GnuLdOptions.td | ||
TODO.rst | ||
UniversalDriver.cpp | ||
UniversalDriverOptions.td | ||
WinLinkDriver.cpp | ||
WinLinkInputGraph.cpp | ||
WinLinkModuleDef.cpp | ||
WinLinkOptions.td |