--- a/lib/glthread/lock.c.orig 2017-02-04 15:41:52.000000000 +0100 +++ b/lib/glthread/lock.c 2017-03-10 13:20:05.000000000 +0100 @@ -34,7 +34,7 @@ # ifdef PTHREAD_RWLOCK_INITIALIZER -# if !HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER +# if !HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER && !defined(__GNU__) /* glibc with bug https://sourceware.org/bugzilla/show_bug.cgi?id=13701 */ int --- a/lib/glthread/lock.h.orig 2017-02-04 15:41:52.000000000 +0100 +++ b/lib/glthread/lock.h 2017-03-10 13:28:36.000000000 +0100 @@ -185,7 +185,7 @@ STORAGECLASS pthread_rwlock_t NAME; # define gl_rwlock_define_initialized(STORAGECLASS, NAME) \ STORAGECLASS pthread_rwlock_t NAME = gl_rwlock_initializer; -# if HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER +# if defined(HAVE_PTHREAD_RWLOCK_RDLOCK_PREFER_WRITER) || defined(__GNU__) # define gl_rwlock_initializer \ PTHREAD_RWLOCK_INITIALIZER # define glthread_rwlock_init(LOCK) \