[PATCH] D54639: [libcxx] Make sure we can build with -fvisibility=hidden on Linux

Louis Dionne via Phabricator reviews at reviews.llvm.org
Fri Nov 16 11:00:21 PST 2018


ldionne created this revision.
ldionne added reviewers: EricWF, mclow.lists.
Herald added subscribers: libcxx-commits, dexonsmith, jkorous, christof.

This commit marks a few functions as hidden and removes them from the ABI list
on Linux such that libc++ can be built with -fvisibility=hidden. The functions
marked as hidden by this patch were exported from the shared object only
because they were implicitly instantiated function templates. It is safe
to stop exporting those symbols from the shared object because nobody could
actually depend on them: implicit instantiations are not taken from shared
objects.

The symbols removed in this commit are basically the same that had been
removed in https://reviews.llvm.org/D53868, but that patch had to be reverted
because it broke the build (because the functions were not marked as hidden
like this patch does).


Repository:
  rCXX libc++

https://reviews.llvm.org/D54639

Files:
  libcxx/include/algorithm
  libcxx/include/locale
  libcxx/include/string
  libcxx/lib/abi/CHANGELOG.TXT
  libcxx/lib/abi/x86_64-unknown-linux-gnu.v1.abilist

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D54639.174409.patch
Type: text/x-patch
Size: 10002 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20181116/89a8e46a/attachment.bin>


More information about the libcxx-commits mailing list