This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix part of PR gcov-profile/54487 (issue6501100)


> 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]