http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58127

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #4 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
The secret plan was to not use TLS for emutls. I did not introduce new use of
TLS, just use what was already in tree-profile.c:
  if (targetm.have_tls)
    DECL_TLS_MODEL (ic_void_ptr_var) =
      decl_default_tls_model (ic_void_ptr_var);

and I think have_tls should be true only for non-emutls targets.
on libgcov time we use
#ifdef HAVE_CC_TLS
__thread
#endif

There seems to be macro USE_EMUTLS specifying if we have real TLS or emuTLS.

I am not sure what of the two tests passes.  Perhaps it will help to replace
#ifdef HAVE_CC_TLS
__thread
#endif
#if defined(HAVE_CC_TLS) && !defined (USE_EMUTLS)
__thread
#endif

Reply via email to