/[base]
ViewVC logotype

Revision 311651


Jump to revision: Previous Next
Author: kib
Date: Sat Jan 7 16:05:19 2017 UTC (7 years, 5 months ago)
Changed paths: 5
Log Message:
Export __cxa_thread_atexit_impl as an alias for __cxa_thread_atexit.

libstdc++ before gcc r244057 expected that libc provided
__cxa_thread_atexit_impl, and libstdc++ implemented
__cxa_thread_atexit, by forwarding the calls to _impl.  Mentioned gcc
revision checks for __cxa_thread_atexit in libc and does not provide
the symbol from libstdc++ if found.

This change helps older gcc, in particular, all released versions
which implement thread_local, by consolidating the implementation into
libc.  For that versions, if configured with the current libc, the
__cxa_thread_atexit is exported from libstdc++ as a trivial wrapper
around libc::__cxa_thread_atexit_impl.

The __cxa_thread_atexit implementation is put into separate source
file to allow for static linking with older libstdc++.a.

gcc bugzilla:	https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78968
Reported by:	Hannes Hauswedell <h2+fbsdports@fsfe.org>
PR:	215709
Sponsored by:	The FreeBSD Foundation
MFC after:	2 weeks


Changed paths

Path Details
Directoryhead/lib/libc/include/libc_private.h modified , text changed
Directoryhead/lib/libc/stdlib/Makefile.inc modified , text changed
Directoryhead/lib/libc/stdlib/Symbol.map modified , text changed
Directoryhead/lib/libc/stdlib/cxa_thread_atexit.c modified , text changed
Directoryhead/lib/libc/stdlib/cxa_thread_atexit_impl.c
(Copied from head/lib/libc/stdlib/cxa_thread_atexit.c, r311650)
added , text changed

  ViewVC Help
Powered by ViewVC 1.1.27