This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix tls model dumping


> 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}.                 
Note that the choice is subject to optimization: the compiler may use           
a more efficient model for symbols not visible outside of the translation       
unit, or if @option{-fpic} is not given on the command line.                    
                                                                                
The default without @option{-fpic} is @code{initial-exec}; with                 
@option{-fpic} the default is @code{global-dynamic}.                            

If it is indeed a mistake, I guess we can just support both names.

Honza


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]