aboutsummaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorDimitry Andric <dim@FreeBSD.org>2013-02-05 19:10:50 +0000
committerDimitry Andric <dim@FreeBSD.org>2013-02-05 19:10:50 +0000
commitde16ca02ea8b17e36a1be02b74bc35f2a5ca356f (patch)
tree9dfb10e7579330832e2f4d1999e50aed42652c4b /gnu
parent0520febff99ecc1cf53ec92d5e842164e00cfce7 (diff)
MFC r246028 (by theraven):
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 r246297: Add several missing symbols to libcxxrt's symbol version map, and remove a few duplicates. This should fix building world with -stdlib=libc++ after r246028. Submitted by: Yamaya Takashi <yamayan@kbh.biglobe.ne.jp>
Notes
svn path=/stable/9/; revision=246368
Diffstat (limited to 'gnu')
-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 ec6303ef78ec..dbcf4953979a 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;