diff options
author | Ilya Verbin <ilya.verbin@intel.com> | 2014-10-19 19:40:59 +0000 |
---|---|---|
committer | Ilya Verbin <iverbin@gcc.gnu.org> | 2014-10-19 19:40:59 +0000 |
commit | d856054bc7b4d494010234816bcb25e837eea3b1 (patch) | |
tree | b1a71a512384885501a7bb4ae73a119c424e9965 | |
parent | e80f9fef341bdd66fff59e18df3044f5fe2e5166 (diff) | |
download | gcc-d856054bc7b4d494010234816bcb25e837eea3b1.zip gcc-d856054bc7b4d494010234816bcb25e837eea3b1.tar.gz gcc-d856054bc7b4d494010234816bcb25e837eea3b1.tar.bz2 |
Set SECTION_EXCLUDE flag for LTO sections.
gcc/
* configure: Regenerate.
* configure.ac: Move the test for section attribute specifier "e" in GAS
out to all i[34567]86-*-* | x86_64-*-* targets and add --fatal-warnings.
* langhooks.c (lhd_begin_section): Set SECTION_EXCLUDE flag.
* varasm.c (default_elf_asm_named_section): Guard SECTION_EXCLUDE with
ifdef HAVE_GAS_SECTION_EXCLUDE.
From-SVN: r216442
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rwxr-xr-x | gcc/configure | 13 | ||||
-rw-r--r-- | gcc/configure.ac | 19 | ||||
-rw-r--r-- | gcc/langhooks.c | 2 | ||||
-rw-r--r-- | gcc/varasm.c | 2 |
5 files changed, 29 insertions, 16 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bee63fe..ca2cb0c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2014-10-19 Ilya Verbin <ilya.verbin@intel.com> + + * configure: Regenerate. + * configure.ac: Move the test for section attribute specifier "e" in GAS + out to all i[34567]86-*-* | x86_64-*-* targets and add --fatal-warnings. + * langhooks.c (lhd_begin_section): Set SECTION_EXCLUDE flag. + * varasm.c (default_elf_asm_named_section): Guard SECTION_EXCLUDE with + ifdef HAVE_GAS_SECTION_EXCLUDE. + 2014-10-19 Andreas Schwab <schwab@linux-m68k.org> * doc/md.texi (RTL Template) [match_scratch]: Correct equivalent diff --git a/gcc/configure b/gcc/configure index bd1215d..16f128f 100755 --- a/gcc/configure +++ b/gcc/configure @@ -24676,9 +24676,12 @@ $as_echo "$as_me: WARNING: LTO for $target requires binutils >= 2.20.1, but vers ;; esac fi - # Test if the assembler supports the section flag 'e' for specifying - # an excluded section. - { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .section with e" >&5 + ;; + esac + + # Test if the assembler supports the section flag 'e' for specifying + # an excluded section. + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for .section with e" >&5 $as_echo_n "checking assembler for .section with e... " >&6; } if test "${gcc_cv_as_section_has_e+set}" = set; then : $as_echo_n "(cached) " >&6 @@ -24691,7 +24694,7 @@ fi elif test x$gcc_cv_as != x; then $as_echo '.section foo1,"e" .byte 0,0,0,0' > conftest.s - if { ac_try='$gcc_cv_as $gcc_cv_as_flags -o conftest.o conftest.s >&5' + if { ac_try='$gcc_cv_as $gcc_cv_as_flags --fatal-warnings -o conftest.o conftest.s >&5' { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 (eval $ac_try) 2>&5 ac_status=$? @@ -24714,8 +24717,6 @@ cat >>confdefs.h <<_ACEOF #define HAVE_GAS_SECTION_EXCLUDE `if test $gcc_cv_as_section_has_e = yes; then echo 1; else echo 0; fi` _ACEOF - ;; - esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for filds and fists mnemonics" >&5 $as_echo_n "checking assembler for filds and fists mnemonics... " >&6; } diff --git a/gcc/configure.ac b/gcc/configure.ac index 8f7c814..35ce9ee 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -3799,18 +3799,19 @@ foo: nop ;; esac fi - # Test if the assembler supports the section flag 'e' for specifying - # an excluded section. - gcc_GAS_CHECK_FEATURE([.section with e], gcc_cv_as_section_has_e, - [2,22,51],, -[.section foo1,"e" -.byte 0,0,0,0]) - AC_DEFINE_UNQUOTED(HAVE_GAS_SECTION_EXCLUDE, - [`if test $gcc_cv_as_section_has_e = yes; then echo 1; else echo 0; fi`], - [Define if your assembler supports specifying the section flag e.]) ;; esac + # Test if the assembler supports the section flag 'e' for specifying + # an excluded section. + gcc_GAS_CHECK_FEATURE([.section with e], gcc_cv_as_section_has_e, + [2,22,51], [--fatal-warnings], +[.section foo1,"e" +.byte 0,0,0,0]) + AC_DEFINE_UNQUOTED(HAVE_GAS_SECTION_EXCLUDE, + [`if test $gcc_cv_as_section_has_e = yes; then echo 1; else echo 0; fi`], + [Define if your assembler supports specifying the section flag e.]) + gcc_GAS_CHECK_FEATURE([filds and fists mnemonics], gcc_cv_as_ix86_filds,,, [filds mem; fists mem],, diff --git a/gcc/langhooks.c b/gcc/langhooks.c index 7d4c294..4bdeaa0 100644 --- a/gcc/langhooks.c +++ b/gcc/langhooks.c @@ -660,7 +660,7 @@ lhd_begin_section (const char *name) saved_section = text_section; /* Create a new section and switch to it. */ - section = get_section (name, SECTION_DEBUG, NULL); + section = get_section (name, SECTION_DEBUG | SECTION_EXCLUDE, NULL); switch_to_section (section); } diff --git a/gcc/varasm.c b/gcc/varasm.c index 899265c..1aad9d5 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -6144,8 +6144,10 @@ default_elf_asm_named_section (const char *name, unsigned int flags, if (!(flags & SECTION_DEBUG)) *f++ = 'a'; +#if defined (HAVE_GAS_SECTION_EXCLUDE) && HAVE_GAS_SECTION_EXCLUDE == 1 if (flags & SECTION_EXCLUDE) *f++ = 'e'; +#endif if (flags & SECTION_WRITE) *f++ = 'w'; if (flags & SECTION_CODE) |