From cb67ea560f883460a59692e63bd3739bff4f92cd Mon Sep 17 00:00:00 2001 From: theraven Date: Sun, 1 Jul 2012 21:51:57 +0000 Subject: [PATCH] MFC symbol exports for libsupcc++ and libcxxrt that correctly export new and delete operators. git-svn-id: svn://svn.freebsd.org/base/stable/9@237938 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f --- gnu/lib/libsupc++/Version.map | 14 ++++++++++++++ lib/libcxxrt/Version.map | 18 +++++++++++++----- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/gnu/lib/libsupc++/Version.map b/gnu/lib/libsupc++/Version.map index 12438ca61..ec6303ef7 100644 --- a/gnu/lib/libsupc++/Version.map +++ b/gnu/lib/libsupc++/Version.map @@ -130,6 +130,20 @@ CXXABI_1.3 { *; }; +GLIBCXX_3.4 { + # operator new and new[] + _Znai[jm]; + _Zna[jm]RKSt9nothrow_t; + _Znw[jm]; + _Znw[jm]RKSt9nothrow_t; + + # operator delete and delete[] + _ZdaPv; + _ZdaPvRKSt9nothrow_t; + _ZdlPv; + _ZdlPvRKSt9nothrow_t; +}; + CXXABI_1.3.1 { __cxa_get_exception_ptr; diff --git a/lib/libcxxrt/Version.map b/lib/libcxxrt/Version.map index b5be60e5a..ca990a0dd 100644 --- a/lib/libcxxrt/Version.map +++ b/lib/libcxxrt/Version.map @@ -306,11 +306,6 @@ CXXRT_1.0 { "std::type_info::__is_pointer_p() const"; - "operator delete[](void*)"; - "operator delete(void*)"; - "operator new[](unsigned long)"; - "operator new(unsigned long)"; - "operator new(unsigned long, std::nothrow_t const&)"; }; __cxa_allocate_dependent_exception; @@ -321,3 +316,16 @@ CXXRT_1.0 { __cxa_rethrow_primary_exception; } CXXABI_1.3.1; + +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&)"; + }; +}; -- 2.45.0