Hi, I just pulled from SVN and tried to build for IA64, and it fails with Comparing stages 2 and 3 warning: ./cc1-checksum.o differs Bootstrap comparison failure! ./varasm.o differs ./gcc.o differs --- /tmp/gcc-stage2.dump 2006-05-04 16:39:19.000000000 +1000 +++ /tmp/gcc-stage3.dump 2006-05-04 16:39:25.000000000 +1000 @@ -1,5 +1,5 @@ -./stage2-gcc/gcc.o: file format elf64-ia64-little +./stage3-gcc/gcc.o: file format elf64-ia64-little Disassembly of section .text: @@ -20178,19 +20178,19 @@ 1a1c6: 00 00 00 02 00 00 nop.m 0x0 1a1cc: 88 d3 fe 58 br.call.sptk.many b0=7540 <process_command>;; 1a1d0: 11 08 00 74 00 21 [MIB] mov r1=r58 - 1a1d6: d0 03 03 20 48 00 mov r61=2144 + 1a1d6: d0 03 00 16 48 00 mov r61=1408 1a1dc: 08 00 00 50 br.call.sptk.many b0=1a1d0 <main+0xd50>;; 1a1e0: 08 00 20 64 98 11 [MMI] st8 [r50]=r8 1a1e6: 00 00 00 02 00 20 nop.m 0x0 1a1ec: 00 d0 01 84 mov r1=r58 - 1a1f0: 03 f8 81 01 10 24 [MII] mov r63=2144 + 1a1f0: 03 f8 01 00 0b 24 [MII] mov r63=1408 1a1f6: d0 03 20 00 42 c0 mov r61=r8;; 1a1fc: 07 08 00 90 addl r62=0,r1;; 1a200: 11 f0 01 7c 18 10 [MIB] ld8 r62=[r62] 1a206: 00 00 00 02 00 00 nop.i 0x0 1a20c: 08 00 00 50 br.call.sptk.many b0=1a200 <main+0xd80>;; 1a210: 08 08 00 74 00 21 [MMI] mov r1=r58 - 1a216: f0 10 02 00 48 00 mov r15=66 + 1a216: f0 58 01 00 48 00 mov r15=43 1a21c: 00 00 04 00 nop.i 0x0 1a220: 0b 08 02 00 00 21 [MMI] mov r65=r0;; 1a226: e0 00 04 00 48 c0 addl r14=0,r1 and the diff for varasm.o is really quite big ianw@lime:/usr/src/gcc-svn-build$ diffstat /tmp/varasm.diff |42265 +++++++++++++++++++++++++++++++++++------------------------------------ 1 file changed, 21143 insertions(+), 21122 deletions(-) I'm building on with gcc version 4.0.3 (Debian 4.0.3-1). Thanks -i
As I see it, some part of ia64.c (or the stack displacement code) is being miscompiling giving the different answers in the stack misplacement.
My nightly build based on SVN version 113509 bootstrapped fine. What source/SVN version were you building? I built using a GCC 4.0.2.
(In reply to comment #0) > Hi, > > I just pulled from SVN and tried to build for IA64, and it fails with > > Comparing stages 2 and 3 > warning: ./cc1-checksum.o differs > Bootstrap comparison failure! > ./varasm.o differs > ./gcc.o differs > looks similiar to PR20586
The SVN version was ianw@lime:/usr/src/gcc-svn$ svn info Path: . URL: svn://gcc.gnu.org/svn/gcc/trunk Repository Root: svn://gcc.gnu.org/svn/gcc Repository UUID: 138bc75d-0d04-0410-961f-82ee72b054a4 Revision: 113504 Node Kind: directory Schedule: normal Last Changed Author: kargl Last Changed Rev: 113502 Last Changed Date: 2006-05-04 07:24:11 +1000 (Thu, 04 May 2006) Properties Last Updated: 2006-01-31 08:52:35 +1100 (Tue, 31 Jan 2006) Unlike PR20586 I didn't do anything tricky with flags, etc. My understanding was the system gcc built stage 1, which then built 2 which builds stage 3, so I would have thought the system gcc had less to do with a stage 2 -> 3 problem, though I could be wildly off base. I'm trying to re-build it now a few different ways, and I'll see what happens.
Ok, I rebuilt and it seems OK. Thinking about it, in the failed tree I did stop it after about two minutes, because I forgot to do only --enable-languages=c. So did make clean and reconfigured, which obviously got something messed up. So if you see this problem, try building in a completely fresh tree first.