diff options
author | Kai Tietz <ktietz@redhat.com> | 2011-09-28 10:07:39 +0200 |
---|---|---|
committer | Kai Tietz <ktietz@gcc.gnu.org> | 2011-09-28 10:07:39 +0200 |
commit | 08c71c82b8b1ea89b092f06bb2e84dc40ad3cd2f (patch) | |
tree | 54fa8e39315a2300568c6f1addebf0270867b3ce /gcc/config | |
parent | 5e3a0ed1a7e8d1c08052cb5939fb86529623cab9 (diff) | |
download | gcc-08c71c82b8b1ea89b092f06bb2e84dc40ad3cd2f.zip gcc-08c71c82b8b1ea89b092f06bb2e84dc40ad3cd2f.tar.gz gcc-08c71c82b8b1ea89b092f06bb2e84dc40ad3cd2f.tar.bz2 |
configure.ac: Add test for new section attribute specifier "e" via define...
* configure.ac: Add test for new section attribute
specifier "e" via define HAVE_GAS_SECTION_EXCLUDE.
* config.in: Regenerated.
* configure: Regenerated.
* config/i386/winnt.c (i386_pe_asm_named_section): Emit
new section flag "e" for excluded sections, if supported.
Otherwise we mark section withc SECTION_EXCLUDE flag
as never-load.
From-SVN: r179308
Diffstat (limited to 'gcc/config')
-rw-r--r-- | gcc/config/i386/winnt.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/config/i386/winnt.c b/gcc/config/i386/winnt.c index 8e7043f..af3f975 100644 --- a/gcc/config/i386/winnt.c +++ b/gcc/config/i386/winnt.c @@ -484,6 +484,11 @@ i386_pe_asm_named_section (const char *name, unsigned int flags, { char flagchars[8], *f = flagchars; +#if defined (HAVE_GAS_SECTION_EXCLUDE) && HAVE_GAS_SECTION_EXCLUDE == 1 + if ((flags & SECTION_EXCLUDE) != 0) + *f++ = 'e'; +#endif + if ((flags & (SECTION_CODE | SECTION_WRITE)) == 0) /* readonly data */ { @@ -498,6 +503,12 @@ i386_pe_asm_named_section (const char *name, unsigned int flags, *f++ = 'w'; if (flags & SECTION_PE_SHARED) *f++ = 's'; +#if !defined (HAVE_GAS_SECTION_EXCLUDE) || HAVE_GAS_SECTION_EXCLUDE == 0 + /* If attribute "e" isn't supported we mark this section as + never-load. */ + if ((flags & SECTION_EXCLUDE) != 0) + *f++ = 'n'; +#endif } /* LTO sections need 1-byte alignment to avoid confusing the |