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.
This commit is contained in:
parent
9e67b4356e
commit
4712bde3ca
8 changed files with 146 additions and 40 deletions
|
@ -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"
|
||||
|
|
31
gcc/configure
vendored
31
gcc/configure
vendored
|
@ -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"
|
||||
|
|
23
libbacktrace/configure
vendored
23
libbacktrace/configure
vendored
|
@ -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"
|
||||
|
|
21
libcc1/configure
vendored
21
libcc1/configure
vendored
|
@ -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"
|
||||
|
|
21
libcpp/configure
vendored
21
libcpp/configure
vendored
|
@ -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"
|
||||
|
|
21
libdecnumber/configure
vendored
21
libdecnumber/configure
vendored
|
@ -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"
|
||||
|
|
21
libiberty/configure
vendored
21
libiberty/configure
vendored
|
@ -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"
|
||||
|
|
25
lto-plugin/configure
vendored
25
lto-plugin/configure
vendored
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue