¿Hay alguna manera de emular completamente thread_local usando el __thread de GCC?

El estándar de C ++ 11 contiene una nueva adición, el especificador thread_local, que hace que las variables estáticas sean locales de subprocesos. El thread_local estándar admite tipos no triviales, aquellos con constructores y destructores. GCC desafortunadamente solo soporta tipos triviales a través de__thread Especificador proporcionado como extensión. ¿Hay una forma de emular?thread_local encima de__thread? La implementación de__thread es muy rápido (equivalente a una variable regular más dos direccionamientos indirectos), así que quiero evitar las funciones de biblioteca en la ruta activa.

Estoy usando GCC y Linux. No se requiere portabilidad.

Respuestas a la pregunta(1)

Su respuesta a la pregunta