aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2016-04-26 10:06:16 +0000
committerRainer Orth <ro@gcc.gnu.org>2016-04-26 10:06:16 +0000
commitb2eb4ed5aa837132cb46375a5facab6d0e7453c6 (patch)
tree6a96a7402ecf753faa8bc79527b942906023d5f3 /gcc/varasm.c
parentec1a9e7dab4b1bf244056f355fc8364b5ccf2009 (diff)
downloadgcc-b2eb4ed5aa837132cb46375a5facab6d0e7453c6.zip
gcc-b2eb4ed5aa837132cb46375a5facab6d0e7453c6.tar.gz
gcc-b2eb4ed5aa837132cb46375a5facab6d0e7453c6.tar.bz2
Support .lbss etc. sections with Solaris as (PR target/59407)
PR target/59407 * config/i386/i386.c (SECTION_LARGE): Define. (x86_64_elf_select_section): Set it for large data/bss sections. Only clear SECTION_WRITE for .lrodata. (x86_64_elf_section_type_flags): Set SECTION_LARGE for large data/bss sections. * config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define. * varasm.c (default_elf_asm_named_section): Grow flagchars. [MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for SECTION_MACH_DEP. * doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe. * doc/tm.texi: Regenerate. From-SVN: r235434
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index d71defa..c7ed06e 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -6238,7 +6238,7 @@ void
default_elf_asm_named_section (const char *name, unsigned int flags,
tree decl)
{
- char flagchars[10], *f = flagchars;
+ char flagchars[11], *f = flagchars;
/* If we have already declared this section, we can use an
abbreviated form to switch back to it -- unless this section is
@@ -6271,6 +6271,10 @@ default_elf_asm_named_section (const char *name, unsigned int flags,
*f++ = TLS_SECTION_ASM_FLAG;
if (HAVE_COMDAT_GROUP && (flags & SECTION_LINKONCE))
*f++ = 'G';
+#ifdef MACH_DEP_SECTION_ASM_FLAG
+ if (flags & SECTION_MACH_DEP)
+ *f++ = MACH_DEP_SECTION_ASM_FLAG;
+#endif
*f = '\0';
fprintf (asm_out_file, "\t.section\t%s,\"%s\"", name, flagchars);