PATCH: glibc 2.3.x and errno

Gavriel State gav at
Fri Jan 24 18:40:39 CST 2003

Alexandre Julliard wrote:
> I'm afraid that won't be enough. When using thread-local storage,
> glibc doesn't even call __errno_location any more, it directly stores
> errno into the thread storage using %gs. It seems the only solution is
> to make Wine threads work on top of libc threads, but that will be
> messy.

We have a winethreads-on-pthread implementation that we did for some
of our non-x86 work a while back.  It's pretty simple, and we haven't
really tested it on an x86 machine recently - when we did so last, it
definitely had some problems.  It is pretty similar to work that Andrew
Lewycky did at Corel to support cprof and multithreaded profiling, and
probably has some of the same caveats that were discussed on wine-devel
in March of 2000.

The code (excluding some configure checks) is here - some updates will
probably be required to get it working with a more recent tree.  WineHQ
is welcome to use it.  It would be nice if any improvements made to
it were donated to ReWind as well:

Take care,

Gavriel State, CEO & CTO
TransGaming Technologies Inc.
gav at

Let the games begin

More information about the wine-devel mailing list