Commit Graph

3 Commits

Author SHA1 Message Date
Martin Storsjo ad7a1f939c [COFF] Improve correctness of def parsing for GNU features
The operator == used for exporting a function with a different
name in the DLL compared to the name in the import library
(which is useful for adding linker level aliases for function
in the import library) is a feature distinct and different from
the operator = used for exporting a function with a different
name (both in import library and DLL) than in the implementation
producing the DLL.

When creating an import library using dlltool, from a def file that
contains forwards (Func = OtherDll.Func), this shouldn't affect the
produced import library, which should still behave just as if it
was a normal exported function.

This clears a lot of confusion and subtle misunderstandings, and
avoids a parameter that was used to avoid creating weak aliases
when invoked from lld. (This parameter was added previously due to
the existing conflation of the two features.)

Differential Revision: https://reviews.llvm.org/D46245

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@331859 91177308-0d34-0410-b5e6-96231b3b80d8
2018-05-09 09:21:53 +00:00
Rui Ueyama 6305c5b42c [COFF] Ignore semicolons in module definition identifiers
Patch by David Major.

The NSS project's .def files make heavy use of semicolons in a
frightening attempt at portability:
https://hg.mozilla.org/projects/nss/raw-file/tip/lib/ckfw/capi/nsscapi.def

lld-link was treating the semicolon as part of the export name,
resulting in unresolved symbols. This patch includes ';' in the list of
characters to split on.

Differential Revision: https://reviews.llvm.org/D39968

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319933 91177308-0d34-0410-b5e6-96231b3b80d8
2017-12-06 19:18:24 +00:00
Martin Storsjo fcbb986b2d [test] Move llvm-dlltool tests into tools/llvm-dlltool. NFC.
A toplevel test directory DllTool isn't consistent with other
similar tools.

Differential Revision: https://reviews.llvm.org/D39513

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@317189 91177308-0d34-0410-b5e6-96231b3b80d8
2017-11-02 07:57:32 +00:00