[PATCH] D51529: [LLD] [COFF] Allow exporting all symbols from system libraries specfied with -wholearchive:

Martin Storsjö via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 31 01:30:30 PDT 2018


mstorsjo created this revision.
mstorsjo added reviewers: ruiu, rnk, pcc.

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, I think 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).

Alternatively, as most setups with a static C++ lib would have included all of libc++abi.a in libc++.a, and end user code would never link against libc++abi.a, we could also just remove libc++abi.a from the exclude list?


Repository:
  rLLD LLVM Linker

https://reviews.llvm.org/D51529

Files:
  COFF/Driver.cpp
  COFF/MinGW.cpp
  COFF/MinGW.h
  test/COFF/export-all.s

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D51529.163477.patch
Type: text/x-patch
Size: 3290 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180831/b1a350bc/attachment.bin>


More information about the llvm-commits mailing list