This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug gcov-profile/64123] [5 Regression] Instrumented Firefox segfaults on start
- From: "nathan at acm dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 30 Jan 2015 15:14:52 +0000
- Subject: [Bug gcov-profile/64123] [5 Regression] Instrumented Firefox segfaults on start
- Auto-submitted: auto-generated
- References: <bug-64123-4 at http dot gcc dot gnu dot org/bugzilla/>
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?