Purpose of attribute_tls_model_ie

Joseph Myers joseph@codesourcery.com
Fri Oct 16 13:32:00 GMT 2015


On Fri, 16 Oct 2015, Florian Weimer wrote:

> Why are some thread-local variables marked with attribute_tls_model_ie?

Maybe to indicate variables located in initial modules that are accessed 
from other modules (i.e. for use when those other modules are being built, 
without -ftls-model=initial-exec)?

> As far as I can tell, the default for PIC is set by
> -ftls-model=initial-exec, and for non-PIC, it's the compiler default.
> The latter is more efficient (no GOT indirection), but
> attribute_tls_model_ie overrides this.

I suppose there's a case for static libraries being built for local-exec.

-- 
Joseph S. Myers
joseph@codesourcery.com



More information about the Libc-alpha mailing list