cvs commit: src/lib/libc/gen tls.c

Doug Rabson dfr at nlsystems.com
Mon Aug 23 11:58:28 PDT 2004


On Monday 23 August 2004 19:18, Marcel Moolenaar wrote:
> On Mon, Aug 23, 2004 at 06:47:15PM +0100, Doug Rabson wrote:
> > On Mon, 2004-08-23 at 16:30, Doug Rabson wrote:
> > > dfr         2004-08-23 15:30:05 UTC
> > >
> > >   FreeBSD src repository
> > >
> > >   Modified files:
> > >     lib/libc/gen         tls.c
> > >   Log:
> > >   Make sure we allocate at least enough space for the TCB for
> > > variant I TLS.
> >
> > This is the real fix for the static binaries segfaulting on alpha.
> > With this we could re-add the change to crt1.c which enables TLS
> > for static binaries. Given that we don't yet fully support TLS for
> > alpha in either rtld or libpthread, I don't propose to change
> > lib/csu/alpha/crt1.c again for 5.3.
>
> However, if we revert the backout of crt1.c, then we know that all
> shared executables will work the moment we fix rtld and libpthread.
> If we keep the call to _init_tls() removed from crt1.c then every
> binary linked on a 5.3 machine needs to be relinked the moment we
> do add proper TLS support. So, to minimize (future) burden I suggest
> we change crt1.c back for 5.3 as well. Otherwise this will just be
> another exception on Alpha...

But then again, none of those static binaries are likely to include TLS 
(since its currently disabled for alpha). Dynamic binaries are not 
affected because when rtld gets involved, it handles the TLS 
initialisation istelf - _init_tls() is only used for static binaries 
and is empty for dynamic.

>
> The above obviously conditional upon re@ approval.

I await the RE's judgement :-)



More information about the cvs-all mailing list