gcc/libstdc++-v3
Alexandre Oliva d70f49e982 [libstdc++] do not destruct mutex_pool mutexes
On vxworks, after destroying the semaphore used to implement a mutex,
__gthread_mutex_lock fails and __gnu_cxx::__mutex::lock calls
__throw_concurrence_lock_error.  Nothing ensures the mutex_pool
mutexes survive init-once objects containing _Safe_sequence_base.  If
such an object completes construction before mutex_pool
initialization, it will be registered for atexit destruction after the
mutex_pool mutexes, so the _M_detach_all() call in the
_Safe_sequence_base dtor will use already-destructed mutexes, and
basic_string/requirements/citerators_cc fails calling terminate.

This patch fixes this problem by ensuring the mutex pool mutexes are
constructed on demand, on a statically-allocated buffer, but never
destructed.


for  libstdc++-v3/ChangeLog

	* src/c++11/shared_ptr.cc (__gnu_internal::get_mutex):
	Avoid destruction of the mutex pool.
2023-02-22 14:38:17 -03:00
..
config libstdc++: Update baseline symbols for m68k-linux 2023-02-20 19:36:26 +01:00
doc libstdc++: Switch two links to www.open-std.org to https 2023-02-18 10:59:11 +01:00
include libstdc++: Fix uses of non-reserved names in simd header 2023-02-20 17:24:03 +01:00
libsupc++ libstdc++: Fix uses of non-reserved names in headers 2023-02-16 10:24:45 +00:00
po Update copyright years. 2023-01-16 11:52:17 +01:00
python Update copyright years. 2023-01-16 11:52:17 +01:00
scripts Update copyright years. 2023-01-16 11:52:17 +01:00
src [libstdc++] do not destruct mutex_pool mutexes 2023-02-22 14:38:17 -03:00
testsuite [libstdc++] xfail noreplace tests on vxworks 2023-02-22 14:35:15 -03:00
acinclude.m4 libstdc++: Do not embed tzdata.zi for 8-bit and 16-bit targets 2023-02-01 21:00:20 +00:00
aclocal.m4 libstdc++: Don't use gstdint.h anymore 2022-10-29 00:55:42 +01:00
ChangeLog Daily bump. 2023-02-21 00:18:20 +00:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
ChangeLog-2018
ChangeLog-2019
ChangeLog-2020
ChangeLog-2021 Rotate ChangeLog files - part 1 - add ChangeLog-2021. 2022-01-03 10:18:16 +01:00
ChangeLog-2022 Rotate ChangeLog files. 2023-01-01 16:20:13 +01:00
config.h.in libstdc++: enable <stacktrace> on windows 2023-01-14 20:49:45 +00:00
configure libstdc++: Do not embed tzdata.zi for 8-bit and 16-bit targets 2023-02-01 21:00:20 +00:00
configure.ac libstdc++: Implement C++20 time zone support in <chrono> 2022-12-22 23:34:20 +00:00
configure.host
crossconfig.m4 libstdc++: Allow emergency EH alloc pool size to be tuned [PR68606] 2022-10-11 16:21:48 +01:00
fragment.am
linkage.m4
Makefile.am libstdc++: Enable building libstdc++.{a,so} when !HOSTED 2023-02-06 14:23:46 +00:00
Makefile.in libstdc++: Enable building libstdc++.{a,so} when !HOSTED 2023-02-06 14:23:46 +00:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.