--- gcc/gthr-default.h.jj 2007-12-14 16:24:42.515800719 +0100 +++ gcc/gthr-default.h 2007-11-24 23:05:01.000000000 +0100 @@ -0,0 +1 @@ +#include "gthr-posix.h" --- gcc/gthr-posix.h.jj 2007-07-04 20:46:26.000000000 +0200 +++ gcc/gthr-posix.h 2007-12-20 16:04:49.000000000 +0100 @@ -62,9 +62,15 @@ typedef pthread_mutex_t __gthread_recurs # ifndef __gthrw_pragma # define __gthrw_pragma(pragma) # endif -# define __gthrw2(name,name2,type) \ +# if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2) +# define __gthrw2(name,name2,type) \ + static __typeof(type) name __attribute__ ((__weakref__(#name2))); \ + __gthrw_pragma(weak type) +# else +# define __gthrw2(name,name2,type) \ extern __typeof(type) name __attribute__ ((__weakref__(#name2))); \ __gthrw_pragma(weak type) +# endif # define __gthrw_(name) __gthrw_ ## name #else # define __gthrw2(name,name2,type)