gcc/libstdc++-v3/config
Alexandre Oliva 3d0f3382fa libsupc++: try cxa_thread_atexit_impl at runtime
g++.dg/tls/thread_local-order2.C fails when the toolchain is built for
a platform that lacks __cxa_thread_atexit_impl, even if the program is
built and run using that toolchain on a (later) platform that offers
__cxa_thread_atexit_impl.

This patch adds runtime testing for __cxa_thread_atexit_impl on select
platforms (GNU variants, for starters) that support weak symbols.


for  libstdc++-v3/ChangeLog

	PR libstdc++/112858
	* config/os/gnu-linux/os_defines.h
	(_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL): Define.
	* libsupc++/atexit_thread.cc [__GXX_WEAK__ &&
	_GLIBCXX_MAY_HAVE___CXA_THREAD_ATEXIT_IMPL]
	(__cxa_thread_atexit): Add dynamic detection of
	__cxa_thread_atexit_impl.
2023-12-07 00:38:14 -03:00
..
abi libstdc++: [_GLIBCXX_INLINE_VERSION] Add comment on emul TLS symbols 2023-10-30 22:07:49 +01:00
allocator Update copyright years. 2023-01-16 11:52:17 +01:00
cpu LoongArch: Adjust C++ multilib header layout. 2023-09-08 17:51:06 +08:00
io libstdc++: Implement C++26 native handles for file streams (P1759R6) 2023-09-15 21:57:41 +01:00
locale Revert "libstdc++: Reuse double overload of __convert_to_v if possible" 2023-08-18 00:27:10 +01:00
os libsupc++: try cxa_thread_atexit_impl at runtime 2023-12-07 00:38:14 -03:00