OSDN Git Service

PR target/38118
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jan 2011 19:00:10 +0000 (19:00 +0000)
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 6 Jan 2011 19:00:10 +0000 (19:00 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168550 138bc75d-0d04-0410-961f-82ee72b054a4

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

index e6c4dee..4f8b20b 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 8f59775..e8f9dba 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 75f4675..aace524 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));                                  \