Bug#916591: gcc-8: Please add patch to disable broken selective scheduling on ia64
Source: gcc-8
Version: 8.2.0-12
Severity: normal
Tags: patch
User: debian-ia64@lists.debian.org
Usertags: ia64
Hello!
The optimization feature "selective scheduling" on ia64 is broken and
causes multiple packages failing to build from source when built with
-O3 [1].
Since gcc upstream is pondering to remove selective scheduling anyway
and it currently causes only trouble for us on ia64, I suggest to
disable it for ia64 which is what the attached patch and debdiff do.
Please use either the debdiff or the patch. I have tested the patch.
Thanks,
Adrian
> [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85412
--
.''`. John Paul Adrian Glaubitz
: :' : Debian Developer - glaubitz@debian.org
`. `' Freie Universitaet Berlin - glaubitz@physik.fu-berlin.de
`- GPG: 62FF 8A75 84E0 2956 9546 0006 7426 3B37 F5B5 F913
diff -Nru old/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff new/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff
--- old/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff 1970-01-01 01:00:00.000000000 +0100
+++ new/gcc-8-8.2.0/debian/patches/ia64-disable-selective-scheduling.diff 2018-12-16 12:18:41.641049632 +0100
@@ -0,0 +1,16 @@
+--- a/src/gcc/config/ia64/ia64.c 2018-01-03 11:03:58.000000000 +0100
++++ b/src/gcc/config/ia64/ia64.c 2018-12-16 12:19:05.420184086 +0100
+@@ -6122,13 +6122,6 @@
+ static void
+ ia64_override_options_after_change (void)
+ {
+- if (optimize >= 3
+- && !global_options_set.x_flag_selective_scheduling
+- && !global_options_set.x_flag_selective_scheduling2)
+- {
+- flag_selective_scheduling2 = 1;
+- flag_sel_sched_pipelining = 1;
+- }
+ if (mflag_sched_control_spec == 2)
+ {
+ /* Control speculation is on by default for the selective scheduler,
diff -Nru old/gcc-8-8.2.0/debian/rules.patch new/gcc-8-8.2.0/debian/rules.patch
--- old/gcc-8-8.2.0/debian/rules.patch 2018-12-16 12:19:39.000000000 +0100
+++ new/gcc-8-8.2.0/debian/rules.patch 2018-12-16 12:20:40.509053873 +0100
@@ -76,6 +76,7 @@
kfreebsd-decimal-float \
powerpcspe_remove_many \
pr87531-revert \
+ ia64-disable-selective-scheduling \
# FIXME: see #915194
# gcc-search-prefixed-as-ld \
--- a/src/gcc/config/ia64/ia64.c 2018-01-03 11:03:58.000000000 +0100
+++ b/src/gcc/config/ia64/ia64.c 2018-12-16 12:19:05.420184086 +0100
@@ -6122,13 +6122,6 @@
static void
ia64_override_options_after_change (void)
{
- if (optimize >= 3
- && !global_options_set.x_flag_selective_scheduling
- && !global_options_set.x_flag_selective_scheduling2)
- {
- flag_selective_scheduling2 = 1;
- flag_sel_sched_pipelining = 1;
- }
if (mflag_sched_control_spec == 2)
{
/* Control speculation is on by default for the selective scheduler,
Reply to: