adds in exports for more vtable bits, as per bugzilla
-benjamin
tested x86/linux
tested x86/linux --enable-symvers=gnu-versioned-namespace012-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.