[Bug 215709] Use of thread_local produces linking errors [now with gcc]
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Mon Jan 2 14:29:01 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215709
Bug ID: 215709
Summary: Use of thread_local produces linking errors [now with
gcc]
Product: Base System
Version: 11.0-RELEASE
Hardware: Any
OS: Any
Status: New
Severity: Affects Some People
Priority: ---
Component: threads
Assignee: freebsd-threads at FreeBSD.org
Reporter: h2+fbsdports at fsfe.org
192320 implemented __cxa_thread_atexit so that base's clang now supports
c++11's thread_local keyword. However, this seems to now have broken static
linking with the GCCs that complain about double definitions:
cd /home/mi/h4nn3s/devel/lambda-build/pkg/src && /usr/local/bin/cmake -E
cmake_link_script CMakeFiles/lambda.dir/link.txt --verbose=1
/usr/local/libexec/ccache/g++6 -fopenmp -Wno-vla -O3 -DNDEBUG -flto=8 -s
-static CMakeFiles/lambda.dir/lambda.cpp.o -o ../bin/lambda -lpthread
-lexecinfo -lelf -lz -lbz2
//usr/lib/libc.a(cxa_thread_atexit.o): In function `__cxa_thread_atexit':
/usr/src/lib/libc/stdlib/cxa_thread_atexit.c:(.text+0x0): multiple definition
of `__cxa_thread_atexit'
/usr/local/lib/gcc6/gcc/x86_64-portbld-freebsd11.0/6.3.0/../../../libstdc++.a(atexit_thread.o):/wrkdirs/usr/ports/lang/gcc6/work/gcc-6.3.0/libstdc++-v3/libsupc++/atexit_thread.cc:117:
first defined here
collect2: error: ld returned 1 exit status
So now a I have a workaround for FreeBSD<11 + LLVM and I seem to need one for
FreeBSD>=11 + GCC. Needless to say, static linking with LLVM already doesn't
work at all, because the necessary openmp .a is not shipped.
It's starting to really get confusing :o
Anything I can do to help fix this?
Thanks!
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-threads
mailing list