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
signature.asc
Description: OpenPGP digital signature