From f512f6f96bc62b237fbafa61b98f455d77854d1e Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Mon, 13 Nov 2017 12:38:16 +0000 Subject: [PATCH] Use -xbrace_comment=no with recent Solaris/x86 as Backport from mainline 2017-10-26 Rainer Orth * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler supports -xbrace_comment option. * configure: Regenerate. * config.in: Regenerate. * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. (ASM_CPU_SPEC): Use it. From-SVN: r254681 --- gcc/ChangeLog | 12 ++++++++++++ gcc/config.in | 6 ++++++ gcc/config/i386/sol2.h | 10 +++++++++- gcc/configure | 32 ++++++++++++++++++++++++++++++++ gcc/configure.ac | 5 +++++ 5 files changed, 64 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 3ede67dd3a6..5d7799f2c73 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,15 @@ +2017-11-13 Rainer Orth + + Backport from mainline + 2017-10-26 Rainer Orth + + * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler + supports -xbrace_comment option. + * configure: Regenerate. + * config.in: Regenerate. + * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. + (ASM_CPU_SPEC): Use it. + 2017-11-09 Segher Boessenkool Backport from mainline diff --git a/gcc/config.in b/gcc/config.in index 3fda5787755..eca3fd810fb 100644 --- a/gcc/config.in +++ b/gcc/config.in @@ -709,6 +709,12 @@ #endif +/* Define if your assembler supports -xbrace_comment option. */ +#ifndef USED_FOR_TARGET +#undef HAVE_AS_XBRACE_COMMENT_OPTION +#endif + + /* Define to 1 if you have the `atoq' function. */ #ifndef USED_FOR_TARGET #undef HAVE_ATOQ diff --git a/gcc/config/i386/sol2.h b/gcc/config/i386/sol2.h index 61733603fa2..05e5e1a4949 100644 --- a/gcc/config/i386/sol2.h +++ b/gcc/config/i386/sol2.h @@ -65,8 +65,16 @@ along with GCC; see the file COPYING3. If not see #define ASM_CPU64_DEFAULT_SPEC "-xarch=generic64" #endif +/* Since Studio 12.6, as needs -xbrace_comment=no so its AVX512 syntax is + fully compatible with gas. */ +#ifdef HAVE_AS_XBRACE_COMMENT_OPTION +#define ASM_XBRACE_COMMENT_SPEC "-xbrace_comment=no" +#else +#define ASM_XBRACE_COMMENT_SPEC "" +#endif + #undef ASM_CPU_SPEC -#define ASM_CPU_SPEC "%(asm_cpu_default)" +#define ASM_CPU_SPEC "%(asm_cpu_default) " ASM_XBRACE_COMMENT_SPEC /* Don't include ASM_PIC_SPEC. While the Solaris 10+ assembler accepts -K PIC, it gives many warnings: diff --git a/gcc/configure b/gcc/configure index 50ccc2a0f49..84184b924f7 100755 --- a/gcc/configure +++ b/gcc/configure @@ -25449,6 +25449,38 @@ $as_echo "$as_me: WARNING: LTO for $target requires binutils >= 2.20.1, but vers ;; esac + { $as_echo "$as_me:${as_lineno-$LINENO}: checking assembler for -xbrace_comment" >&5 +$as_echo_n "checking assembler for -xbrace_comment... " >&6; } +if test "${gcc_cv_as_ix86_xbrace_comment+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + gcc_cv_as_ix86_xbrace_comment=no + if test x$gcc_cv_as != x; then + $as_echo '.text' > conftest.s + if { ac_try='$gcc_cv_as $gcc_cv_as_flags -xbrace_comment=no -o conftest.o conftest.s >&5' + { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5 + (eval $ac_try) 2>&5 + ac_status=$? + $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; }; } + then + gcc_cv_as_ix86_xbrace_comment=yes + else + echo "configure: failed program was" >&5 + cat conftest.s >&5 + fi + rm -f conftest.o conftest.s + fi +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gcc_cv_as_ix86_xbrace_comment" >&5 +$as_echo "$gcc_cv_as_ix86_xbrace_comment" >&6; } +if test $gcc_cv_as_ix86_xbrace_comment = yes; then + +$as_echo "#define HAVE_AS_XBRACE_COMMENT_OPTION 1" >>confdefs.h + +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 diff --git a/gcc/configure.ac b/gcc/configure.ac index 1d5a9d7c6c0..31db9582668 100644 --- a/gcc/configure.ac +++ b/gcc/configure.ac @@ -4059,6 +4059,11 @@ foo: nop ;; esac + gcc_GAS_CHECK_FEATURE([-xbrace_comment], gcc_cv_as_ix86_xbrace_comment,, + [-xbrace_comment=no], [.text],, + [AC_DEFINE(HAVE_AS_XBRACE_COMMENT_OPTION, 1, + [Define if your assembler supports -xbrace_comment option.])]) + # 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,