Ian,
>> Am I right in assuming that I have to do a clean checkout,
>> ./configure, make (i.e. 48 hours)?! Or is there a shortcut?
>
> The differences in the checksum files will be ignored, but the
> difference in the gcc.o file will not. But it is probably due to the
> rebuild and is irrelevant. You can skip the comparison and continue
> to builing libraries by running "touch compare".
Sunday night (i.e. before I got your mail) I started a fresh build in
a new directory and on Wednesday had differing binaries again:
Comparing stages 2 and 3
warning: gcc/cc1-checksum.o differs
warning: gcc/cc1plus-checksum.o differs
Bootstrap comparison failure!
gcc/ppc64/crt2.o differs
gcc/ppc64/crt3.o differs
powerpc-apple-darwin8.11.0/ppc64/libgcc/__gcc_bcmp.o differs
powerpc-apple-darwin8.11.0/ppc64/libgcc/__main.o differs
powerpc-apple-darwin8.11.0/ppc64/libgcc/__main_s.o differs
[..]
powerpc-apple-darwin8.11.0/ppc64/libstdc++-v3/src/valarray-inst.o differs
powerpc-apple-darwin8.11.0/ppc64/libstdc++-v3/src/wlocale-inst.o differs
powerpc-apple-darwin8.11.0/ppc64/libstdc++-v3/src/wstring-inst.o differs
make[2]: *** [compare] Error 1
make[1]: *** [stage3-bubble] Error 2
make: *** [all] Error 2
Wed Nov 25 23:51:27 CET 2009
michael-kuckuks-power-mac-g4:~/go/objdir2 ck$ history | tail -n 10
272 history | grep "locate"
273 sudo /usr/libexec/locate.updatedb &
274 ls
275 cd go
276 mkdir objdir2
277 cd objdir2
278 ../gccgo/configure --enable-languages=c,c++,go --prefix=/opt/gccgo
279 date
280 make;date
281 history | tail -n 10
I then tried, what you suggested, i.e. "touch compare;make" and ended
up with this:
gcc -c -g -O2 ../../../gccgo/libgo/runtime/cgo2c.c
gcc -g -O2 -o cgo2c cgo2c.o
./cgo2c --gcc < ../../../gccgo/libgo/runtime/malloc_go.cgo > malloc_go.c.tmp
mv -f malloc_go.c.tmp malloc_go.c
make "AR_FLAGS=rc" "CC_FOR_BUILD=gcc"
"CC_FOR_TARGET=/Users/ck/go/objdir2/./gcc/xgcc
-B/Users/ck/go/objdir2/./gcc/" "CFLAGS=-g -O2" "CXXFLAGS=-g -O2"
"CFLAGS_FOR_BUILD=-g -O2" "CFLAGS_FOR_TARGET=-g -O2"
"GCCGO_FOR_TARGET=/Users/ck/go/objdir2/./gcc/gccgo
-B/Users/ck/go/objdir2/./gcc/" "GCCGO=/Users/ck/go/objdir2/./gcc/gccgo
-B/Users/ck/go/objdir2/./gcc/" "GOFLAGS=-O2 -g"
"INSTALL=/usr/bin/install -c" "INSTALL_DATA=/usr/bin/install -c -m
644" "INSTALL_PROGRAM=/usr/bin/install -c"
"INSTALL_SCRIPT=/usr/bin/install -c" "LDFLAGS=" "LIBCFLAGS=-g -O2"
"LIBCFLAGS_FOR_TARGET=-g -O2" "MAKE=make" "MAKEINFO=makeinfo
--split-size=5000000 --split-size=5000000 " "PICFLAG="
"PICFLAG_FOR_TARGET=" "SHELL=/bin/sh" "RUNTESTFLAGS="
"exec_prefix=/opt/gccgo" "infodir=/opt/gccgo/share/info"
"libdir=/opt/gccgo/lib" "includedir=/opt/gccgo/include"
"prefix=/opt/gccgo" "tooldir=/opt/gccgo/powerpc-apple-darwin8.11.0"
"gxx_include_dir=" "AR=ar" "AS=/Users/ck/go/objdir2/./gcc/as"
"LD=/Users/ck/go/objdir2/./gcc/collect-ld" "RANLIB=ranlib -c"
"NM=/Users/ck/go/objdir2/./gcc/nm" "NM_FOR_BUILD=" "NM_FOR_TARGET=nm"
"DESTDIR=" "WERROR=-Werror" all-am
/Users/ck/go/objdir2/./gcc/xgcc -B/Users/ck/go/objdir2/./gcc/
-B/opt/gccgo/powerpc-apple-darwin8.11.0/bin/
-B/opt/gccgo/powerpc-apple-darwin8.11.0/lib/ -isystem
/opt/gccgo/powerpc-apple-darwin8.11.0/include -isystem
/opt/gccgo/powerpc-apple-darwin8.11.0/sys-include -DHAVE_CONFIG_H
-I. -I../../../gccgo/libgo -I ../../../gccgo/libgo/runtime
-I../../../gccgo/libgo/../libffi/include -I../libffi/include
-fplan9-extensions -fsplit-stack -Wall -Wextra -Wwrite-strings
-Wcast-qual -Werror -g -O2 -MT go-main.o -MD -MP -MF .deps/go-main.Tpo
-c -o go-main.o `test -f 'runtime/go-main.c' || echo
'../../../gccgo/libgo/'`runtime/go-main.c
cc1: error: '-fsplit-stack' is not supported by this compiler configuration
make[3]: *** [go-main.o] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-target-libgo] Error 2
make: *** [all] Error 2
Fri Nov 27 22:49:48 CET 2009
michael-kuckuks-power-mac-g4:~/go/objdir2 ck$ history | tail -n 5
330 cd objdir2
331 ls
332 touch compare
333 make;date
334 history | tail -n 5
michael-kuckuks-power-mac-g4:~/go/objdir2 ck$
Do you have any suggestions, or should I just give up on the G4?!
Regards,
Carsten