On Thu, Jan 29, 2015 at 04:13:38PM +1030, Alan Modra wrote:
> On Thu, Jan 29, 2015 at 06:07:16AM +0100, Jan Hubicka wrote:
> > > On Wed, Jan 28, 2015 at 08:56:22PM +0100, Jan Hubicka wrote:
> > > > -const char * const tls_model_names[]={"none", "tls-emulated", 
> > > > "tls-real",
> > > > -                                     "tls-global-dynamic", 
> > > > "tls-local-dynamic",
> > > > -                                     "tls-initial-exec", 
> > > > "tls-local-exec"};
> > > > +const char * const tls_model_names[]={"none", "emulated",
> > > > +                                     "global-dynamic", "local-dynamic",
> > > > +                                     "initial-exec", "local-exec"};
> > >
> > > I just made the same mistake in a binutils commit message.  The proper
> > > term is general-dynamic, not global-dynamic.  See Drepper's TLS paper,
> > > section 4.  http://www.akkadia.org/drepper/tls.pdf
> >
> > Hmm, this seems to disagree with our attribute:
> > @item -ftls-model=@var{model}
> > @opindex ftls-model
> > Alter the thread-local storage model to be used (@pxref{Thread-Local}).
> > The @var{model} argument should be one of @code{global-dynamic},
> > @code{local-dynamic}, @code{initial-exec} or @code{local-exec}.
> 
> Huh, it must have been Drepper that made the mistake.  :-)

Even the tls.pdf mentions sometimes Global Dynamic and sometimes General
Dynamic.  But the Global Dynamic is in additions made by me apparently.

Anyway, I think it is too late to change this now on the GCC side,
we it is part of options and attributes.

        Jakub

Reply via email to