Commit c6c36e73 by Teresa Johnson Committed by Teresa Johnson

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  <tejohnson@google.com>

        PR gcov-profile/54487
	* libgcc/libgcov.c (gcov_exit): Avoid warning on histogram
        differences.

From-SVN: r191074
parent 48d3d75d
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> 2012-09-05 Georg-Johann Lay <avr@gjlay.de>
PR target/54461 PR target/54461
......
...@@ -707,7 +707,13 @@ gcov_exit (void) ...@@ -707,7 +707,13 @@ gcov_exit (void)
memcpy (cs_all, cs_prg, sizeof (*cs_all)); memcpy (cs_all, cs_prg, sizeof (*cs_all));
else if (!all_prg.checksum else if (!all_prg.checksum
&& (!GCOV_LOCKED || cs_all->runs == cs_prg->runs) && (!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", fprintf (stderr, "profiling:%s:Invocation mismatch - some data files may have been removed%s\n",
gi_filename, GCOV_LOCKED gi_filename, GCOV_LOCKED
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment