On Linux/ia32, revision 187054 gave make[6]: Leaving directory `/export/gnu/import/git/gcc-test-ia32corei7/bld' Comparing stages 2 and 3 warning: gcc/cc1obj-checksum.o differs warning: gcc/cc1plus-checksum.o differs warning: gcc/cc1-checksum.o differs Bootstrap comparison failure! gcc/tree-ssa-math-opts.o differs gcc/tree-cfg.o differs gcc/tree-emutls.o differs gcc/tree-if-conv.o differs gcc/tree-cfgcleanup.o differs gcc/tree-ssa-live.o differs gcc/tree-object-size.o differs gcc/trans-mem.o differs gcc/tree-sra.o differs gcc/tree-inline.o differs make[5]: *** [compare] Error 1 when configured with --with-arch=corei7 --with-cpu=corei7 --prefix=/usr/local --enable-clocale=gnu --with-system-zlib --enable-shared --with-demangler-in-ld i686-linux --with-fpmath=sse --enable-languages=c,c++,fortran,java,lto,objc Revision 187051 is OK.
Also fails on x86_64-pc-linux-gnu, without any configure flags.
r187051 is OK. r187054 fails. It is Michael's mega patch: http://gcc.gnu.org/viewcvs?view=revision&revision=187053
Hmpf, x86_64-linux works for me just fine. Hopefully I can reproduce the 32bit bootstrap fail :-/
Definitely affects x86_64-unknown-linux-gnu too, my bootstrap failed with this config: /home/jwakely/src/gcc/configure --prefix=/home/jwakely/gcc/4.x --with-system-zlib --with-gnu-ld --with-gnu-as --disable-libitm --disable-libquadmath --disable-libmudflap --enable-libstdcxx-debug --enable-libstdcxx-time=rt --enable-languages=c,c++ It builds OK with --disable-bootstrap though
Without help this will be impossible to debug for me. I can't reproduce with either x86_64-linux (no configure options), nor under linux32 personality (without options and with HJs options); I tried on two machines (in Intel, one AMD). Uros and Jonathan: does it fail in the same way as for HJ? I.e. same miscomparing files?
(In reply to comment #5) > Without help this will be impossible to debug for me. I can't reproduce with > either x86_64-linux (no configure options), nor under linux32 personality > (without options and with HJs options); I tried on two machines (in Intel, one > AMD). Are you using binutils 2.22 or newer?
(In reply to comment #5) > Without help this will be impossible to debug for me. I can't reproduce with > either x86_64-linux (no configure options), nor under linux32 personality > (without options and with HJs options); I tried on two machines (in Intel, one > AMD). > > Uros and Jonathan: does it fail in the same way as for HJ? I.e. same > miscomparing files? Yes, they are the same: Comparing stages 2 and 3 warning: gcc/cc1-checksum.o differs warning: gcc/cc1plus-checksum.o differs Bootstrap comparison failure! gcc/tree-cfgcleanup.o differs gcc/tree-sra.o differs gcc/tree-emutls.o differs gcc/tree-if-conv.o differs gcc/trans-mem.o differs gcc/tree-ssa-math-opts.o differs gcc/tree-object-size.o differs gcc/tree-ssa-live.o differs gcc/tree-cfg.o differs gcc/tree-inline.o differs gmake[2]: *** [compare] Error 1 FYI, my binutils are: GNU ld version 2.21.53.0.1-6.fc16 20110716
(In reply to comment #6) > > Are you using binutils 2.22 or newer? No: binutils-2.21.1-60.1.x86_64 .
(In reply to comment #8) > (In reply to comment #6) > > > > Are you using binutils 2.22 or newer? > > No: binutils-2.21.1-60.1.x86_64 . Please try binutils 2.22.
Same files: Comparing stages 2 and 3 warning: gcc/cc1plus-checksum.o differs warning: gcc/cc1-checksum.o differs Bootstrap comparison failure! gcc/tree-ssa-math-opts.o differs gcc/tree-cfgcleanup.o differs gcc/tree-ssa-live.o differs gcc/trans-mem.o differs gcc/tree-inline.o differs gcc/tree-object-size.o differs gcc/tree-emutls.o differs gcc/tree-if-conv.o differs gcc/tree-cfg.o differs gcc/tree-sra.o differs make[2]: *** [compare] Error 1 make[2]: Leaving directory `/home/jwakely/build' make[1]: *** [stage3-bubble] Error 2 make[1]: Leaving directory `/home/jwakely/build' make: *** [all] Error 2 That's on gcc20 in the compile farm, using GNU assembler (GNU Binutils for Debian) 2.20.1-system.20100303
(In reply to comment #9) > > > Are you using binutils 2.22 or newer? > > > > No: binutils-2.21.1-60.1.x86_64 . > > Please try binutils 2.22. Even though Jonathan uses 2.20 and also has broken bootstrap? In any case also with Jonathans options I don't reproduce a segfault. I'll try binutils 2.22 now.
(In reply to comment #11) > > I'll try binutils 2.22 now. Doesn't help, still no miscompare :-/
Created attachment 27294 [details] auto-host.h on Fedora/15/x86-64 Here is auto-host.h on Fedora/15/x86-64. How does it compare against yours?
Thanks to Jonathan I have a hunch now. He has BUILD_CONFIG=bootstrap-debug whereas I have BUILD_CONFIG empty for all my machines. This means that for him stage2 is built with -g -gtoggle (effectively switching off -g again), and stage3 with -g, and the compares then do the comparison ignoring the debug info. For me stage2 and stage3 are built with -g. The -g switch seems to influence code generation with my patch (I tested that compiling the stage3 file on the broken tree with -gtoggle produces the same as the stage2 file), which of course is a bug. But I haven't seen it because all my files are built with -g. Now, as to why for me BUILD_CONFIG isn't bootstrap-debug: configure.ac activates this by default, but then checks if contrib/compare-debug actually works for comparing a debug and non-debug .o file. And for SuSE systems it doesn't, because our system compilers encode some command line options (among them -g) into a special .comment section. In any case, this code difference for -g vs. non-g has to be fixed, which I'm in the process of doing.
Author: matz Date: Thu May 3 02:32:08 2012 New Revision: 187074 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187074 Log: PR bootstrap/53197 * tree-ssa-dse.c (dse_optimize_stmt): Take pointer to iterator. (dse_enter_block): Properly iterate the whole sequence even if the last statement was removed. Modified: trunk/gcc/ChangeLog trunk/gcc/tree-ssa-dse.c
Should be fixed.