On Fri, Dec 6, 2013 at 6:23 AM, Jan Hubicka <hubi...@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? >