Hi. The following mini patch series improves: - gcov run-time locking is used for user accessible __gcov_dump and __gcov_reset functions - do not run __gcov_flush in fork, only __gcov_reset is called in child process - gcov exec* wrappers dump counters and reset only if execv* fails
Patch can bootstrap on x86_64-linux-gnu and survives regression tests. I'll install the patch set in next stage1 if there are no objections. Thanks, Martin Martin Liska (3): Do locking for __gcov_dump and __gcov_reset as well. Use __gcov_dump and __gcov_reset in execv and fork context. Remove __gcov_flush. gcc/tree-cfg.c | 4 +- libgcc/Makefile.in | 5 +- libgcc/gcov.h | 5 -- libgcc/libgcov-interface.c | 126 +++++++++++++++++++++++-------------- libgcc/libgcov.h | 6 ++ 5 files changed, 91 insertions(+), 55 deletions(-) -- 2.26.0