Dear All,
I get the following error building llvm-gcc using gmake (i.e., not building the bootstrap target). Any ideas on what I am doing wrong?
-- John T.
Comparing stages 2 and 3
warning: ./cc1plus-checksum.o differs
warning: ./cc1-checksum.o differs
Bootstrap comparison failure!
./rtl.o differs
./cse.o differs
./struct-equiv.o differs
./alias.o differs
[etc, etc, etc.]
...
gmake[2]: *** [compare] Error 1
gmake[2]: Leaving directory `/mounts/maute/disks/0/criswell/gccobj42'
gmake[1]: *** [stage3-bubble] Error 2
gmake[1]: Leaving directory `/mounts/maute/disks/0/criswell/gccobj42'
gmake: *** [all] Error 2
One common problem is if you are doing incremental builds, you may want to try building restrap first and see if that clears the problem. If not...
If anything, you're trying to build a broken compiler...
You can ignore it by disabling the bootstrap (--disable-bootstrap), or by fixing the compiler to be other than broken, or by acquiring a non-broken compiler.
If you want to try fixing it or hunting it down yourself, you can compile rtl.o with the stage 2 and the stage 3 compilers with -save-temps and then compare the rtl.s files from each. The difference between them is the problem, generally indicates a codegen bug in the compiler, though, sometimes just indicates some random non-determinism someone put into the compiler.
Mike Stump wrote:
I get the following error building llvm-gcc using gmake (i.e., not
building the bootstrap target). Any ideas on what I am doing wrong?
One common problem is if you are doing incremental builds, you may
want to try building restrap first and see if that clears the
problem. If not...
I did a clean checkout from SVN this morning.
If anything, you're trying to build a broken compiler...
You can ignore it by disabling the bootstrap (--disable-bootstrap), or
by fixing the compiler to be other than broken, or by acquiring a non-
broken compiler.
Thanks for the tip. I hacked the Makefiles to skip the comparisons, but this would be much better.
If you want to try fixing it or hunting it down yourself, you can
compile rtl.o with the stage 2 and the stage 3 compilers with -save-
temps and then compare the rtl.s files from each. The difference
between them is the problem, generally indicates a codegen bug in the
compiler, though, sometimes just indicates some random non-determinism
someone put into the compiler.
I don't have time to trace it down at the moment. I think, for now, I'll just hope the bug doesn't affect me and go with what I've got.
Thanks.
-- John T.