http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127
--- Comment #9 from Iain Sandoe <iains at gcc dot gnu.org> --- (In reply to Jan Hubicka from comment #7) > > > > that's kind of a pity, since IIRC one of the main reasons for recasting the > > emutls implementation as a separate pass was to allow for uses like this; > > but, having said that, probably not a high priority. > MThere are performance implications of doing so. One way would be to add > facility to insert new variables into emutls late (it is probably doable). > Other easy way around would be to add gcov function to set both pointers to > proper values and do it as function call. > > I am not sure if this is feasible performance wise - the counter is in TLS > just to avoid too many colisions. Generally profiling should work resonably > well even without TLS for that. ack, let's not pursue that then. > If you do have chance to commit it, consider the patch preapproved. applied as 201829 libgcc: PR gcov-profile/58127 * libgcov.c (__gcov_indirect_call_callee): Don't make this a __thread var for emulated TLS. (__gcov_indirect_call_counters): Likewise.