Date: Mon, 02 Jan 2017 16:16:34 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-threads@FreeBSD.org Subject: [Bug 215709] Use of thread_local produces linking errors [now with gcc] Message-ID: <bug-215709-16-5EmQrjQw9l@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-215709-16@https.bugs.freebsd.org/bugzilla/> References: <bug-215709-16@https.bugs.freebsd.org/bugzilla/>
index | next in thread | previous in thread | raw e-mail
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215709 Konstantin Belousov <kib@FreeBSD.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |kib@FreeBSD.org --- Comment #1 from Konstantin Belousov <kib@FreeBSD.org> --- 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.help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-215709-16-5EmQrjQw9l>
