This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Purpose of attribute_tls_model_ie
- From: Joseph Myers <joseph at codesourcery dot com>
- To: Florian Weimer <fweimer at redhat dot com>
- Cc: GNU C Library <libc-alpha at sourceware dot org>
- Date: Fri, 16 Oct 2015 15:22:38 +0000
- Subject: Re: Purpose of attribute_tls_model_ie
- Authentication-results: sourceware.org; auth=none
- References: <5620D4D3 dot 5060109 at redhat dot com> <alpine dot DEB dot 2 dot 10 dot 1510161329250 dot 18339 at digraph dot polyomino dot org dot uk> <562102FC dot 6050907 at redhat dot com>
On Fri, 16 Oct 2015, Florian Weimer wrote:
> On 10/16/2015 03:31 PM, Joseph Myers wrote:
> > 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)?
>
> But this would not apply to the arena pointer in malloc/arena.c, right?
> (It's a static TLS variable, after all.) So we could drop it there and
> get better code for statically linked glibc.
Indeed. If it's being built as part of libc then the command-line option
should suffice. The attribute should help for cases such as the
GLIBC_PRIVATE TLS errno, however (subject to fixing the attribute to use
local-exec in static libraries (but not *_nonshared)).
--
Joseph S. Myers
joseph@codesourcery.com