diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-07-15 06:16:01 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-07-30 05:36:24 -0700 |
commit | 4712bde3cabed644884a52386404765fca3b0ac2 (patch) | |
tree | 6a119dbfd7885c36e123657a74433210701654f5 | |
parent | 9e67b4356efe4291fdb170fb116092f4ed9d2f05 (diff) | |
download | gcc-4712bde3cabed644884a52386404765fca3b0ac2.zip gcc-4712bde3cabed644884a52386404765fca3b0ac2.tar.gz gcc-4712bde3cabed644884a52386404765fca3b0ac2.tar.bz2 |
Require CET support only for the final GCC build
With --enable-cet, require CET support only for the final GCC build.
Don't enable CET without CET support for non-bootstrap build, in stage1
nor for build support.
config/
PR bootstrap/96202
* cet.m4 (GCC_CET_HOST_FLAGS): Don't enable CET without CET
support in stage1 nor for build support.
gcc/
PR bootstrap/96202
* configure: Regenerated.
libbacktrace/
PR bootstrap/96202
* configure: Regenerated.
libcc1/
PR bootstrap/96202
* configure: Regenerated.
libcpp/
PR bootstrap/96202
* configure: Regenerated.
libdecnumber/
PR bootstrap/96202
* configure: Regenerated.
libiberty/
PR bootstrap/96202
* configure: Regenerated.
lto-plugin/
PR bootstrap/96202
* configure: Regenerated.
-rw-r--r-- | config/cet.m4 | 23 | ||||
-rwxr-xr-x | gcc/configure | 31 | ||||
-rwxr-xr-x | libbacktrace/configure | 23 | ||||
-rwxr-xr-x | libcc1/configure | 21 | ||||
-rwxr-xr-x | libcpp/configure | 21 | ||||
-rwxr-xr-x | libdecnumber/configure | 21 | ||||
-rwxr-xr-x | libiberty/configure | 21 | ||||
-rwxr-xr-x | lto-plugin/configure | 25 |
8 files changed, 146 insertions, 40 deletions
diff --git a/config/cet.m4 b/config/cet.m4 index 911fbd464..c67fb4f 100644 --- a/config/cet.m4 +++ b/config/cet.m4 @@ -13,7 +13,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET insn. cet_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fcf-protection" AC_COMPILE_IFELSE( @@ -70,7 +70,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [], @@ -85,13 +85,26 @@ asm ("setssbsy"); [enable_cet=no]) ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. AC_COMPILE_IFELSE( [AC_LANG_PROGRAM( [], [asm ("setssbsy");])], - [], - [AC_MSG_ERROR([assembler with CET support is required for --enable-cet])]) + [support_cet=yes], + [support_cet=no]) + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + AC_MSG_ERROR([compiler and assembler with CET support are required for --enable-cet]) + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/gcc/configure b/gcc/configure index 5c31c13..21ce66d 100755 --- a/gcc/configure +++ b/gcc/configure @@ -785,10 +785,10 @@ manext LIBICONV_DEP LTLIBICONV LIBICONV -ZSTD_LIB -ZSTD_INCLUDE ZSTD_LDFLAGS ZSTD_CPPFLAGS +ZSTD_LIB +ZSTD_INCLUDE DL_LIB LDEXP_LIB EXTRA_GCC_LIBS @@ -9978,6 +9978,8 @@ ZSTD_LIB= ZSTD_CPPFLAGS= ZSTD_LDFLAGS= + + # Check whether --with-zstd was given. if test "${with_zstd+set}" = set; then : withval=$with_zstd; @@ -19021,7 +19023,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 19022 "configure" +#line 19026 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -19127,7 +19129,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 19128 "configure" +#line 19132 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -30786,7 +30788,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -30812,7 +30814,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -30825,11 +30827,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/libbacktrace/configure b/libbacktrace/configure index 37c38e7..d4b3523 100755 --- a/libbacktrace/configure +++ b/libbacktrace/configure @@ -12169,7 +12169,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET insn. cet_save_CFLAGS="$CFLAGS" CFLAGS="$CFLAGS -fcf-protection" cat confdefs.h - <<_ACEOF >conftest.$ac_ext @@ -12409,7 +12409,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12435,7 +12435,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -12448,11 +12448,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/libcc1/configure b/libcc1/configure index 37dbeac..3610219 100755 --- a/libcc1/configure +++ b/libcc1/configure @@ -14565,7 +14565,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14591,7 +14591,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -14604,11 +14604,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/libcpp/configure b/libcpp/configure index 3329e20..7e28606 100755 --- a/libcpp/configure +++ b/libcpp/configure @@ -7564,7 +7564,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7590,7 +7590,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -7603,11 +7603,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/libdecnumber/configure b/libdecnumber/configure index df6fdcf..6b62f8b 100755 --- a/libdecnumber/configure +++ b/libdecnumber/configure @@ -5217,7 +5217,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5243,7 +5243,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5256,11 +5256,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/libiberty/configure b/libiberty/configure index 1f8e23f..ff93c9e 100755 --- a/libiberty/configure +++ b/libiberty/configure @@ -5291,7 +5291,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5317,7 +5317,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5330,11 +5330,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" diff --git a/lto-plugin/configure b/lto-plugin/configure index 69f6fce..c1dd0cd 100755 --- a/lto-plugin/configure +++ b/lto-plugin/configure @@ -5687,7 +5687,7 @@ case "$host" in case "$enable_cet" in auto) # Check if target supports multi-byte NOPs - # and if assembler supports CET insn. + # and if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5713,7 +5713,7 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ;; yes) - # Check if assembler supports CET. + # Check if compiler and assembler support CET. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -5726,11 +5726,24 @@ asm ("setssbsy"); } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : - + support_cet=yes else - as_fn_error $? "assembler with CET support is required for --enable-cet" "$LINENO" 5 + support_cet=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext + if test $support_cet = "no"; then + if test x$enable_bootstrap != xno \ + && test -z "${with_build_subdir}" \ + && (test ! -f ../stage_current \ + || test `cat ../stage_current` != "stage1"); then + # Require CET support only for the final GCC build. + as_fn_error $? "compiler and assembler with CET support are required for --enable-cet" "$LINENO" 5 + else + # Don't enable CET without CET support for non-bootstrap + # build, in stage1 nor for build support. + enable_cet=no + fi + fi ;; esac CFLAGS="$cet_save_CFLAGS" @@ -11947,7 +11960,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11950 "configure" +#line 11963 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -12053,7 +12066,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 12056 "configure" +#line 12069 "configure" #include "confdefs.h" #if HAVE_DLFCN_H |