[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"

N8GCBP7SHNBTI79GINADGKJPRTLOCO2A at cmx dot ietfng.org gcc-bugzilla@gcc.gnu.org
Thu Jan 24 02:56:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55308

--- Comment #4 from N8GCBP7SHNBTI79GINADGKJPRTLOCO2A at cmx dot ietfng.org 2013-01-24 02:56:14 UTC ---
I'm not proposing changing all of them.  The one (two) that are significant to
my case are these:

--- gcc/configure.ac.orig       2013-01-02 11:57:31.000000000 +0000
+++ gcc/configure.ac    2013-01-16 22:08:48.151503275 +0000
@@ -3134,21 +3134,21 @@
     if test x$on_solaris = xyes && test x$gas_flag = xno; then
       conftest_s='
        .section ".tdata",#alloc,#write,#tls'
        tls_first_major=0
        tls_first_minor=0
     else
       conftest_s='
        .section ".tdata","awT",@progbits'
        tls_first_major=2
        tls_first_minor=14
-       tls_as_opt="-32 --fatal-warnings"
+       tls_as_opt="--fatal-warnings"
     fi
     conftest_s="$conftest_s
 foo:   .long   25
        .text
        sethi   %tgd_hi22(foo), %o0
        add     %o0, %tgd_lo10(foo), %o1
        add     %l7, %o1, %o0, %tgd_add(foo)
        call    __tls_get_addr, %tgd_call(foo)
        sethi   %tldm_hi22(foo), %l1
        add     %l1, %tldm_lo10(foo), %l2
--- gcc/configure.orig  2013-01-02 11:57:31.000000000 +0000
+++ gcc/configure       2013-01-16 22:08:48.142499859 +0000
@@ -23369,21 +23369,21 @@
     if test x$on_solaris = xyes && test x$gas_flag = xno; then
       conftest_s='
        .section ".tdata",#alloc,#write,#tls'
        tls_first_major=0
        tls_first_minor=0
     else
       conftest_s='
        .section ".tdata","awT",@progbits'
        tls_first_major=2
        tls_first_minor=14
-       tls_as_opt="-32 --fatal-warnings"
+       tls_as_opt="--fatal-warnings"
     fi
     conftest_s="$conftest_s
 foo:   .long   25
        .text
        sethi   %tgd_hi22(foo), %o0
        add     %o0, %tgd_lo10(foo), %o1
        add     %l7, %o1, %o0, %tgd_add(foo)
        call    __tls_get_addr, %tgd_call(foo)
        sethi   %tldm_hi22(foo), %l1
        add     %l1, %tldm_lo10(foo), %l2

but I do not claim that the above patch is anything other than a workaround! 
On sparc machines that are not FreeBSD, the -32 may be necessary, I don't know.



More information about the Gcc-bugs mailing list