commit:     bccdc4064f11c9f7662445a88b5e64e9dc1d9ed0
Author:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
AuthorDate: Fri Jul  3 22:13:11 2020 +0000
Commit:     Sergei Trofimovich <slyfox <AT> gentoo <DOT> org>
CommitDate: Fri Jul  3 22:13:11 2020 +0000
URL:        https://gitweb.gentoo.org/proj/gcc-patches.git/commit/?id=bccdc406

11.0.0: Disable -fdelayed-branch by default.

>From https://gcc.gnu.org/PR96015 / https://bugs.gentoo.org/729570.
delayed branches are known to generate invalid code around
__builtin_unreachable(); and mis-compiles python.

Use blunt hammer and disable delayed slots until we have better fix.

Reported-by: Jeroen Roovers
Bug: From https://gcc.gnu.org/PR96015
Bug: https://bugs.gentoo.org/729570.
Signed-off-by: Sergei Trofimovich <slyfox <AT> gentoo.org>

 11.0.0/gentoo/30_all_fno-delayed-branch.patch | 40 +++++++++++++++++++++++++++
 11.0.0/gentoo/README.history                  |  1 +
 2 files changed, 41 insertions(+)

diff --git a/11.0.0/gentoo/30_all_fno-delayed-branch.patch 
b/11.0.0/gentoo/30_all_fno-delayed-branch.patch
new file mode 100644
index 0000000..bc19974
--- /dev/null
+++ b/11.0.0/gentoo/30_all_fno-delayed-branch.patch
@@ -0,0 +1,40 @@
+From 6d0d3ae914bf19706550a539ef304c5875535ffc Mon Sep 17 00:00:00 2001
+From: Sergei Trofimovich <siarh...@google.com>
+Date: Fri, 3 Jul 2020 22:50:33 +0100
+Subject: [PATCH] Disable -fdelayed-branch by default.
+
+From https://gcc.gnu.org/PR96015 / https://bugs.gentoo.org/729570.
+delayed branches are known to generate invalid code around
+__builtin_unreachable(); and mis-compiles python.
+
+Use blunt hammer and disable delayed slots until we have better fix.
+
+Reported-by: Jeroen Roovers
+Bug: From https://gcc.gnu.org/PR96015
+Bug: https://bugs.gentoo.org/729570.
+Signed-off-by: Sergei Trofimovich <siarh...@google.com>
+---
+ gcc/opts.c | 9 ++++++++-
+ 1 file changed, 8 insertions(+), 1 deletion(-)
+
+--- a/gcc/opts.c
++++ b/gcc/opts.c
+@@ -458,7 +458,14 @@ static const struct default_options 
default_options_table[] =
+     /* -O1 (and not -Og) optimizations.  */
+     { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fbranch_count_reg, NULL, 1 },
+ #if DELAY_SLOTS
+-    { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fdelayed_branch, NULL, 1 },
++    /*
++     * From https://gcc.gnu.org/PR96015 / https://bugs.gentoo.org/729570.
++     * delayed branches are known to generate invalid code around
++     * __builtin_unreachable(); and mis-compiles python.
++     *
++     * Use blunt hammer and disable delayed slots until we have better fix.
++     */
++    /* { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fdelayed_branch, NULL, 1 }, */
+ #endif
+     { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fdse, NULL, 1 },
+     { OPT_LEVELS_1_PLUS_NOT_DEBUG, OPT_fif_conversion, NULL, 1 },
+-- 
+2.27.0
+

diff --git a/11.0.0/gentoo/README.history b/11.0.0/gentoo/README.history
index 4add930..ff48ea3 100644
--- a/11.0.0/gentoo/README.history
+++ b/11.0.0/gentoo/README.history
@@ -1,5 +1,6 @@
 2              TODO
        + 29_all_plugin-objdump.patch
+       + 30_all_fno-delayed-branch.patch
 
 1              29 May 2020
        + 01_all_default-fortify-source.patch

Reply via email to