https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64123
--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> --- Yep, I think the problem is that each of DSOs will have its own set of infos that will point to its own gcov_merge_add that calls its own gcov_io routines. Now the winning gcov will walk the list but as soon as it will hit entry from other DSO it will indirectly call the wrong one. gcov_merge_add is hidden in my setup.