]> gcc.gnu.org Git - gcc.git/commitdiff
re PR target/38118 (gcc emits non-TLS data as TLS on Solaris 11/SPARC)
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Thu, 6 Jan 2011 19:00:10 +0000 (19:00 +0000)
committerRainer Orth <ro@gcc.gnu.org>
Thu, 6 Jan 2011 19:00:10 +0000 (19:00 +0000)
PR target/38118
* config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
if coming from .tdata.
* config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.

From-SVN: r168550

gcc/ChangeLog
gcc/config/i386/sol2-10.h
gcc/config/sol2.h

index e6c4dee707ac043f5e5ddb5ccbff249dc7fabab1..4f8b20b1de8539c1abadcfb86c21140aeb4bc153 100644 (file)
@@ -1,3 +1,10 @@
+2011-01-06  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       PR target/38118
+       * config/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Also switch to .bss
+       if coming from .tdata.
+       * config/i386/sol2-10.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
+
 2011-01-06  Jan Hubicka  <jh@suse.cz>
 
        PR lto/47188
index 8f597753376e02a013f2d7ff5d42c09453912c8e..e8f9dbaab2ec5a59313376c7b21df213cb0d7095 100644 (file)
@@ -58,8 +58,7 @@ along with GCC; see the file COPYING3.  If not see
     {                                                                  \
       if (TARGET_SUN_TLS                                               \
          && in_section                                                 \
-         && ((in_section->common.flags & (SECTION_TLS | SECTION_BSS))  \
-             == (SECTION_TLS | SECTION_BSS)))                          \
+         && ((in_section->common.flags & SECTION_TLS) == SECTION_TLS)) \
        switch_to_section (bss_section);                                \
       x86_elf_aligned_common (FILE, NAME, SIZE, ALIGN);                        \
     }                                                                  \
index 75f4675242b5580e334d424920c1b2b29ce4d968..aace5247609b0304453070fbaaabeb1278bcf138 100644 (file)
@@ -277,7 +277,7 @@ __enable_execute_stack (void *addr)                                 \
     }                                                          \
   while (0)
 
-/* Solaris 'as' has a bug: a .common directive in .tbss section
+/* Solaris 'as' has a bug: a .common directive in .tbss or .tdata section
    behaves as .tls_common rather than normal non-TLS .common.  */
 #undef  ASM_OUTPUT_ALIGNED_COMMON
 #define ASM_OUTPUT_ALIGNED_COMMON(FILE, NAME, SIZE, ALIGN)             \
@@ -285,8 +285,7 @@ __enable_execute_stack (void *addr)                                 \
     {                                                                  \
       if (TARGET_SUN_TLS                                               \
          && in_section                                                 \
-         && ((in_section->common.flags & (SECTION_TLS | SECTION_BSS))  \
-             == (SECTION_TLS | SECTION_BSS)))                          \
+         && ((in_section->common.flags & SECTION_TLS) == SECTION_TLS)) \
        switch_to_section (bss_section);                                \
       fprintf ((FILE), "%s", COMMON_ASM_OP);                           \
       assemble_name ((FILE), (NAME));                                  \
This page took 0.0634940000000001 seconds and 5 git commands to generate.