On Sat, 19 Jul 2014, Gerald Pfeifer wrote:

> On Mon, 14 Jul 2014, Richard Biener wrote:
> > 2014-07-14  Richard Biener  <rguent...@suse.de>
> > 
> >     * libgcov.h (struct gcov_fn_info): Make ctrs size 1.
> 
> I actually had the same patch ready and tested already, but realized
> this would increase memory consumption (though just a bit) and over-
> allocate gcov_fn_info dynamically:
> 
> > Index: libgcc/libgcov.h
> 
> This now defines struct gcov_fn_info as
>   {
>     const struct gcov_info *key;          /* comdat key */
>     gcov_unsigned_t ident;                /* unique ident of function */
>     gcov_unsigned_t lineno_checksum;      /* function lineo_checksum */
>     gcov_unsigned_t cfg_checksum;         /* function cfg checksum */
>     struct gcov_ctr_info ctrs[1];         /* instrumented counters */
>   };
> 
> whereas libgcov-util.c has
> 
>   curr_fn_info = (struct gcov_fn_info *) xcalloc (sizeof (struct gcov_fn_info)
>                    + GCOV_COUNTERS * sizeof (struct gcov_ctr_info), 1);

Yes.  Though in some other thread David agreed to the patch and 
explicitely didn't care about this possible issue.

Richard.

Reply via email to