Author: pierre Date: Fri May 8 22:18:12 2020 New Revision: 4106 Log: GCC-10.1 patch for cross-chap5 branch
Added: trunk/gcc/gcc-10.1.0-cet_fix-1.patch Added: trunk/gcc/gcc-10.1.0-cet_fix-1.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/gcc/gcc-10.1.0-cet_fix-1.patch Fri May 8 22:18:12 2020 (r4106) @@ -0,0 +1,130 @@ +Submitted By: Pierre Labastie <pierre dot labastie at neuf dot fr> +Date: 2020-05-09 +Package Version: 10.1.0 +Upstream Status: Submitted (PR bootstrap/94998) +Origin: https://gcc.gnu.org/pipermail/gcc-patches/2020-May/545392.html +Description: Fix build when build!=host (used only in cross-chap5) + +Don't perform CET run-time check for host when cross compiling. Instead, +enable CET in cross compiler if possible so that it will run on both CET +and non-CET hosts. + +diff --git a/config/cet.m4 b/config/cet.m4 +index ea616b728a9..d9608699cd5 100644 +--- a/config/cet.m4 ++++ b/config/cet.m4 +@@ -111,7 +111,8 @@ if test x$may_have_cet = xyes; then + fi + + if test x$may_have_cet = xyes; then +- AC_TRY_RUN([ ++ if test x$cross_compiling = xno; then ++ AC_TRY_RUN([ + static void + foo (void) + { +@@ -137,12 +138,17 @@ main () + bar (); + return 0; + } +- ], +- [have_cet=no], +- [have_cet=yes]) +- if test x$enable_cet = xno -a x$have_cet = xyes; then +- AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host]) ++ ], ++ [have_cet=no], ++ [have_cet=yes]) ++ if test x$enable_cet = xno -a x$have_cet = xyes; then ++ AC_MSG_ERROR([Intel CET must be enabled on Intel CET enabled host]) ++ fi + fi ++else ++ # Enable CET in cross compiler if possible so that it will run on both ++ # CET and non-CET hosts. ++ have_cet=yes + fi + if test x$enable_cet = xyes; then + $1="-fcf-protection" +diff --git a/libiberty/configure b/libiberty/configure +index bb76cf1b823..3f82c5bb865 100755 +--- a/libiberty/configure ++++ b/libiberty/configure +@@ -5375,7 +5375,8 @@ rm -f core conftest.err conftest.$ac_objext \ + fi + + if test x$may_have_cet = xyes; then +- if test "$cross_compiling" = yes; then : ++ if test x$cross_compiling = xno; then ++ if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling +@@ -5420,9 +5421,14 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + +- if test x$enable_cet = xno -a x$have_cet = xyes; then +- as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5 ++ if test x$enable_cet = xno -a x$have_cet = xyes; then ++ as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5 ++ fi + fi ++else ++ # Enable CET in cross compiler if possible so that it will run on both ++ # CET and non-CET hosts. ++ have_cet=yes + fi + if test x$enable_cet = xyes; then + CET_HOST_FLAGS="-fcf-protection" +diff --git a/lto-plugin/configure b/lto-plugin/configure +index 1baf6cc70b8..36c6ecc5875 100755 +--- a/lto-plugin/configure ++++ b/lto-plugin/configure +@@ -5768,7 +5768,8 @@ rm -f core conftest.err conftest.$ac_objext \ + fi + + if test x$may_have_cet = xyes; then +- if test "$cross_compiling" = yes; then : ++ if test x$cross_compiling = xno; then ++ if test "$cross_compiling" = yes; then : + { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 + $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} + as_fn_error $? "cannot run test program while cross compiling +@@ -5813,9 +5814,14 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + +- if test x$enable_cet = xno -a x$have_cet = xyes; then +- as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5 ++ if test x$enable_cet = xno -a x$have_cet = xyes; then ++ as_fn_error $? "Intel CET must be enabled on Intel CET enabled host" "$LINENO" 5 ++ fi + fi ++else ++ # Enable CET in cross compiler if possible so that it will run on both ++ # CET and non-CET hosts. ++ have_cet=yes + fi + if test x$enable_cet = xyes; then + CET_HOST_FLAGS="-fcf-protection" +@@ -11941,7 +11947,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 11944 "configure" ++#line 11950 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -12047,7 +12053,7 @@ else + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12050 "configure" ++#line 12056 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +-- +2.26.2 -- http://lists.linuxfromscratch.org/listinfo/patches FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
