This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/38118] gcc emits non-TLS data as TLS on Solaris 11/SPARC
- From: "ro at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 24 Mar 2010 18:50:11 -0000
- Subject: [Bug target/38118] gcc emits non-TLS data as TLS on Solaris 11/SPARC
- References: <bug-38118-279@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #5 from ro at gcc dot gnu dot org 2010-03-24 18:50 -------
Subject: Bug 38118
Author: ro
Date: Wed Mar 24 18:49:49 2010
New Revision: 157705
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=157705
Log:
* configure.ac (i[34567]86-*-*): Handle Solaris 2/x86 TLS support
and Sun as TLS syntax.
(TLS_SECTION_ASM_FLAG) [on_solaris && !gas_flag]: Define.
* configure: Regenerate.
* config.in: Regenerate.
* varasm.c (TLS_SECTION_ASM_FLAG): Define default.
(default_elf_asm_named_section): Use it.
* config/i386/i386.c (output_pic_addr_const): Lowercase @DTPOFF.
(i386_output_dwarf_dtprel): Likewise.
(output_addr_const_extra): Likewise.
(output_pic_addr_const): Lowercase @GOTTPOFF.
(output_addr_const_extra): Likewise.
(output_pic_addr_const): Lowercase @GOTNTPOFF.
(output_addr_const_extra): Likewise.
(output_pic_addr_const): Lowercase @INDNTPOFF.
(output_addr_const_extra): Likewise.
(output_pic_addr_const): Lowercase @NTPOFF.
(output_addr_const_extra): Likewise.
(output_pic_addr_const): Lowercase @TPOFF.
(output_addr_const_extra): Likewise.
* config/i386/i386.md (*tls_global_dynamic_32_gnu): Lowercase
@TLSGD.
(*tls_global_dynamic_64): Likewise.
(*tls_local_dynamic_base_32_gnu): Lowercase @TLSLDM.
(*tls_local_dynamic_base_64): Lowercase @TLSLD.
* defaults.h (TLS_COMMON_ASM_OP): Provide default.
(ASM_OUTPUT_TLS_COMMON): Use it.
* config/i386/sol2-gas.h (TLS_COMMON_ASM_OP): Undef.
PR target/38118
* config.gcc (sparc*-*-solaris2*) [$gas=yes]: Add usegas.h to
tm_file.
* config/sparc/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Move ...
* config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): ... here.
* config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Redefine.
* config/i386/sol2.h (TARGET_SUN_TLS): Redefine.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config.gcc
trunk/gcc/config.in
trunk/gcc/config/i386/i386.c
trunk/gcc/config/i386/i386.md
trunk/gcc/config/i386/sol2-10.h
trunk/gcc/config/i386/sol2-gas.h
trunk/gcc/config/i386/sol2.h
trunk/gcc/config/sol2.h
trunk/gcc/config/sparc/sol2.h
trunk/gcc/configure
trunk/gcc/configure.ac
trunk/gcc/defaults.h
trunk/gcc/varasm.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38118