123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363 |
- # Define the same version as the libsupc++ from gcc 4.2.1 so that we can use
- # libcxxrt as a drop-in replacement.
- CXXABI_1.3 {
- global:
- # ABI functions with C linkage
- __cxa_allocate_exception;
- __cxa_bad_cast;
- __cxa_bad_typeid;
- __cxa_begin_catch;
- __cxa_call_unexpected;
- __cxa_current_exception_type;
- __cxa_demangle;
- __cxa_end_catch;
- __cxa_end_cleanup;
- __cxa_free_exception;
- __cxa_get_globals;
- __cxa_get_globals_fast;
- __cxa_guard_abort;
- __cxa_guard_acquire;
- __cxa_guard_release;
- __cxa_pure_virtual;
- __cxa_rethrow;
- __cxa_throw;
- __cxa_throw_bad_array_new_length;
- __dynamic_cast;
- __gxx_personality_v0;
- extern "C++" {
- # Type info classes and their destructors
- "__cxxabiv1::__array_type_info::~__array_type_info()";
- "__cxxabiv1::__class_type_info::~__class_type_info()";
- "__cxxabiv1::__enum_type_info::~__enum_type_info()";
- "__cxxabiv1::__function_type_info::~__function_type_info()";
- "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()";
- "__cxxabiv1::__pbase_type_info::~__pbase_type_info()";
- "__cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member_type_info()";
- "__cxxabiv1::__pointer_type_info::~__pointer_type_info()";
- "__cxxabiv1::__si_class_type_info::~__si_class_type_info()";
- "__cxxabiv1::__vmi_class_type_info::~__vmi_class_type_info()";
- # vtables typeinfo classes.
- "vtable for __cxxabiv1::__array_type_info";
- "vtable for __cxxabiv1::__class_type_info";
- "vtable for __cxxabiv1::__enum_type_info";
- "vtable for __cxxabiv1::__function_type_info";
- "vtable for __cxxabiv1::__fundamental_type_info";
- "vtable for __cxxabiv1::__pbase_type_info";
- "vtable for __cxxabiv1::__pointer_to_member_type_info";
- "vtable for __cxxabiv1::__pointer_type_info";
- "vtable for __cxxabiv1::__si_class_type_info";
- "vtable for __cxxabiv1::__vmi_class_type_info";
- # Type info for built-in types
- "typeinfo for bool const*";
- "typeinfo for bool";
- "typeinfo for char const*";
- "typeinfo for char";
- "typeinfo for double const*";
- "typeinfo for double";
- "typeinfo for float const*";
- "typeinfo for float";
- "typeinfo for int const*";
- "typeinfo for int";
- "typeinfo for long const*";
- "typeinfo for long double const*";
- "typeinfo for long double";
- "typeinfo for long long const*";
- "typeinfo for long long";
- "typeinfo for long";
- "typeinfo for short const*";
- "typeinfo for short";
- "typeinfo for signed char const*";
- "typeinfo for signed char";
- "typeinfo for unsigned char const*";
- "typeinfo for unsigned char";
- "typeinfo for unsigned int const*";
- "typeinfo for unsigned int";
- "typeinfo for unsigned long const*";
- "typeinfo for unsigned long long const*";
- "typeinfo for unsigned long long";
- "typeinfo for unsigned long";
- "typeinfo for unsigned short const*";
- "typeinfo for unsigned short";
- "typeinfo for void const*";
- "typeinfo for void";
- "typeinfo for wchar_t const*";
- "typeinfo for wchar_t";
- "typeinfo for bool*";
- "typeinfo for wchar_t*";
- "typeinfo for short*";
- "typeinfo for char*";
- "typeinfo for unsigned char*";
- "typeinfo for long long*";
- "typeinfo for unsigned short*";
- "typeinfo for long*";
- "typeinfo for double*";
- "typeinfo for unsigned long*";
- "typeinfo for unsigned long long*";
- "typeinfo for int*";
- "typeinfo for long double*";
- "typeinfo for signed char*";
- "typeinfo for void*";
- "typeinfo for unsigned int*";
- "typeinfo for float*";
- "typeinfo for __cxxabiv1::__array_type_info";
- "typeinfo for __cxxabiv1::__class_type_info";
- "typeinfo for __cxxabiv1::__enum_type_info";
- "typeinfo for __cxxabiv1::__function_type_info";
- "typeinfo for __cxxabiv1::__fundamental_type_info";
- "typeinfo for __cxxabiv1::__pbase_type_info";
- "typeinfo for __cxxabiv1::__pointer_to_member_type_info";
- "typeinfo for __cxxabiv1::__pointer_type_info";
- "typeinfo for __cxxabiv1::__si_class_type_info";
- "typeinfo for __cxxabiv1::__vmi_class_type_info";
- # Typeinfo names.
- "typeinfo name for unsigned char const*";
- "typeinfo name for long const*";
- "typeinfo name for double const*";
- "typeinfo name for unsigned long long const*";
- "typeinfo name for unsigned short const*";
- "typeinfo name for char const*";
- "typeinfo name for long long const*";
- "typeinfo name for short const*";
- "typeinfo name for unsigned int const*";
- "typeinfo name for float const*";
- "typeinfo name for bool const*";
- "typeinfo name for wchar_t const*";
- "typeinfo name for int const*";
- "typeinfo name for unsigned long const*";
- "typeinfo name for void const*";
- "typeinfo name for long double const*";
- "typeinfo name for signed char const*";
- "typeinfo name for wchar_t";
- "typeinfo name for short";
- "typeinfo name for char";
- "typeinfo name for float";
- "typeinfo name for void";
- "typeinfo name for unsigned int";
- "typeinfo name for bool";
- "typeinfo name for signed char";
- "typeinfo name for long double";
- "typeinfo name for int";
- "typeinfo name for unsigned long long";
- "typeinfo name for unsigned long";
- "typeinfo name for unsigned char";
- "typeinfo name for long";
- "typeinfo name for long long";
- "typeinfo name for unsigned short";
- "typeinfo name for double";
- "typeinfo name for bool*";
- "typeinfo name for wchar_t*";
- "typeinfo name for short*";
- "typeinfo name for char*";
- "typeinfo name for unsigned char*";
- "typeinfo name for long long*";
- "typeinfo name for unsigned short*";
- "typeinfo name for long*";
- "typeinfo name for double*";
- "typeinfo name for unsigned long*";
- "typeinfo name for unsigned long long*";
- "typeinfo name for int*";
- "typeinfo name for long double*";
- "typeinfo name for signed char*";
- "typeinfo name for void*";
- "typeinfo name for unsigned int*";
- "typeinfo name for float*";
- "typeinfo name for __cxxabiv1::__array_type_info";
- "typeinfo name for __cxxabiv1::__class_type_info";
- "typeinfo name for __cxxabiv1::__enum_type_info";
- "typeinfo name for __cxxabiv1::__function_type_info";
- "typeinfo name for __cxxabiv1::__fundamental_type_info";
- "typeinfo name for __cxxabiv1::__pbase_type_info";
- "typeinfo name for __cxxabiv1::__pointer_to_member_type_info";
- "typeinfo name for __cxxabiv1::__pointer_type_info";
- "typeinfo name for __cxxabiv1::__si_class_type_info";
- "typeinfo name for __cxxabiv1::__vmi_class_type_info";
- "std::type_info::type_info(std::type_info const&)";
- "std::type_info::operator=(std::type_info const&)";
- # Extensions
- "pathscale::set_terminate(void (*)())";
- "pathscale::set_unexpected(void (*)())";
- "pathscale::set_use_thread_local_handlers(bool)";
- };
- # C++11 typeinfo not understood by ld.bfd 2.17.50
- # std::nullptr_t
- _ZTIDn;_ZTIPDn;_ZTIPKDn;
- # char16_t
- _ZTIDi;_ZTIPDi;_ZTIPKDi;
- # char32_t
- _ZTIDs;_ZTIPDs;_ZTIPKDs;
- # IEEE 754r half-precision floating point
- _ZTIDh;_ZTIPDh;_ZTIPKDh;
- # C++11 typeinfo name not understood by ld.bfd 2.17.50
- # std::nullptr_t
- _ZTSDn;_ZTSPDn;_ZTSPKDn;
- # char16_t
- _ZTSDi;_ZTSPDi;_ZTSPKDi;
- # char32_t
- _ZTSDs;_ZTSPDs;_ZTSPKDs;
- # IEEE 754r half-precision floating point
- _ZTSDh;_ZTSPDh;_ZTSPKDh;
- local:
- *;
- };
- CXXABI_1.3.1 {
- __cxa_get_exception_ptr;
- } CXXABI_1.3;
- CXXABI_1.3.5 {
- extern "C++" {
- "typeinfo for __int128 const*";
- "typeinfo for __int128";
- "typeinfo for __int128*";
- "typeinfo for unsigned __int128 const*";
- "typeinfo for unsigned __int128";
- "typeinfo for unsigned __int128*";
- };
- } CXXABI_1.3.1;
- CXXABI_1.3.6 {
- __cxa_deleted_virtual;
- } CXXABI_1.3.5;
- CXXABI_1.3.9 {
- extern "C++" {
- "typeinfo name for __int128 const*";
- "typeinfo name for __int128";
- "typeinfo name for __int128*";
- "typeinfo name for unsigned __int128 const*";
- "typeinfo name for unsigned __int128";
- "typeinfo name for unsigned __int128*";
- "operator delete[](void*, unsigned int)";
- "operator delete(void*, unsigned int)";
- };
- } CXXABI_1.3.6;
- CXXABI_1.3.11 {
- __cxa_init_primary_exception;
- } CXXABI_1.3.9;
- CXXRT_1.0 {
- extern "C++" {
- "std::type_info::name() const";
- "std::type_info::before(std::type_info const&) const";
- "std::type_info::operator==(std::type_info const&) const";
- "std::type_info::operator!=(std::type_info const&) const";
- "std::bad_cast::bad_cast(std::bad_cast const&)";
- "std::bad_cast::bad_cast()";
- "std::bad_cast::operator=(std::bad_cast const&)";
- "std::bad_typeid::bad_typeid(std::bad_typeid const&)";
- "std::bad_typeid::bad_typeid()";
- "std::bad_typeid::operator=(std::bad_typeid const&)";
- "std::exception::exception(std::exception const&)";
- "std::exception::exception()";
- "std::exception::operator=(std::exception const&)";
- "std::bad_alloc::bad_alloc(std::bad_alloc const&)";
- "std::bad_alloc::bad_alloc()";
- "std::bad_alloc::operator=(std::bad_alloc const&)";
- "std::bad_array_new_length::bad_array_new_length(std::bad_array_new_length const&)";
- "std::bad_array_new_length::bad_array_new_length()";
- "std::bad_array_new_length::operator=(std::bad_array_new_length const&)";
- };
- __cxa_allocate_dependent_exception;
- __cxa_current_primary_exception;
- __cxa_decrement_exception_refcount;
- __cxa_free_dependent_exception;
- __cxa_increment_exception_refcount;
- __cxa_rethrow_primary_exception;
- } CXXABI_1.3.6;
- GLIBCXX_3.4 {
- extern "C++" {
- "operator delete[](void*)";
- "operator delete(void*)";
- "operator new[](unsigned int)";
- "operator new(unsigned int)";
- "operator new(unsigned int, std::nothrow_t const&)";
- "std::unexpected()";
- "std::get_terminate()";
- "std::get_unexpected()";
- "std::uncaught_exception()";
- "std::terminate()";
- "std::type_info::~type_info()";
- "std::bad_cast::~bad_cast()";
- "std::bad_typeid::~bad_typeid()";
- "std::exception::~exception()";
- "std::bad_alloc::~bad_alloc()";
- "std::bad_array_new_length::~bad_array_new_length()";
- "std::exception::what() const";
- std::set_new_handler*;
- std::set_terminate*;
- std::set_unexpected*;
- std::type_info::__*;
- "vtable for std::bad_alloc";
- "vtable for std::bad_cast";
- "vtable for std::bad_typeid";
- "vtable for std::exception";
- "vtable for std::type_info";
- "vtable for std::bad_array_new_length";
- "typeinfo for std::bad_alloc";
- "typeinfo for std::bad_typeid";
- "typeinfo for std::bad_cast";
- "typeinfo for std::exception";
- "typeinfo for std::type_info";
- "typeinfo for std::bad_array_new_length";
- "typeinfo name for std::bad_alloc";
- "typeinfo name for std::bad_typeid";
- "typeinfo name for std::bad_cast";
- "typeinfo name for std::exception";
- "typeinfo name for std::type_info";
- "typeinfo name for std::bad_array_new_length";
- };
- };
- GLIBCXX_3.4.9 {
- extern "C++" {
- "std::bad_typeid::what() const";
- "std::bad_cast::what() const";
- "std::bad_alloc::what() const";
- "std::bad_array_new_length::what() const";
- };
- } GLIBCXX_3.4;
- GLIBCXX_3.4.20 {
- extern "C++" {
- "std::get_new_handler()";
- };
- } GLIBCXX_3.4.9;
- GLIBCXX_3.4.22 {
- extern "C++" {
- "std::uncaught_exceptions()";
- };
- } GLIBCXX_3.4.20;
|