|
From: Tom H. <th...@cy...> - 2003-03-22 17:28:11
|
In message <200...@ac...>
Julian Seward <js...@ac...> wrote:
>
> > > valgrind: vg_ldt.c:167 (vgPlain_do_useseg): Assertion `(seg_selector &
> > > 7) == 7'
>
> > The fact that this assertion is talking about segment selectors
> > suggests that thread local storage is involved, and hence this is
> > probably a threading related problem.
>
> The lowest 3 bits of the segment selector is a tag which indicates some
> properties of the segment (iirc). 111b means a LDT selector, and that's
> what the above assertion tests. I think you've probably hit a
> GDT selector (011b iirc).
I suspect the same - the NPTL documentation does mention that it
uses the GDT to handle thread local storage instead of the LDT that
is used by the old threading system.
There is also a new system call, tls, to manage the GDT so valgrind
is probably going to need to intercept that and emulate the GDT in a
similar way to that the LDT emulation is does at the moment.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|