diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2013-02-05 19:10:50 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2013-02-05 19:10:50 +0000 |
| commit | de16ca02ea8b17e36a1be02b74bc35f2a5ca356f (patch) | |
| tree | 9dfb10e7579330832e2f4d1999e50aed42652c4b /gnu | |
| parent | 0520febff99ecc1cf53ec92d5e842164e00cfce7 (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.map | 29 |
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; |
