From: Julian Seward Date: Fri, 26 Apr 2002 21:01:13 +0000 (+0000) Subject: Fix more stuff broken by recent exported-symbol hackery. X-Git-Tag: svn/VALGRIND_1_0_3~295 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c082a81f8f915041dc0d9f077d1c1058a91398f1;p=thirdparty%2Fvalgrind.git Fix more stuff broken by recent exported-symbol hackery. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@156 --- diff --git a/coregrind/arch/x86-linux/vg_libpthread.c b/coregrind/arch/x86-linux/vg_libpthread.c index 0ed95d071b..960d98633d 100644 --- a/coregrind/arch/x86-linux/vg_libpthread.c +++ b/coregrind/arch/x86-linux/vg_libpthread.c @@ -1398,6 +1398,18 @@ pthread_rwlock_unlock (void* /* pthread_rwlock_t* */ rwlock) weak_alias(pthread_rwlock_unlock, __pthread_rwlock_unlock) +int +pthread_rwlock_wrlock (void* /* pthread_rwlock_t* */ rwlock) +{ + static int moans = N_MOANS; + if (moans-- > 0) + kludged("pthread_rwlock_wrlock"); + return 0; +} + +weak_alias(pthread_rwlock_wrlock, __pthread_wrlock_unlock) + + /* I've no idea what these are, but they get called quite a lot. Anybody know? */ diff --git a/coregrind/arch/x86-linux/vg_libpthread_unimp.c b/coregrind/arch/x86-linux/vg_libpthread_unimp.c index 2b9aa6329a..3bc96f7412 100644 --- a/coregrind/arch/x86-linux/vg_libpthread_unimp.c +++ b/coregrind/arch/x86-linux/vg_libpthread_unimp.c @@ -107,7 +107,7 @@ void pthread_rwlock_timedwrlock ( void ) { unimp("pthread_rwlock_timedwrlock"); void pthread_rwlock_tryrdlock ( void ) { unimp("pthread_rwlock_tryrdlock"); } void pthread_rwlock_trywrlock ( void ) { unimp("pthread_rwlock_trywrlock"); } //void pthread_rwlock_unlock ( void ) { unimp("pthread_rwlock_unlock"); } -void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); } +//void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); } void pthread_rwlockattr_destroy ( void ) { unimp("pthread_rwlockattr_destroy"); } void pthread_rwlockattr_getkind_np ( void ) { unimp("pthread_rwlockattr_getkind_np"); } void pthread_rwlockattr_getpshared ( void ) { unimp("pthread_rwlockattr_getpshared"); } @@ -169,7 +169,7 @@ weak_alias(pthread_rwlock_destroy, __pthread_rwlock_destroy) weak_alias(pthread_rwlock_init, __pthread_rwlock_init) weak_alias(pthread_rwlock_tryrdlock, __pthread_rwlock_tryrdlock) weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock) -weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock) +//weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock) weak_alias(_IO_ftrylockfile, ftrylockfile) __attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); } diff --git a/coregrind/vg_libpthread.c b/coregrind/vg_libpthread.c index 0ed95d071b..960d98633d 100644 --- a/coregrind/vg_libpthread.c +++ b/coregrind/vg_libpthread.c @@ -1398,6 +1398,18 @@ pthread_rwlock_unlock (void* /* pthread_rwlock_t* */ rwlock) weak_alias(pthread_rwlock_unlock, __pthread_rwlock_unlock) +int +pthread_rwlock_wrlock (void* /* pthread_rwlock_t* */ rwlock) +{ + static int moans = N_MOANS; + if (moans-- > 0) + kludged("pthread_rwlock_wrlock"); + return 0; +} + +weak_alias(pthread_rwlock_wrlock, __pthread_wrlock_unlock) + + /* I've no idea what these are, but they get called quite a lot. Anybody know? */ diff --git a/coregrind/vg_libpthread_unimp.c b/coregrind/vg_libpthread_unimp.c index 2b9aa6329a..3bc96f7412 100644 --- a/coregrind/vg_libpthread_unimp.c +++ b/coregrind/vg_libpthread_unimp.c @@ -107,7 +107,7 @@ void pthread_rwlock_timedwrlock ( void ) { unimp("pthread_rwlock_timedwrlock"); void pthread_rwlock_tryrdlock ( void ) { unimp("pthread_rwlock_tryrdlock"); } void pthread_rwlock_trywrlock ( void ) { unimp("pthread_rwlock_trywrlock"); } //void pthread_rwlock_unlock ( void ) { unimp("pthread_rwlock_unlock"); } -void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); } +//void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); } void pthread_rwlockattr_destroy ( void ) { unimp("pthread_rwlockattr_destroy"); } void pthread_rwlockattr_getkind_np ( void ) { unimp("pthread_rwlockattr_getkind_np"); } void pthread_rwlockattr_getpshared ( void ) { unimp("pthread_rwlockattr_getpshared"); } @@ -169,7 +169,7 @@ weak_alias(pthread_rwlock_destroy, __pthread_rwlock_destroy) weak_alias(pthread_rwlock_init, __pthread_rwlock_init) weak_alias(pthread_rwlock_tryrdlock, __pthread_rwlock_tryrdlock) weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock) -weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock) +//weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock) weak_alias(_IO_ftrylockfile, ftrylockfile) __attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); } diff --git a/vg_libpthread.c b/vg_libpthread.c index 0ed95d071b..960d98633d 100644 --- a/vg_libpthread.c +++ b/vg_libpthread.c @@ -1398,6 +1398,18 @@ pthread_rwlock_unlock (void* /* pthread_rwlock_t* */ rwlock) weak_alias(pthread_rwlock_unlock, __pthread_rwlock_unlock) +int +pthread_rwlock_wrlock (void* /* pthread_rwlock_t* */ rwlock) +{ + static int moans = N_MOANS; + if (moans-- > 0) + kludged("pthread_rwlock_wrlock"); + return 0; +} + +weak_alias(pthread_rwlock_wrlock, __pthread_wrlock_unlock) + + /* I've no idea what these are, but they get called quite a lot. Anybody know? */ diff --git a/vg_libpthread_unimp.c b/vg_libpthread_unimp.c index 2b9aa6329a..3bc96f7412 100644 --- a/vg_libpthread_unimp.c +++ b/vg_libpthread_unimp.c @@ -107,7 +107,7 @@ void pthread_rwlock_timedwrlock ( void ) { unimp("pthread_rwlock_timedwrlock"); void pthread_rwlock_tryrdlock ( void ) { unimp("pthread_rwlock_tryrdlock"); } void pthread_rwlock_trywrlock ( void ) { unimp("pthread_rwlock_trywrlock"); } //void pthread_rwlock_unlock ( void ) { unimp("pthread_rwlock_unlock"); } -void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); } +//void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); } void pthread_rwlockattr_destroy ( void ) { unimp("pthread_rwlockattr_destroy"); } void pthread_rwlockattr_getkind_np ( void ) { unimp("pthread_rwlockattr_getkind_np"); } void pthread_rwlockattr_getpshared ( void ) { unimp("pthread_rwlockattr_getpshared"); } @@ -169,7 +169,7 @@ weak_alias(pthread_rwlock_destroy, __pthread_rwlock_destroy) weak_alias(pthread_rwlock_init, __pthread_rwlock_init) weak_alias(pthread_rwlock_tryrdlock, __pthread_rwlock_tryrdlock) weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock) -weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock) +//weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock) weak_alias(_IO_ftrylockfile, ftrylockfile) __attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }