From: Igor Tsimbalist Date: Mon, 19 Feb 2018 16:25:49 +0000 (+0100) Subject: CET shouldn't be enabled in 32-bit run-time libraries by defualt X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=14e335edc8c5c2cd18779e4e242a3d81037b8b43;p=gcc.git CET shouldn't be enabled in 32-bit run-time libraries by defualt ENDBR32 and RDSSPD are multi-byte NOPs on x86-64 processors and newer x86 processors, starting Pentium Pro. They are UD on older 32-bit processors. Detect this at configure time and adjust the default value for enable_cet. GCC will enable CET in 32-bit run-time libraries in any case if --enable-cet is used to configure GCC. PR target/84148 * config/cet.m4: Check if target support multi-byte NOPS (SSE). * libatomic/configure: Regenerate. * libbacktrace/configure: Likewise. * libgcc/configure: Likewise. * libgfortran/configure: Likewise. * libgomp/configure: Likewise. * libitm/configure: Likewise. * libmpx/configure: Likewise. * libobjc/configure: Likewise. * libquadmath/configure: Likewise. * libsanitizer/configure: Likewise. * libssp/configure: Likewise. * libstdc++-v3/configure: Likewise. * libvtv/configure: Likewise. From-SVN: r257809 --- diff --git a/config/ChangeLog b/config/ChangeLog index fd7f82fc779..746a0a01ba0 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * cet.m4: Check if target support multi-byte NOPS (SSE). + 2018-02-06 Eric Botcazou * gcc-plugin.m4 (GCC_ENABLE_PLUGINS): Remove -q option passed to grep. diff --git a/config/cet.m4 b/config/cet.m4 index 715f4bded19..23dd1f7d27d 100644 --- a/config/cet.m4 +++ b/config/cet.m4 @@ -5,15 +5,24 @@ dnl AC_DEFUN([GCC_CET_FLAGS],[dnl GCC_ENABLE(cet, default, ,[enable Intel CET in target libraries], permit yes|no|default) +AC_MSG_CHECKING([for CET support]) + case "$host" in i[[34567]]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [], - [asm ("setssbsy");])], + [ +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else +asm ("setssbsy"); +#endif + ])], [enable_cet=yes], [enable_cet=no]) ;; @@ -34,5 +43,8 @@ case "$host" in esac if test x$enable_cet = xyes; then $1="-fcf-protection -mcet" + AC_MSG_RESULT([yes]) +else + AC_MSG_RESULT([no]) fi ]) diff --git a/libatomic/ChangeLog b/libatomic/ChangeLog index c64a1aaa225..231270776a7 100644 --- a/libatomic/ChangeLog +++ b/libatomic/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-01-03 Jakub Jelinek Update copyright years. diff --git a/libatomic/configure b/libatomic/configure index 47a9b985450..9445aee1291 100755 --- a/libatomic/configure +++ b/libatomic/configure @@ -15314,18 +15314,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -15365,6 +15375,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" diff --git a/libbacktrace/ChangeLog b/libbacktrace/ChangeLog index 323ac94165c..64733a82ca2 100644 --- a/libbacktrace/ChangeLog +++ b/libbacktrace/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-02-15 Jakub Jelinek PR other/82368 diff --git a/libbacktrace/configure b/libbacktrace/configure index 8943b0ca7fd..77c6fe34d1e 100755 --- a/libbacktrace/configure +++ b/libbacktrace/configure @@ -11802,18 +11802,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -11853,6 +11863,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi EXTRA_FLAGS="$EXTRA_FLAGS $CET_FLAGS" diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 012c866f1c9..5df8d85a875 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-02-16 Igor Tsimbalist PR target/84239 diff --git a/libgcc/configure b/libgcc/configure index 38a28c2a48f..3241f19ab67 100644 --- a/libgcc/configure +++ b/libgcc/configure @@ -4790,18 +4790,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -4841,6 +4851,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 20a13e46a4f..c992a6051c1 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-02-18 Jerry DeLisle PR libgfortran/84412 diff --git a/libgfortran/configure b/libgfortran/configure index 60e18a7b3e8..86904ef7eea 100755 --- a/libgfortran/configure +++ b/libgfortran/configure @@ -5804,18 +5804,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -5855,6 +5865,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi AM_FCFLAGS="$AM_FCFLAGS $CET_FLAGS" @@ -12498,7 +12513,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12501 "configure" +#line 12516 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12604,7 +12619,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12607 "configure" +#line 12622 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog index 5e5e22f3a9f..ccc77006c5a 100644 --- a/libgomp/ChangeLog +++ b/libgomp/ChangeLog @@ -1,3 +1,8 @@ +2018-02-19 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-02-16 Jakub Jelinek PR fortran/84418 diff --git a/libgomp/configure b/libgomp/configure index e7842b5519f..92b8142b0b1 100755 --- a/libgomp/configure +++ b/libgomp/configure @@ -15142,7 +15142,7 @@ fi # Plugins for offload execution, configure.ac fragment. -*- mode: autoconf -*- # -# Copyright (C) 2014-2017 Free Software Foundation, Inc. +# Copyright (C) 2014-2018 Free Software Foundation, Inc. # # Contributed by Mentor Embedded. # @@ -16633,18 +16633,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -16684,6 +16694,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" diff --git a/libitm/ChangeLog b/libitm/ChangeLog index f335144443a..c5ca3875fa5 100644 --- a/libitm/ChangeLog +++ b/libitm/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-01-03 Jakub Jelinek Update copyright years. diff --git a/libitm/configure b/libitm/configure index d061c8c2659..a57805e20df 100644 --- a/libitm/configure +++ b/libitm/configure @@ -17603,18 +17603,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -17654,6 +17664,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" diff --git a/libmpx/ChangeLog b/libmpx/ChangeLog index 9ae654270b7..f8cc639fd0d 100644 --- a/libmpx/ChangeLog +++ b/libmpx/ChangeLog @@ -1,4 +1,9 @@ - 2017-11-17 Igor Tsimbalist +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + +2017-11-17 Igor Tsimbalist * Makefile.in: Regenerate. * acinclude.m4: Add enable.m4 and cet.m4. diff --git a/libmpx/configure b/libmpx/configure index 7bc68b81e4f..dfa4419b840 100644 --- a/libmpx/configure +++ b/libmpx/configure @@ -11598,18 +11598,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -11649,6 +11659,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog index 50d07690e71..b5422e3845f 100644 --- a/libobjc/ChangeLog +++ b/libobjc/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-01-03 Jakub Jelinek Update copyright years. diff --git a/libobjc/configure b/libobjc/configure index 3a2b2e36634..ce52fab100c 100755 --- a/libobjc/configure +++ b/libobjc/configure @@ -3369,18 +3369,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -3420,6 +3430,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" @@ -10668,7 +10683,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10671 "configure" +#line 10686 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10774,7 +10789,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10777 "configure" +#line 10792 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/libquadmath/ChangeLog b/libquadmath/ChangeLog index a55492321ab..33ca15f0555 100644 --- a/libquadmath/ChangeLog +++ b/libquadmath/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-01-03 Jakub Jelinek * libquadmath.texi: Bump @copying's copyright year. diff --git a/libquadmath/configure b/libquadmath/configure index b32dcbc8e03..2a694799596 100755 --- a/libquadmath/configure +++ b/libquadmath/configure @@ -12837,18 +12837,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -12888,6 +12898,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" diff --git a/libsanitizer/ChangeLog b/libsanitizer/ChangeLog index ebb8866bc13..b6250839281 100644 --- a/libsanitizer/ChangeLog +++ b/libsanitizer/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-02-05 Martin Liska * asan/asan_flags.inc: Cherry-pick upstream r323995. diff --git a/libsanitizer/configure b/libsanitizer/configure index a0104d8c2ab..3b61a1f7537 100755 --- a/libsanitizer/configure +++ b/libsanitizer/configure @@ -16539,18 +16539,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -16590,6 +16600,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi EXTRA_CFLAGS="$EXTRA_CFLAGS $CET_FLAGS" diff --git a/libssp/ChangeLog b/libssp/ChangeLog index 66254feafd9..b5e81131f25 100644 --- a/libssp/ChangeLog +++ b/libssp/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-01-03 Jakub Jelinek Update copyright years. diff --git a/libssp/configure b/libssp/configure index a96b39197ff..df7bff70ba1 100755 --- a/libssp/configure +++ b/libssp/configure @@ -4095,18 +4095,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -4146,6 +4156,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS" @@ -10745,7 +10760,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10748 "configure" +#line 10763 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -10851,7 +10866,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 10854 "configure" +#line 10869 "configure" #include "confdefs.h" #if HAVE_DLFCN_H diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index b2aa592cf7e..0305de11d59 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2018-02-19 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-02-15 Jonathan Wakely PR libstdc++/81797 diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure index fb3bf675bbc..54dd7cef4e1 100755 --- a/libstdc++-v3/configure +++ b/libstdc++-v3/configure @@ -81129,18 +81129,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -81180,6 +81190,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi EXTRA_CXX_FLAGS="$EXTRA_CXX_FLAGS $CET_FLAGS" diff --git a/libvtv/ChangeLog b/libvtv/ChangeLog index 3425da29a11..82b52bc4845 100644 --- a/libvtv/ChangeLog +++ b/libvtv/ChangeLog @@ -1,3 +1,8 @@ +2018-02-14 Igor Tsimbalist + + PR target/84148 + * configure: Regenerate. + 2018-01-03 Jakub Jelinek Update copyright years. diff --git a/libvtv/configure b/libvtv/configure index aa8a30133ad..1cd1f70cd76 100755 --- a/libvtv/configure +++ b/libvtv/configure @@ -15473,18 +15473,28 @@ else fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for CET support" >&5 +$as_echo_n "checking for CET support... " >&6; } + case "$host" in i[34567]86-*-linux* | x86_64-*-linux*) case "$enable_cet" in default) - # Check if assembler supports CET. + # Check if target supports multi-byte NOPs + # and if assembler supports CET insn. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { + +#if !defined(__SSE2__) +#error target does not support multi-byte NOPs +#else asm ("setssbsy"); +#endif + ; return 0; } @@ -15524,6 +15534,11 @@ rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext esac if test x$enable_cet = xyes; then CET_FLAGS="-fcf-protection -mcet" + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } fi XCFLAGS="$XCFLAGS $CET_FLAGS"