Some more on TLS

Marcel Moolenaar marcel at xcllnt.net
Fri Jul 18 23:53:39 PDT 2003


On Sat, Jul 19, 2003 at 01:16:15AM -0400, Daniel Eischen wrote:
> On Fri, 18 Jul 2003, Marcel Moolenaar wrote:
> 
> > On Sat, Jul 19, 2003 at 01:02:26AM -0400, Daniel Eischen wrote:
> > > > 
> > > > A quick test with our in-tree bits revealed:
> > > > 
> > > > o  There's no compiler support for TLS on sparc64.
> > > > o  There's no assembler support for TLS on i386 and amd64.
> > > > 
> > > > This means that only the toolchain on alpha and ia64 support TLS
> > > > completely.
> > > 
> > > How does Linux support TLS?
> > 
> > What do you mean exactly?
> 
> Sorry, I assumed that Linux somehow supports it from the
> way the NVidia guys were talking and from Ulrich's paper.
> Maybe they don't yet...  I just wondered what toolchain
> they use.

RedHat 8.0 has gcc 3.2 and binutils 2.13.90.0.2. TLS works. Our
gcc emits slightly different assembly that's not understood by
our assembler. The assembler shipped with RH 8 also doesn't
understand the assembly emitted by our compiler:

static.s: Assembler messages:
static.s:2: Warning: rest of line ignored; first ignored character is `%'
static.s:5: Error: unrecognized symbol type "li"
static.s:5: Warning: rest of line ignored; first ignored character is `,'
static.s:6: Error: expected comma after name `' in .size directive
static.s:6: Warning: rest of line ignored; first ignored character is `%'
static.s:7: Warning: rest of line ignored; first ignored character is `%'
static.s:17: Error: bad register name `%li at NTPOFF(%eax)'

-- 
 Marcel Moolenaar	  USPA: A-39004		 marcel at xcllnt.net


More information about the freebsd-threads mailing list