From fa8710bf5c7b0aaf7d687d9831fbd01b71da85ae Mon Sep 17 00:00:00 2001
From: Mike Frysinger <vapier@gentoo.org>
Date: Thu, 15 May 2008 02:03:13 +0000
Subject: make sure we store the function pointers to the real push/pop
 functions rather than the public weak ones so that the libc->libpthread
 forwarding code is able to work properly

this should fix the case where libpthread.so is not linked directly, but rather via another library:
 app -> links to libfoo.so -> links to libpthread.so

and any function (like readdir_r) that does:
 __UCLIBC_MUTEX_LOCK()
 __UCLIBC_MUTEX_UNLOCK()
---
 libpthread/linuxthreads.old/pthread.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libpthread/linuxthreads.old/pthread.c b/libpthread/linuxthreads.old/pthread.c
index bdb64fdff..65f63ce47 100644
--- a/libpthread/linuxthreads.old/pthread.c
+++ b/libpthread/linuxthreads.old/pthread.c
@@ -371,8 +371,8 @@ struct pthread_functions __pthread_functions =
     .ptr__pthread_cleanup_push = _pthread_cleanup_push,
     .ptr__pthread_cleanup_pop = _pthread_cleanup_pop
 */
-    .ptr__pthread_cleanup_push_defer = _pthread_cleanup_push_defer,
-    .ptr__pthread_cleanup_pop_restore = _pthread_cleanup_pop_restore,
+    .ptr__pthread_cleanup_push_defer = __pthread_cleanup_push_defer,
+    .ptr__pthread_cleanup_pop_restore = __pthread_cleanup_pop_restore,
   };
 #ifdef SHARED
 # define ptr_pthread_functions &__pthread_functions
-- 
cgit v1.2.3