[Bug 215709] Use of thread_local produces linking errors [now with gcc]

[email protected]
Newsgroups gmane.os.freebsd.devel.threading
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215709

--- Comment #6 from [email protected] ---
A commit references this bug:

Author: kib
Date: Sat Jan  7 16:05:19 UTC 2017
New revision: 311651
URL: https://svnweb.freebsd.org/changeset/base/311651

Log:
  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 <[email protected]>
  PR:   215709
  Sponsored by: The FreeBSD Foundation
  MFC after:    2 weeks

Changes:
  head/lib/libc/include/libc_private.h
  head/lib/libc/stdlib/Makefile.inc
  head/lib/libc/stdlib/Symbol.map
  head/lib/libc/stdlib/cxa_thread_atexit.c
  head/lib/libc/stdlib/cxa_thread_atexit_impl.c

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-threads
To unsubscribe, send any mail to "[email protected]"
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.