aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/config
diff options
context:
space:
mode:
authorPaolo Carlini <pcarlini@suse.de>2006-11-11 17:32:12 +0000
committerPaolo Carlini <paolo@gcc.gnu.org>2006-11-11 17:32:12 +0000
commiteebbe2c70e1dc028b3d8a858397e923073a0abb7 (patch)
treed2e8480331466efe424bf65b11128513e9df650a /libstdc++-v3/config
parentbc0a33d315e597f6d5c07a8a0b071de91d6aa20b (diff)
downloadgcc-eebbe2c70e1dc028b3d8a858397e923073a0abb7.zip
gcc-eebbe2c70e1dc028b3d8a858397e923073a0abb7.tar.gz
gcc-eebbe2c70e1dc028b3d8a858397e923073a0abb7.tar.bz2
re PR libstdc++/29496 (_M_invalidate function is not thread-safe in GLIBCXX_DEBUG mode)
2006-11-11 Paolo Carlini <pcarlini@suse.de> PR libstdc++/29496 * include/debug/safe_base.h (_Safe_sequence_base::_M_get_mutex, _Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single): New. * src/debug.cc: Define the latter. (_Safe_sequence_base::_M_detach_all, _M_detach_singular, _M_revalidate_singular, _M_swap): Use the mutex. (_Safe_iterator_base::_M_attach, _M_detach): Adjust, forward to the *_single version. * include/debug/safe_iterator.h (_Safe_iterator<>::_M_attach_single, _M_invalidate_single): New. * include/debug/safe_iterator.tcc: Define. (_Safe_iterator<>::_M_invalidate): Adjust, forward to _M_invalidate_single. * include/debug/safe_sequence.h (_Safe_sequence<>::_M_invalidate_if, _M_transfer_iter): Use the mutex, adjust, forward to the *_single versions of _M_invalidate and _M_attach. * config/abi/pre/gnu.ver (_Safe_sequence_base::_M_get_mutex, _Safe_iterator_base::_M_get_mutex, _M_attach_single, _M_detach_single): Add @GLIBCXX_3.4.10; adjust. * configure.ac (libtool_VERSION): To 6:10:0. * testsuite/util/testsuite_abi.cc (check_version): Add GLIBCXX_3.4.10. * configure: Regenerate. From-SVN: r118701
Diffstat (limited to 'libstdc++-v3/config')
-rw-r--r--libstdc++-v3/config/abi/pre/gnu.ver21
1 files changed, 19 insertions, 2 deletions
diff --git a/libstdc++-v3/config/abi/pre/gnu.ver b/libstdc++-v3/config/abi/pre/gnu.ver
index dd6854c..327222d 100644
--- a/libstdc++-v3/config/abi/pre/gnu.ver
+++ b/libstdc++-v3/config/abi/pre/gnu.ver
@@ -120,13 +120,21 @@ GLIBCXX_3.4 {
std::__moneypunct_cache*;
std::__numpunct_cache*;
std::__timepunct_cache*;
- __gnu_debug::_Safe_iterator_base*;
- __gnu_debug::_Safe_sequence_base*;
__gnu_debug::_Error_formatter*
};
# Names not in an 'extern' block are mangled names.
+ # __gnu_debug::_Safe_sequence_base and _Safe_iterator_base
+ _ZN11__gnu_debug19_Safe_sequence_base13_M_detach_allEv;
+ _ZN11__gnu_debug19_Safe_sequence_base18_M_detach_singularEv;
+ _ZN11__gnu_debug19_Safe_sequence_base22_M_revalidate_singularEv;
+ _ZN11__gnu_debug19_Safe_sequence_base7_M_swapERS0_;
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_attachEPNS_19_Safe_sequence_baseEb;
+ _ZN11__gnu_debug19_Safe_iterator_base9_M_detachEv;
+ _ZNK11__gnu_debug19_Safe_iterator_base11_M_singularEv;
+ _ZNK11__gnu_debug19_Safe_iterator_base14_M_can_compareERKS0_;
+
# std::string
_ZNSsC*;
_ZNSsD*;
@@ -662,8 +670,17 @@ GLIBCXX_3.4.9 {
_ZNSo9_M_insertEPKc[il];
_ZNSt13basic_ostreamIwSt11char_traitsIwEE9_M_insertEPKw[il];
+
} GLIBCXX_3.4.8;
+GLIBCXX_3.4.10 {
+
+ _ZN11__gnu_debug19_Safe_sequence_base12_M_get_mutexEv;
+ _ZN11__gnu_debug19_Safe_iterator_base16_M_attach_singleEPNS_19_Safe_sequence_baseEb;
+ _ZN11__gnu_debug19_Safe_iterator_base16_M_detach_singleEv;
+ _ZN11__gnu_debug19_Safe_iterator_base12_M_get_mutexEv;
+
+} GLIBCXX_3.4.9;
# Symbols in the support library (libsupc++) have their own tag.
CXXABI_1.3 {