[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

Konstantin Belousov <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |[email protected]

--- Comment #1 from Konstantin Belousov <[email protected]> ---
This is a bug in gcc.  The libsupc++ configuration assumes that there are
exactly two possibilities: either libc is glibc and implements
__cxa_thread_atexit() using __cxa_thread_atexit_impl(), or libsupc++ must
provide an implementation on its own.  Right solution is to add detection of
__cxa_thread_atexit() in libc, to libstdc++ configure.ac and
libsupc++/atexit_thread.cc.

A workaround for you is might be use of --allow-multiple-definition switch to
ld.  But what is not quite clear to me, is why libc  __cxa_thread_atexit was
searched for at all, since static linker should be satisfied with the first
definition it found.  Ensure that libstdc++.a appears strictly before libc.a on
the linker invocation' command line.

-- 
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.