http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51648
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-01-04 16:38:37 UTC --- That delta script had a typo (was using gcc.o instead of gccmy.o), thus the resulting preprocessed file is irrelevant. Here is an actually reduced testcase: rm -f pr51648-1.gcda pr51648-2.gcda ./cc1 -fpreprocessed -quiet -g -O2 -fexceptions -fprofile-generate \ pr51648-1.c -o pr51648-1.s ./xgcc -B ./ -o pr51648 -fprofile-generate pr51648-1.s pr51648-2.c ./pr51648 ./cc1 -fpreprocessed -quiet -g -O2 -fexceptions -fprofile-use \ pr51648-1.c -o pr51648-2.s gives: pr51648-1.c: In function ‘main’: pr51648-1.c:37:1: error: corrupted profile info: profile data is not flow-consistent pr51648-1.c:37:1: error: corrupted profile info: number of executions for edge 4-5 thought to be 1 pr51648-1.c:37:1: error: corrupted profile info: number of executions for edge 4-9 thought to be -1 I'll attach the two sources.