summaryrefslogtreecommitdiff
path: root/gcc/config/sol2.h
diff options
context:
space:
mode:
authorro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-06 19:00:10 +0000
committerro <ro@138bc75d-0d04-0410-961f-82ee72b054a4>2011-01-06 19:00:10 +0000
commit256aa63814d5044ee93c44d574dbcf15a8a41e74 (patch)
treed902caf9f88f53ca1a1f35a536e5fbe3d5f0d74d /gcc/config/sol2.h
parent65c993910109f93c4fd892e278984fc871ec61b9 (diff)
downloadgcc-256aa63814d5044ee93c44d574dbcf15a8a41e74.tar.gz
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@168550 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/sol2.h')
-rw-r--r--gcc/config/sol2.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/config/sol2.h b/gcc/config/sol2.h
index 75f4675242b..aace5247609 100644
--- a/gcc/config/sol2.h
+++ b/gcc/config/sol2.h
@@ -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)); \