[PATCH]: set_thread_area() implementation

Divacky Roman xdivac02 at stud.fit.vutbr.cz
Tue Jul 4 07:19:12 UTC 2006


On Tue, Jul 04, 2006 at 12:19:30AM +0400, Boris Samorodov wrote:
> On Sun, 2 Jul 2006 19:29:59 +0200 Divacky Roman wrote:
> 
> > I made a patch which implementes set_threa_area() syscall in linux
> > emulation layer.
> 
> > to test pls apply: www.stud.fit.vutbr.cz/~xdivac02/tls1.patch and
> > www.stud.fit.vutbr.cz/~xdivac02/tls2.patch
> 
> Great! Those two patches were applied, compiled and installed. After
> the reboot -current works fine (tested on i386, I'll try to test them
> on amd64 tomorrow if needed).

this doesnt touch amd64 at all, I forgot to mention it - this is i386 only
because I want to get NPTL working on i386 first and then do the porting work.

> > This syscall is used for TLS implementation in linux. TLS is used by
> > NPTL which currently doesnt run because of missing TID stuff and
> > futexes (I am working on it). I am able to pass tls_tst test
> > (www.stud.fit.vutbr.cz/~xdivac02/tls_test.c) pls if you can test this
> 
> How should I test it?

if only I knew ;( the problem is that the major user of this is NPTL which
requires also TID handling and futexes. I dont have this implemnented (I am
currenty working on it). But I'd love to have this tested somehow. You probably
want to find program which uses the set_thread_area() syscall but not the TID
and futexes. bash is one of those programs (I mean its startup) maybe there are
others. You can check this by "mount /proc && truss /compat/linux/program"
if it contains the set_thread_area() syscall and doesnt crush its ok. If it
crushes you have to check why it crashes - if its missing $something then its
ok. if its the set_thread_area() syscall then its bad.

But overall I think this should be ok.. I hope to have basic NPTL support done
in lets say 10 days (but you know - ist not a promise) and I'll post complete
patch then. But if problems happen with that patch the debuging will be harder
because it will implement 3 things

thnx

roman


More information about the freebsd-emulation mailing list