This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix part of PR gcov-profile/54487 (issue6501100)
- From: Jan Hubicka <hubicka at ucw dot cz>
- To: Teresa Johnson <tejohnson at google dot com>
- Cc: reply at codereview dot appspotmail dot com, hubicka at ucw dot cz, markus at trippelsdorf dot de, hjl dot tools at gmail dot com, gcc-patches at gcc dot gnu dot org
- Date: Fri, 7 Sep 2012 12:55:27 +0200
- Subject: Re: [PATCH] Fix part of PR gcov-profile/54487 (issue6501100)
- References: <20120907055117.8F47D61464@tjsboxrox.mtv.corp.google.com>
> 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.
>
> Tested with bootstrap and profiledbootstrap on x86_64-unknown-linux-gnu.
> Ok for trunk?
OK,
thanks!
Honza
>
> Teresa
>
> 2012-09-06 Teresa Johnson <tejohnson@google.com>
>
> PR gcov-profile/54487
> * libgcc/libgcov.c (gcov_exit): Avoid warning on histogram
> differences.
>
> Index: libgcc/libgcov.c
> ===================================================================
> --- libgcc/libgcov.c (revision 191035)
> +++ libgcc/libgcov.c (working copy)
> @@ -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
>
> --
> This patch is available for review at http://codereview.appspot.com/6501100