http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52569
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-03-13 08:56:22 UTC --- Index: libgcc/unwind-dw2-fde.c =================================================================== --- libgcc/unwind-dw2-fde.c (revision 185278) +++ libgcc/unwind-dw2-fde.c (working copy) @@ -48,7 +48,9 @@ static struct object *seen_objects; #ifdef __GTHREAD_MUTEX_INIT static __gthread_mutex_t object_mutex = __GTHREAD_MUTEX_INIT; #define init_object_mutex_once() -#else +#endif + +#ifdef __GTHREAD_MUTEX_INIT_FUNCTION static __gthread_mutex_t object_mutex; static void @@ -63,6 +65,11 @@ init_object_mutex_once (void) static __gthread_once_t once = __GTHREAD_ONCE_INIT; __gthread_once (&once, init_object_mutex); } +#else +/* ??? Several targets include this file with stubbing parts of gthr.h + and expect no locking to be done. */ +#define init_object_mutex_once() +static __gthread_mutex_t object_mutex; #endif /* Called from crtbegin.o to register the unwind info for an object. */