Index: head/lib/libcxxrt/Version.map =================================================================== --- head/lib/libcxxrt/Version.map (revision 325355) +++ head/lib/libcxxrt/Version.map (revision 325356) @@ -1,385 +1,391 @@ # $FreeBSD$ # 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_begin_cleanup; __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; __cxa_type_match; __cxa_vec_cctor; __cxa_vec_cleanup; __cxa_vec_ctor; __cxa_vec_delete2; __cxa_vec_delete3; __cxa_vec_delete; __cxa_vec_dtor; __cxa_vec_new2; __cxa_vec_new3; __cxa_vec_new; __dynamic_cast; __gxx_personality_sj0; __gxx_personality_v0; extern "C++" { # Type info classes and their destructors "__cxxabiv1::__array_type_info"; "__cxxabiv1::__array_type_info::~__array_type_info()"; "__cxxabiv1::__class_type_info"; "__cxxabiv1::__class_type_info::~__class_type_info()"; "__cxxabiv1::__enum_type_info"; "__cxxabiv1::__enum_type_info::~__enum_type_info()"; "__cxxabiv1::__function_type_info::"; "__cxxabiv1::__function_type_info::~__function_type_info()"; "__cxxabiv1::__fundamental_type_info"; "__cxxabiv1::__fundamental_type_info::~__fundamental_type_info()"; "__cxxabiv1::__pbase_type_info"; "__cxxabiv1::__pbase_type_info::~__pbase_type_info()"; "__cxxabiv1::__pointer_to_member_type_info"; "__cxxabiv1::__pointer_to_member_type_info::~__pointer_to_member_type_info()"; "__cxxabiv1::__pointer_type_info"; "__cxxabiv1::__pointer_type_info::~__pointer_type_info()"; "__cxxabiv1::__si_class_type_info"; "__cxxabiv1::__si_class_type_info::~__si_class_type_info()"; "__cxxabiv1::__vmi_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"; # C++11 typeinfo not understood by our linker # std::nullptr_t _ZTIDn;_ZTIPDn;_ZTIPKDn; # char16_t _ZTIDi;_ZTIPDi;_ZTIPKDi; # char32_t _ZTIDs;_ZTIPDs;_ZTIPKDs; # IEEE 754r decimal floating point _ZTIDd;_ZTIPDd;_ZTIPKDd; _ZTIDe;_ZTIPDe;_ZTIPKDe; _ZTIDf;_ZTIPDf;_ZTIPKDf; # IEEE 754r half-precision floating point _ZTIDh;_ZTIPDh;_ZTIPKDh; "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*"; # C++11 typeinfo name not understood by our linker # std::nullptr_t _ZTSDn;_ZTSPDn;_ZTSPKDn; # char16_t _ZTSDi;_ZTSPDi;_ZTSPKDi; # char32_t _ZTSDs;_ZTSPDs;_ZTSPKDs; # IEEE 754r decimal floating point _ZTSDd;_ZTSPDd;_ZTSPKDd; _ZTSDe;_ZTSPDe;_ZTSPKDe; _ZTSDf;_ZTSPDf;_ZTSPKDf; # IEEE 754r half-precision floating point _ZTSDh;_ZTSPDh;_ZTSPKDh; "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)"; }; 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*"; }; } CXXABI_1.3.6; 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&)"; "operator new[](unsigned long)"; "operator new(unsigned long)"; "operator new(unsigned long, 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.9; +} GLIBCXX_3.4.20;