aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/i386
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2018-05-25 07:57:10 +0000
committerRainer Orth <ro@gcc.gnu.org>2018-05-25 07:57:10 +0000
commitf8d704048f0900b88a459a60c5fed0e9b7ed8658 (patch)
tree9946373293ac81d336c677b6b3aa3049f182b4bd /gcc/config/i386
parent9d4ac06e0235697c7fa3144b6790b779e6385ea5 (diff)
downloadgcc-f8d704048f0900b88a459a60c5fed0e9b7ed8658.zip
gcc-f8d704048f0900b88a459a60c5fed0e9b7ed8658.tar.gz
gcc-f8d704048f0900b88a459a60c5fed0e9b7ed8658.tar.bz2
Support SHF_EXCLUDE on non-x86 and with Solaris as
* configure.ac (gcc_cv_as_section_has_e): Move to common section. Rename to... (gcc_cv_as_section_exclude): ... this. Try Solaris as #exclude syntax. * configure: Regenerate. * config.in: Regenerate. * config/i386/i386.c (i386_solaris_elf_named_section): Handle SECTION_EXCLUDE. * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section) [HAVE_GAS_SECTION_EXCLUDE]: Handle SECTION_EXCLUDE. * varasm.c (default_elf_asm_named_section): Don't check if HAVE_GAS_SECTION_EXCLUDE is defined. From-SVN: r260708
Diffstat (limited to 'gcc/config/i386')
-rw-r--r--gcc/config/i386/i386.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 184b721..637c105 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -45905,6 +45905,15 @@ i386_solaris_elf_named_section (const char *name, unsigned int flags,
solaris_elf_asm_comdat_section (name, flags, decl);
return;
}
+
+ /* Solaris/x86 as uses the same syntax for the SHF_EXCLUDE flags as the
+ SPARC assembler. One cannot mix single-letter flags and #exclude, so
+ only emit the latter here. */
+ if (flags & SECTION_EXCLUDE)
+ {
+ fprintf (asm_out_file, "\t.section\t%s,#exclude\n", name);
+ return;
+ }
#endif
default_elf_asm_named_section (name, flags, decl);