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