From: Teresa Johnson Date: Fri, 7 Sep 2012 13:49:47 +0000 (+0000) Subject: This fixes part of the issue described in PR gcov-profile/54487 where there... X-Git-Tag: misc/gccgo-go1_1_2~990 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c6c36e7310e6b67f2c37f0dabc6852c2b50c7a3c;p=thirdparty%2Fgcc.git This fixes part of the issue described in PR gcov-profile/54487 where there... This fixes part of the issue described in PR gcov-profile/54487 where there were warnings about mismatches due to slight differences in the merged histograms in different object files. This can happen due to the truncating integer division in the merge routine, which could result in slightly different histograms when summaries are merged in different orders. 2012-09-07 Teresa Johnson PR gcov-profile/54487 * libgcc/libgcov.c (gcov_exit): Avoid warning on histogram differences. From-SVN: r191074 --- diff --git a/libgcc/ChangeLog b/libgcc/ChangeLog index 7ffb58c3d245..cc030f2640ac 100644 --- a/libgcc/ChangeLog +++ b/libgcc/ChangeLog @@ -1,3 +1,9 @@ +2012-09-07 Teresa Johnson + + PR gcov-profile/54487 + * libgcc/libgcov.c (gcov_exit): Avoid warning on histogram + differences. + 2012-09-05 Georg-Johann Lay PR target/54461 diff --git a/libgcc/libgcov.c b/libgcc/libgcov.c index fce8587affe3..c58427e753bb 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