Previously, the list of libc++abi symbols that we re-export from libc++ would be partly encoded in libc++abi (and re-exported automatically via the cxxabi-reexports target), and partly hard-coded in libcxx/lib/libc++abi.exp. The duplication of information led to symbols not being exported from libc++ after being added to libc++abi when they should have been. This patch removes the duplication of information. After this patch, the full list of symbols to re-export from libc++abi is handled by the cxxabi-reexports target and is stored in libcxxabi. The symbols newly re-exported from libc++ are mainly new fundamental typeinfos and a bunch of functions and classes that are part of libc++abi but are most likely implementation details. In the future, it would be possible to try to trim down the set of what we export from libc++abi (and hence what we re-export from libc++) to remove some implementation detail symbols. Fixes #79008
This directory contains abi lists representing the symbols exported by the libc++ library. The lists are generated using libcxx/utils/generate_abi_list.py. Every time a symbol is added or removed from the libc++ library, each of the lists *MUST* be updated to reflect the changes. This can be done by using the `generate-cxx-abilist` CMake target. We do not keep an up-to-date ABI list for all the build configurations of libc++. Currently, only the default configuration on MacOS and Linux are supported.