diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2021-03-19 08:01:22 +0000 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2021-03-19 08:01:22 +0000 |
commit | 5600e4343f36e2a4925b09388d3ffe7400143b9f (patch) | |
tree | 115cd88427aaba10b8a8d6a99dab715ecfb189ed /10.2.0 | |
parent | 10.2.0: fix vtv build on slibtool (diff) | |
download | gcc-patches-5600e4343f36e2a4925b09388d3ffe7400143b9f.tar.gz gcc-patches-5600e4343f36e2a4925b09388d3ffe7400143b9f.tar.bz2 gcc-patches-5600e4343f36e2a4925b09388d3ffe7400143b9f.zip |
10.2.0: port binutils fix for CET detection on i486
Reported-by: Worx
Bug: https://bugs.gentoo.org/777117
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to '10.2.0')
-rw-r--r-- | 10.2.0/gentoo/44_all_cet-i486.patch | 109 | ||||
-rw-r--r-- | 10.2.0/gentoo/README.history | 1 |
2 files changed, 110 insertions, 0 deletions
diff --git a/10.2.0/gentoo/44_all_cet-i486.patch b/10.2.0/gentoo/44_all_cet-i486.patch new file mode 100644 index 0000000..956e439 --- /dev/null +++ b/10.2.0/gentoo/44_all_cet-i486.patch @@ -0,0 +1,109 @@ +https://bugs.gentoo.org/777117 + +From 267a609477624ade477994b24809a72eeb522ff1 Mon Sep 17 00:00:00 2001 +From: "H.J. Lu via Gcc-patches" <gcc-patches@gcc.gnu.org> +Date: Sun, 14 Feb 2021 09:26:40 -0800 +Subject: [PATCH 2/2] GCC_CET_HOST_FLAGS: Check if host supports multi-byte + NOPs + +Check if host supports multi-byte NOPs before enabling CET on host. + +config/ + + PR binutils/27397 + * cet.m4 (GCC_CET_HOST_FLAGS): Check if host supports multi-byte + NOPs. + +libiberty/ + + PR binutils/27397 + * configure: Regenerated. + +--- + config/cet.m4 | 19 ++++++++++++++++--- + libiberty/configure | 29 +++++++++++++++++++++++++++++ + 2 files changed, 45 insertions(+), 3 deletions(-) + +--- a/config/cet.m4 ++++ b/config/cet.m4 +@@ -130,6 +130,18 @@ fi + if test x$may_have_cet = xyes; then + if test x$cross_compiling = xno; then + AC_TRY_RUN([ ++int ++main () ++{ ++ asm ("endbr32"); ++ return 0; ++} ++ ], ++ [have_multi_byte_nop=yes], ++ [have_multi_byte_nop=no]) ++ have_cet=no ++ if test x$have_multi_byte_nop = xyes; then ++ AC_TRY_RUN([ + static void + foo (void) + { +@@ -155,9 +167,10 @@ main () + bar (); + return 0; + } +- ], +- [have_cet=no], +- [have_cet=yes]) ++ ], ++ [have_cet=no], ++ [have_cet=yes]) ++ fi + 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 +--- a/libiberty/configure ++++ b/libiberty/configure +@@ -5396,6 +5396,34 @@ else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext + /* end confdefs.h. */ + ++int ++main () ++{ ++ asm ("endbr32"); ++ return 0; ++} ++ ++_ACEOF ++if ac_fn_c_try_run "$LINENO"; then : ++ have_multi_byte_nop=yes ++else ++ have_multi_byte_nop=no ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++ have_cet=no ++ if test x$have_multi_byte_nop = xyes; 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 ++See \`config.log' for more details" "$LINENO" 5; } ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++ + static void + foo (void) + { +@@ -5432,6 +5460,7 @@ rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ + conftest.$ac_objext conftest.beam conftest.$ac_ext + fi + ++ 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 + fi +-- +2.31.0 + diff --git a/10.2.0/gentoo/README.history b/10.2.0/gentoo/README.history index f195ae9..f47a108 100644 --- a/10.2.0/gentoo/README.history +++ b/10.2.0/gentoo/README.history @@ -1,6 +1,7 @@ 7 TODO + 42_all_vmat-PR97236.patch + 43_all_vtv-slibtool.patch + + 44_all_cet-i486.patch 6 29 Dec 2020 - 34_all_fundecl-ICE-PR95820.patch |