amd64_set_gsbase()

Mihai Donțu mihai.dontu at gmail.com
Sun Oct 21 19:21:00 PDT 2007


On Wednesday 10 October 2007, Tijl Coosemans wrote:
> > To get back to what you are trying to do, because %gs isn't preserved,
> > I think you should avoid writing to it and instead strictly use
> > amd64_set_gsbase(). But from what you've written, I'm guessing you're
> > already doing this, so the next thing to try is to create threads with
> > PTHREAD_SCOPE_SYSTEM or use libthr instead of libpthread, because if
> > I'm not mistaken, PTHREAD_SCOPE_PROCESS in libpthread doesn't preserve
> > gsbase either.

> Anyhoo, I'll try to use 'libthr' and see if this helps.

... and success! Indeed: 'amd64_set_gsbase()' + 'libthr.so' = love. 'libpthread.so'
is a no-no :)

I'm not out of the woods yet, I still have some crashes, but I suspect that's just
bad programming on my side.

Thanks,

-- 
Mihai Donțu


More information about the freebsd-questions mailing list