[PATCH] D50652: [libcxx] By default, do not use internal_linkage to hide symbols from the ABI
Louis Dionne via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Aug 15 12:45:18 PDT 2018
ldionne added a comment.
In https://reviews.llvm.org/D50652#1201236, @thakis wrote:
> I haven't read all the messages in these threads, forgive me if someone asked this already. It's a bit weird to me that we have to override this behavior in Chromium while the default is different. Why isn't the executable size blowup we see in chromium a problem for everyone else too? Is the plan to fix ld64's string pooling at the same time as rolling this change out, and this is just a workaround for people who have head libc++ but not head ld64?
It's the other way around -- the default behavior introduced in this patch is the one before the `internal_linkage` change. If you want to opt-in, you can define `_LIBCPP_HIDE_FROM_ABI_PER_TU`.
As a separate goal, we will (in the future) make things better for the default case, i.e. we will get rid of `__always_inline__` too and allow ODR-deduplication.
Does that make sense?
Repository:
rCXX libc++
https://reviews.llvm.org/D50652
More information about the cfe-commits
mailing list