Control: found -1 6.2.1-6
Control: severity -1 serious
Control: tags -1 patch

Hi,

On Sun, 29 Mar 2015 17:17:03 +0200 Matthias Klose <d...@debian.org> wrote:
> Package: src:gcc-5
> Version: 5-20150327-1
> Severity: important
> Tags: sid stretch
> Forwarded: https://gcc.gnu.org/PR65618
> 
> seen building trunk 20150328. I'm not entirely sure if this is a regression.
> Apparently all distro builds for mips and mipsel set STAGE3_CFLAGS += -gtoggle
> (same as in stage2) in the past, and maybe were papering over the problem.
> 
> If this workaround is really needed, we should limit the comparision failure 
> to
> exactly the one failing file.
> 
> Comparing stages 2 and 3
> warning: gcc/cc1-checksum.o differs
> warning: gcc/cc1objplus-checksum.o differs
> warning: gcc/cc1obj-checksum.o differs
> warning: gcc/cc1plus-checksum.o differs
> Bootstrap comparison failure!
> gcc/ada/a-except.o differs
> Makefile:22697: recipe for target 'compare' failed
> make[4]: *** [compare] Error 1

Given that you reverted the workaround for this, I assume that you
consider this bug RC for stretch? I note that this isn't a recent issue
- the workaround was shipped in both wheezy and jessie.

I attach the patch I posted to the upstream bug report. I am going to
submit it properly once I do a few extra tests (I'm fairly confident
about it, but it won't be done until next week). I'm also planning on
upstreaming ada-mips.diff with a few tweaks simplify it a bit.

Thanks,
James
--- a/gcc/emit-rtl.c	
+++ a/gcc/emit-rtl.c	
@@ -3742,6 +3742,11 @@ try_split (rtx pat, rtx_insn *trial, int last)
 		   next = NEXT_INSN (next))
 		if (NOTE_KIND (next) == NOTE_INSN_CALL_ARG_LOCATION)
 		  {
+		    /* Advance after to the next instruction if it is about to
+		       be removed */
+		    if (after == next)
+		      after = NEXT_INSN(after);
+
 		    remove_insn (next);
 		    add_insn_after (next, insn, NULL);
 		    break;

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to