adds in exports for more vtable bits, as per bugzilla
-benjamin
tested x86/linux
tested x86/linux --enable-symvers=gnu-versioned-namespace
012-09-26 Benjamin Kosnik <b...@redhat.com>
PR libstdc++/54314
* config/abi/pre/gnu.ver: Add vtable exports.
* config/abi/pre/gnu-versioned-namespace.ver: Same.
diff --git a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
index e7e9162..5f25374 100644
--- a/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
+++ b/libstdc++-v3/config/abi/pre/gnu-versioned-namespace.ver
@@ -27,20 +27,11 @@ GLIBCXX_7.0 {
# Names inside the 'extern' block are demangled names.
extern "C++"
{
+ std::*;
std::__7::*;
- std::*
+ std::random_device::*
};
- # locale
- _ZNSt3__79has_facetINS_*;
-
- # hash
- _ZNSt8__detail3__712__prime_listE;
- _ZNSt3tr18__detail3__712__prime_listE;
-
- # thread/mutex/condition_variable/future
- __once_proxy;
-
# operator new(size_t)
_Znw[jmy];
# operator new(size_t, std::nothrow_t const&)
@@ -64,13 +55,33 @@ GLIBCXX_7.0 {
# function-scope static objects requires a guard variable.
_ZGVNSt*;
- _ZTT*;
- _ZTV*;
+ # construction vtable
+ _ZTCNSt*;
- _ZTI*;
- _ZTS*;
+ # VTT structure
+ _ZTTNSt*;
- _ZTv0_n*;
+ # vtable
+ _ZTVNSt*;
+
+ # thunk
+ _ZTv0_n24_NS*;
+
+ # typeinfo structure
+ _ZTINSt*;
+
+ # typeinfo name
+ _ZTSNSt*;
+
+ # locale
+ _ZNSt3__79has_facetINS_*;
+
+ # hash
+ _ZNSt8__detail3__712__prime_listE;
+ _ZNSt3tr18__detail3__712__prime_listE;
+
+ # thread/mutex/condition_variable/future
+ __once_proxy;
# std::__detail::_List_node_base
_ZNSt8__detail3__715_List_node_base7_M_hook*;
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index 5265b21..396feec 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -1322,6 +1322,7 @@ GLIBCXX_3.4.17 {
} GLIBCXX_3.4.16;
GLIBCXX_3.4.18 {
+
global:
# Names inside the 'extern' block are demangled names.
@@ -1330,6 +1331,9 @@ GLIBCXX_3.4.18 {
std::random_device::*;
};
+ # construction vtable
+ _ZTCSt*;
+
} GLIBCXX_3.4.17;
# Symbols in the support library (libsupc++) have their own tag.