https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64123
Nathan Sidwell <nathan at acm dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |nathan at acm dot org --- Comment #10 from Nathan Sidwell <nathan at acm dot org> --- What's the visibility on __gcov_merge_add? All those functions should have hidden visibility. I see: extern void __gcov_merge_add (gcov_type *, unsigned) ATTRIBUTE_HIDDEN; Could you give me the recipe for getting and building firefox in this manner? To answer the 'how's it supposed to work' question. Each DSO with coverage needs contains its own set of gcov routines -- all hidden. The linkage between each dso is in the data -- each (compatible) dso chains onto the gcov_master variable. That is not hidden, and one will win in the resultant process. Does that make sense?