[Bug gcov-profile/64123] [5 Regression] Instrumented Firefox segfaults on start

nathan at acm dot org gcc-bugzilla@gcc.gnu.org
Fri Jan 30 15:15:00 GMT 2015


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?



More information about the Gcc-bugs mailing list