[Bug gcov-profile/54487] [4.8 Regression] profiledbootstrap broken by r190952
tejohnson at google dot com
gcc-bugzilla@gcc.gnu.org
Thu Sep 6 20:24:00 GMT 2012
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54487
--- Comment #12 from Teresa Johnson <tejohnson at google dot com> 2012-09-06 20:23:50 UTC ---
On Thu, Sep 6, 2012 at 1:06 PM, hjl.tools at gmail dot com
<gcc-bugzilla@gcc.gnu.org> wrote:
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54487
>
> --- Comment #11 from H.J. Lu <hjl.tools at gmail dot com> 2012-09-06 20:06:55 UTC ---
> (In reply to comment #8)
>> I think I have a solution for the issue that H.J. is encountering. Details
>> below. Markus and H.J., would you be able to try the following patch to see if
>> it addresses the failure you were seeing? Markus, were you only seeing failures
>> when using a parallel make?
>>
>> Index: libgcc/libgcov.c
>> ===================================================================
>> --- libgcc/libgcov.c (revision 191035)
>> +++ libgcc/libgcov.c (working copy)
>> @@ -707,7 +707,9 @@ 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)))
>> + && 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
>>
>>
>
> I applied it by hand:
> diff --git a/libgcc/libgcov.c b/libgcc/libgcov.c
> index fce8587..daf95af 100644
> --- a/libgcc/libgcov.c
> +++ b/libgcc/libgcov.c
> @@ -707,7 +707,10 @@ 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)))
> + && memcmp (cs_all, cs_prg, sizeof (*cs_all))
> + && 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
>
> and it still failed for me on Fedora/18 24 core x86-64
> with -j 12:
>
> /export/gnu/import/git/gcc/gcc/tree-cfg.c: In function ‘bool
> gimple_can_merge_blocks_p(basic_block, basic_block)’:
> /export/gnu/import/git/gcc/gcc/tree-cfg.c:7904:1: error: corrupted profile
> info: edge from 52 to 53 exceeds maximal count
> }
> ^
> /export/gnu/import/git/gcc/gcc/tree-cfg.c:7904:1: error: corrupted profile
> info: edge from 54 to 55 exceeds maximal count
> /export/gnu/import/git/gcc/gcc/tree-cfg.c:7904:1: error: corrupted profile
> info: edge from 55 to 56 exceeds maximal count
> /export/gnu/import/git/gcc/gcc/tree-cfg.c:7904:1: error: corrupted profile
> info: edge from 56 to 57 exceeds maximal count
> /export/gnu/import/git/gcc/gcc/tree-cfg.c:7904:1: internal compiler error: in
> cgraph_create_edge_1, at cgraph.c:669
Unfortunately I haven't been able to reproduce this one yet. Can you
send me the corrupt gcda file?
Thanks,
Teresa
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> make[4]: *** [tree-cfg.o] Error 1
> make[4]: *** Waiting for unfinished jobs....
> rm gcov.pod gcc.pod cpp.pod fsf-funding.pod gfdl.pod
> make[4]: Leaving directory `/export/build/gnu/gcc-fdo/build-x86_64-linux/gcc'
> make[3]: *** [all-stagefeedback-gcc] Error 2
>
> --
> Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email
> ------- You are receiving this mail because: -------
> You are on the CC list for the bug.
More information about the Gcc-bugs
mailing list