summaryrefslogtreecommitdiffstats
path: root/gnu/lib
diff options
context:
space:
mode:
authortheraven <theraven@FreeBSD.org>2013-01-28 11:12:49 +0000
committertheraven <theraven@FreeBSD.org>2013-01-28 11:12:49 +0000
commitb923a5521baf7a53ffa6239bb920ea3b7d10e780 (patch)
tree91475ddf8dac40a9a30ca3181f0b3b4b4e7fe230 /gnu/lib
parent721434871d894c61ef7f8093adc65d80ce6056f8 (diff)
downloadFreeBSD-src-b923a5521baf7a53ffa6239bb920ea3b7d10e780.zip
FreeBSD-src-b923a5521baf7a53ffa6239bb920ea3b7d10e780.tar.gz
Fix some symbol version mismatches between libstdc++ and libsupc++/libcxxrt
that were causing the runtime and STL libraries to see different versions of various classes and functions when libstdc++ is used as a filter. Note: This changes the ABI for libcxxrt, but libcxxrt is currently only in -STABLE for testing and is not used by anything unless explicitly enabled by the end user. No default compiler configurations use it. libc++ will need to be recompiled after this change. make buildworld will do this automatically, but make in lib/libc++ will not necessarily work unless the new libcxxrt is installed first. PR: kern/171610, stand/175453 Reviewed by: kib MFC after: 1 week
Diffstat (limited to 'gnu/lib')
-rw-r--r--gnu/lib/libsupc++/Version.map29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/lib/libsupc++/Version.map b/gnu/lib/libsupc++/Version.map
index ec6303e..dbcf495 100644
--- a/gnu/lib/libsupc++/Version.map
+++ b/gnu/lib/libsupc++/Version.map
@@ -142,8 +142,37 @@ GLIBCXX_3.4 {
_ZdaPvRKSt9nothrow_t;
_ZdlPv;
_ZdlPvRKSt9nothrow_t;
+ extern "C++" {
+ std::set_new_handler*;
+ std::set_terminate*;
+ std::set_unexpected*;
+
+ std::bad_alloc;
+ std::bad_cast;
+ std::exception*;
+
+ "typeinfo for std::bad_alloc";
+ "typeinfo for std::bad_cast";
+ "typeinfo for std::exception";
+
+ "typeinfo name for std::bad_alloc";
+ "typeinfo name for std::bad_cast";
+ "typeinfo name for std::exception";
+
+ "vtable for std::bad_alloc";
+ "vtable for std::bad_cast";
+ "vtable for std::exception";
+ };
};
+GLIBCXX_3.4.9 {
+ extern "C++" {
+ "std::bad_alloc::what() const";
+ "std::bad_cast::what() const";
+ "std::bad_typeid::what() const";
+ };
+} GLIBCXX_3.4;
+
CXXABI_1.3.1 {
__cxa_get_exception_ptr;
OpenPOWER on IntegriCloud