<div dir="ltr"><div><div>For some reason, the reason of this change was omitted from the commit message. Here's the description I meant to include in the commit log. Pasting it for the record.</div><div><br></div></div>

<blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><div>Currently the LLD checks if a library specified with /defaultlib is already</div></div><div><div>added to the input graph and do not add if it's already there. It causes</div>

</div><div><div>some undefined symbols remain unresolved.</div></div><div><div><br></div></div><div><div>For example, oldnames.lib depends on kernel32.lib. What happens if</div></div><div><div>/defaultlib:kernel32.lib is given from the command line? The LLD reads .drectve</div>

</div><div><div>section of oldnames.lib, finding that it contains "/defaultlib:kernel32.lib".</div></div><div><div>However, the LLD won't add the kernel32.lib to the input file list because it's</div></div>

<div><div>already added.</div></div><div><div><br></div></div><div><div>The resolve order in the above case is kernel32.lib and oldnames.lib. So,</div></div><div><div>undefined symbols in oldnames.lib, which need to be resolved by kernel32.lib,</div>

</div><div><div>remains undefined. It's a wrong behavior.</div></div></blockquote><div><br></div></div>