[Bug middle-end/55308] /usr/ports/lang/gcc48/work/build/sparc64-portbld-freebsd10.0/libstdc++-v3/src/.libs/libstdc++.so.6: Undefined symbol "__emutls_v._ThreadRuneLocale"
ro at CeBiTec dot Uni-Bielefeld.DE
gcc-bugzilla@gcc.gnu.org
Fri Feb 22 15:48:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55308
--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> 2013-02-22 15:48:00 UTC ---
There seems to be something totally confused here: when linking
libgcc_s.so, there's a reference to libstdc++.so:
[...]
lc && rm -f /libgcc_s.so && if [ -f /libgcc_s.so.1 ]; then mv -f
/libgcc_s.so.1 /libgcc_s.so.1.backup; else true; fi && mv /libgcc_s.so.1.tmp
/libgcc_s.so.1 && ln -s libgcc_s.so.1 /libgcc_s.so
/usr/ports/lang/gcc48/work/build/sparc64-portbld-freebsd10.0/libstdc++-v3/src/.libs/libstdc++.so.6:
Undefined symbol "__emutls_v._ThreadRuneLocale"
gmake[3]: *** [libgcc_s.so] Error 1
This cannot be right, at least this won't happen during a regular gcc
build. You first need to find out which object/shared object references
this undefined symbol. Only after this analysis is done, we can come to
further conclusions. If you have already done the analysis, you should
include the results in the PR.
Apart from that,
tls_as_opt="-32 --fatal-warnings"
is in the non-Solaris gas sections of configure.ac and has been there
even before my patch to improve Solaris/SPARC TLS support. What
assembler does this build use? I suppose it is some version of gas, in
which case I've got a hard time believing that it doesn't support -32.
If this is a completely different assembler, you'll have to add support
for the options it does and doesn't understand, and perhaps even more to
properly enable native TLS.
Rainer
More information about the Gcc-bugs
mailing list