The size of the pthread_mutex_t used to lock the synchronized block is determined on the host system. This is an issue of the dfrontend (gcc/d/dfronted/statement.c) but gdc might require a different fix so I opened this bug report. The corresponding dmd bug. http://d.puremagic.com/issues/show_bug.cgi?id=9144
https://github.com/D-Programming-Language/dmd/pull/2060 https://github.com/D-Programming-Language/dmd/commit/f8669e6c38d5e03757aeabe2a29a8e76d75c7baf For future expansion, we should really move it in to druntime, rather than the compiler generate it inlined....