Control: tags -1 patch Hi, On 23/08/17 17:42, James Cowgill wrote: > This bug is very closely related to an earlier GCC bootstrap failure on > mips64el: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=78660 > In comment 17 Matthew sent a patch and applying it also fixes this bug. > However, he tells me it has some other issues and isn't suitable to be > applied (which is presumably why it was reverted). Matthew has now had a better look at the bug and has posted a patch to fix it which is a tweaked version of the patch above: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81803#c9 I've done some testing, and it seems to solve all the known package failures (at least the ones on my list) caused by this bug and I haven't noticed any failures with it. I also tested it on armhf and it causes no regressions there (this was one of the issues with the earlier patch). So I think the attached debdiff should be applied to gcc-7. Currently the patch is applied everywhere, but if you want you could limit it to mips64el. Thanks, James
diff -u gcc-7-7.2.0/debian/rules.patch gcc-7-7.2.0/debian/rules.patch
--- gcc-7-7.2.0/debian/rules.patch
+++ gcc-7-7.2.0/debian/rules.patch
@@ -72,6 +72,7 @@
gcc-fuse-ld-lld \
libgo-s390x-default-isa \
pr81829 \
+ gcc-mips64-stack-spilling \
# $(if $(filter yes, $(DEB_CROSS)),,gcc-print-file-name) \
only in patch2:
unchanged:
--- gcc-7-7.2.0.orig/debian/patches/gcc-mips64-stack-spilling.diff
+++ gcc-7-7.2.0/debian/patches/gcc-mips64-stack-spilling.diff
@@ -0,0 +1,16 @@
+--- a/src/gcc/lra-constraints.c
++++ b/src/gcc/lra-constraints.c
+@@ -4235,7 +4235,12 @@ curr_insn_transform (bool check_only_p)
+ && (goal_alt[i] == NO_REGS
+ || (simplify_subreg_regno
+ (ira_class_hard_regs[goal_alt[i]][0],
+- GET_MODE (reg), byte, mode) >= 0)))))
++ GET_MODE (reg), byte, mode) >= 0))))
++ || (type != OP_IN
++ && GET_MODE_PRECISION (mode)
++ < GET_MODE_PRECISION (GET_MODE (reg))
++ && GET_MODE_SIZE (GET_MODE (reg)) <= UNITS_PER_WORD
++ && WORD_REGISTER_OPERATIONS))
+ {
+ /* An OP_INOUT is required when reloading a subreg of a
+ mode wider than a word to ensure that data beyond the
Attachment:
signature.asc
Description: OpenPGP digital signature