Commit Graph

4 Commits

Author SHA1 Message Date
Martin Storsjo 32e651e169 [COFF] Don't do autoexport of symbols from GNU import libraries
This involves adding more generic list of symbol suffixes/prefixes
to ignore for autoexport; adding a few other entries to these lists
as well from the corresponding lists in binutils.

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

llvm-svn: 343070
2018-09-26 06:13:47 +00:00
Martin Storsjo a47957ab13 [COFF] Allow exporting all symbols from system libraries specfied with -wholearchive:
When building a shared libc++.dll, it pulls in libc++abi.a statically
with the --wholearchive flag. If such a build is done with
--export-all-symbols, it's reasonable to assume that everything
from that library also should be exported with the same rules as normal
local object files, even though we normally avoid autoexporting things
from libc++abi.a in other cases when linking a DLL (user code).

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

llvm-svn: 341403
2018-09-04 20:56:56 +00:00
Martin Storsjo 3af5ffb538 [COFF] Avoid forward declaring StringSet, fix build
This should fix the build after SVN r316178, which worked fine
on GCC 5.4, but failed on clang with errors like these:

MinGW.h:26:3: error: too few template arguments for class template 'StringSet'
  StringSet<> ExcludeSymbols;
  ^
lld/Common/LLVM.h:28:30: note: template is declared here
  template<typename T> class StringSet;

Don't forward declare and add the using directive in the main
lld/Common/LLVM.h header, but just qualify the class name
in MinGW.h instead.

llvm-svn: 316180
2017-10-19 20:19:16 +00:00
Martin Storsjo e1f894d59e [COFF] Move MinGW specific functions/classes to a separate file. NFC.
Differential Revision: https://reviews.llvm.org/D39067

llvm-svn: 316178
2017-10-19 19:49:38 +00:00