diff options
-rw-r--r-- | libgcc/ChangeLog | 6 | ||||
-rw-r--r-- | libgcc/libgcov.c | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 7ffb58c..cc030f2 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2012-09-07 Teresa Johnson <tejohnson@google.com> + + PR gcov-profile/54487 + * libgcc/libgcov.c (gcov_exit): Avoid warning on histogram + differences. + 2012-09-05 Georg-Johann Lay <avr@gjlay.de> PR target/54461 diff --git a/libgcc/libgcov.c b/libgcc/libgcov.c index fce8587..c58427e 100644 --- a/libgcc/libgcov.c +++ b/libgcc/libgcov.c @@ -707,7 +707,13 @@ gcov_exit (void) memcpy (cs_all, cs_prg, sizeof (*cs_all)); else if (!all_prg.checksum && (!GCOV_LOCKED || cs_all->runs == cs_prg->runs) - && memcmp (cs_all, cs_prg, sizeof (*cs_all))) + /* Don't compare the histograms, which may have slight + variations depending on the order they were updated + due to the truncating integer divides used in the + merge. */ + && memcmp (cs_all, cs_prg, + sizeof (*cs_all) - (sizeof (gcov_bucket_type) + * GCOV_HISTOGRAM_SIZE))) { fprintf (stderr, "profiling:%s:Invocation mismatch - some data files may have been removed%s\n", gi_filename, GCOV_LOCKED |