https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88714
--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> --- In armv7hl --enable-checking=release profiledbootstrap I see: checking for strtoull... ../../libdecnumber/decNumber.c: In function 'decLnOp': ../../libdecnumber/decNumber.c:5581:13: error: number of counters in profile data for function 'decLnOp' does not match its profile data (counter 'arcs', expected 54 and have 55) [-Werror=coverage-mismatch] 5581 | decNumber * decLnOp(decNumber *res, const decNumber *rhs, | ^~~~~~~ ../../libdecnumber/decNumber.c:5581:13: error: the control flow of function 'decLnOp' does not match its profile data (counter 'time_profiler') [-Werror=coverage-mismatch] ../../libdecnumber/decNumber.c: In function 'decExpOp': ../../libdecnumber/decNumber.c:5221:13: error: number of counters in profile data for function 'decExpOp' does not match its profile data (counter 'arcs', expected 52 and have 53) [-Werror=coverage-mismatch] 5221 | decNumber * decExpOp(decNumber *res, const decNumber *rhs, | ^~~~~~~~ ../../libdecnumber/decNumber.c:5221:13: error: the control flow of function 'decExpOp' does not match its profile data (counter 'time_profiler') [-Werror=coverage-mismatch] ../../libdecnumber/decNumber.c: In function 'decMultiplyOp': ../../libdecnumber/decNumber.c:4831:20: error: number of counters in profile data for function 'decMultiplyOp' does not match its profile data (counter 'arcs', expected 43 and have 46) [-Werror=coverage-mismatch] 4831 | static decNumber * decMultiplyOp(decNumber *res, const decNumber *lhs, | ^~~~~~~~~~~~~ ../../libdecnumber/decNumber.c:4831:20: error: the control flow of function 'decMultiplyOp' does not match its profile data (counter 'time_profiler') [-Werror=coverage-mismatch] ../../libdecnumber/decNumber.c: In function 'decDivideOp': ../../libdecnumber/decNumber.c:4211:20: error: number of counters in profile data for function 'decDivideOp' does not match its profile data (counter 'arcs', expected 111 and have 113) [-Werror=coverage-mismatch] 4211 | static decNumber * decDivideOp(decNumber *res, | ^~~~~~~~~~~ ../../libdecnumber/decNumber.c:4211:20: error: the control flow of function 'decDivideOp' does not match its profile data (counter 'single') [-Werror=coverage-mismatch] ../../libdecnumber/decNumber.c:4211:20: error: the control flow of function 'decDivideOp' does not match its profile data (counter 'time_profiler') [-Werror=coverage-mismatch] ../../libdecnumber/decNumber.c: In function 'decNumberSquareRoot': ../../libdecnumber/decNumber.c:2797:13: error: number of counters in profile data for function 'decNumberSquareRoot' does not match its profile data (counter 'arcs', expected 64 and have 65) [-Werror=coverage-mismatch] 2797 | decNumber * decNumberSquareRoot(decNumber *res, const decNumber *rhs, | ^~~~~~~~~~~~~~~~~~~ ../../libdecnumber/decNumber.c:2797:13: error: the control flow of function 'decNumberSquareRoot' does not match its profile data (counter 'time_profiler') [-Werror=coverage-mismatch] which might be related, if one stage generates starting with PRE slightly different code from the other stage, then the profile mismatches would make a lot of sense.