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.

Reply via email to