> 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.

One thing we can do is to add alias and accept both names...

Honza
> 
>       Jakub

Reply via email to