I started composing a lengthy email about why we should align pthread_mutex_t layout on i386 and x86_64 (because cross-process compatibility is of more practical importance these days than LinuxThreads backwards compatibility). But then I realized that we don't have this choice due to the static initializers, which have __kind at different offsets. The attached patch makes this more explicit in the relevant header files. Thanks, Florian