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
33 lines
741 B
Plaintext
33 lines
741 B
Plaintext
# Itanium C++ ABI requirements (minus most exception support)
|
|
___cxa_bad_cast
|
|
___cxa_bad_typeid
|
|
___cxa_current_primary_exception
|
|
___cxa_decrement_exception_refcount
|
|
___cxa_deleted_virtual
|
|
___cxa_demangle
|
|
___cxa_get_globals
|
|
___cxa_get_globals_fast
|
|
___cxa_guard_abort
|
|
___cxa_guard_acquire
|
|
___cxa_guard_release
|
|
___cxa_increment_exception_refcount
|
|
___cxa_pure_virtual
|
|
___cxa_rethrow_primary_exception
|
|
___cxa_throw_bad_array_new_length
|
|
___cxa_uncaught_exception
|
|
___cxa_uncaught_exceptions
|
|
___cxa_vec_cctor
|
|
___cxa_vec_cleanup
|
|
___cxa_vec_ctor
|
|
___cxa_vec_delete
|
|
___cxa_vec_delete2
|
|
___cxa_vec_delete3
|
|
___cxa_vec_dtor
|
|
___cxa_vec_new
|
|
___cxa_vec_new2
|
|
___cxa_vec_new3
|
|
___dynamic_cast
|
|
___cxa_terminate_handler
|
|
___cxa_unexpected_handler
|
|
___cxa_new_handler
|