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.