temporary commit.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@208427 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] DLL extension can be omitted in .def file.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@208428 91177308-0d34-0410-b5e6-96231b3b80d8
Revert "temporary commit."

This reverts accidental commit r208427.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@208433 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Fix dllexported name.

Previously the handling of exported symbol was wrong if it's
specified in a module definition file in the form of
<externalname>=<internalname>. Export the correct symbol.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@208446 91177308-0d34-0410-b5e6-96231b3b80d8
[PECOFF] Resolve dllexported symbols.

We did not actively try to resolve dllexported symbols specified
by /export or by a module definition file. So if exported symbols
would be resolved for other reasons, like other symbols refer to
them, that was fine, but if (unreferenced) exported symbols were
in an archive file, and no one refers to that file in the archive,
they remained unresolved.

That would obviously cause the issue that dllexported symbols are
not in a resultant DLL.

In this patch, we create an undefined symbol for each dllexported
symbol, to let the core linker to resolve it.

git-svn-id: https://llvm.org/svn/llvm-project/lld/trunk@208452 91177308-0d34-0410-b5e6-96231b3b80d8