[RFC] libgcov.c re-factoring and offline profile-tool

Rong Xu xur@google.com
Thu Jan 9 20:13:00 GMT 2014


My bad.
Thanks for the fix!

-Rong

On Thu, Jan 9, 2014 at 11:47 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> On Wed, Jan 8, 2014 at 2:33 PM, Rong Xu <xur@google.com> wrote:
>> On Fri, Dec 6, 2013 at 6:23 AM, Jan Hubicka <hubicka@ucw.cz> wrote:
>>>> @@ -325,6 +311,9 @@ static struct gcov_summary all_prg;
>>>>  #endif
>>>>  /* crc32 for this program.  */
>>>>  static gcov_unsigned_t crc32;
>>>> +/* Use this summary checksum rather the computed one if the value is
>>>> + *    non-zero.  */
>>>> +static gcov_unsigned_t saved_summary_checksum;
>>>
>>> Why do you need to save the checksum? Won't it reset summary back with multiple streaming?
>>
>> This was for the gcov_tool. checksum will be recomputed in gcov_exit
>> and the value will depend on
>> the order of gcov_info list. (the order will be different after
>> reading from gcda files to memory). The purpose was
>> to have the same summary_checksum so that I can get identical gcov-dump output.
>>
>>>
>>> I would really like to avoid introducing those static vars that are used exclusively
>>> by gcov_exit.  What about putting them into an gcov_context structure that
>>> is passed around the functions that was broken out?
>>
>> With my recently patch the localizes this_prg, we only use 64 more
>> bytes in bss. Do you still we have to remove
>> all these statics?
>>
>>>
>
> libgcc ChangeLog entries should be in libgcc/ChangeLog,
> not gcc/ChangeLog.  I checked in a patch to move them
> to libgcc/ChangeLog.
>
> --
> H.J.



More information about the Gcc-patches mailing list