Source: gcc-8 Version: 8.2.0-12 Severity: normal Tags: patch User: debian-i...@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 - glaub...@debian.org `. `' Freie Universitaet Berlin - glaub...@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,