http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51906
--- Comment #41 from Iain Sandoe <iains at gcc dot gnu.org> 2012-02-03 09:04:02 UTC --- (In reply to comment #40) > Created attachment 26558 [details] > disable __GTHREAD_RECURSIVE_MUTEX_INIT for Lion > > Thanks, Iain. > > I'm thinking of something like this, which allows os_defines.h to set a macro > which forces gthreads to use the init function if the macro is known to be > problematic. This should work for PR 51296 too +#if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ == 1070 +# define _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC +#endif unless the header is guaranteed only to be included for Darwin, then I'd guard with a defined (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) Hmm.. if we use >= then we don't need to keep amending when new OS Versions are sent out - we're already at 1073 AFAIK. OTOH, it means that someone needs to keep an eye on when the fix is made and adjust this code then. Don't have Lion here (yet) to test it, sorry.