http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45816
--- Comment #6 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2010-10-02 16:07:53 UTC --- > We'll need to find out why stage1 gcc and stage2 gcc produce different > output. > To do that, the easiest thing to do is to copy object files from stage1 to > stage2, rebuild cc1, and then compile cfghooks.o normally. Once you arrive at > a cfghooks.o which is identical to the one produced by stage1, you've found > the > object file that was miscompiled in stage2. Sorry, but I don't understand what you ask to do: (1) AFAICT stage1 gcc and stage2 gcc have to produce different output (different compilers, different options and so on, the gcc directories contain 345 binary files that are different between stage 1 and 2); (2) Even between stage2 and stage3 the raw files are different and have to be filtered with contrib/compare-debug before doing the comparisons. I think that before starting a very lengthy (and boring process) it would be better to do some "postmortem" analysis: (1) why does contrib/compare-debug chokes on the stage3 cfghooks.o? (2) then why the bad sequence is generated? (3) why this depends on the value of --enable-checking=? (4) what is changed by revision 164552 with this respect? (5) and so on.