http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49484
--- Comment #19 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-03-12 15:27:46 UTC --- (In reply to comment #18) > Also, gthr.h says the signature should be: > void __GTHREAD_MUTEX_INIT_FUNCTION (__gthread_mutex_t *) I don't understand this? The current define is pre-existing #ifdef _GTHREAD_USE_MUTEX_INIT_FUNC # undef __GTHREAD_MUTEX_INIT # define __GTHREAD_MUTEX_INIT_FUNCTION __gthread_mutex_init_function #endif I suppose it simply forgets to undef __GTHREAD_MUTEX_INIT_FUNCTION like the _GTHREAD_USE_RECURSIVE_MUTEX_INIT_FUNC does. I have no access to the weird platforms (but asked for help three month ago and again a week ago). Please open new bugs for issues you spot. Btw, the gthr-posix.h path with _GTHREAD_USE_MUTEX_INIT_FUNC could have never worked as there was no __gthread_mutex_init_function available in gthr-posix.h. Or how was that supposed to work?