[cfe-dev] [RFC] Possible ABI break for libc++ built with -fno-rtti and -D_LIBCPP_BUILD_STATIC
Eric Fiselier via cfe-dev
cfe-dev at lists.llvm.org
Wed May 3 16:42:59 PDT 2017
Hi All,
Libc++ currently has an ABI incompatibility when built as a static library
with no RTTI. Specifically some std::shared_ptr internals have different
vtable layouts in this configuration.
I would like to fix this by making the vtable definition consistent across
all configurations, but that requires breaking the ABI of a very rare
configuration of libc++. I suspect all users of this configuration can take
the ABI break immediately, but I would like to confirm this before
proceeding.
The configuration in question is a static libc++ library built with
-DLIBCXX_ENABLE_RTTI=OFF and -D_LIBCPP_BUILD_STATIC,
Is anybody using this configuration and can't take an ABI break?
Note that `_LIBCPP_BUILD_STATIC` must be manually defined by the user at
both when building and using libc++, and it is not supported by the CMake
build system. This should mean that almost nobody is defining it.
The proposed changes can be found here: https://reviews.llvm.org/D32838
/Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170503/ef291b09/attachment.html>
More information about the cfe-dev
mailing list