blob: 92259e3c37d2bed64d0c1431b086456318a1136b [file] [log] [blame]
sewardj3b13f0e2002-04-25 20:17:29 +00001
sewardj439d45e2002-05-03 20:43:10 +00002/*--------------------------------------------------------------------*/
3/*--- Give dummy bindings for everything the real libpthread.so ---*/
4/*--- binds. vg_libpthread_unimp.c ---*/
5/*--------------------------------------------------------------------*/
6
7/*
njnc9539842002-10-02 13:26:35 +00008 This file is part of Valgrind, an extensible x86 protected-mode
9 emulator for monitoring program execution on x86-Unixes.
sewardj439d45e2002-05-03 20:43:10 +000010
nethercotebb1c9912004-01-04 16:43:23 +000011 Copyright (C) 2000-2004 Julian Seward
sewardj439d45e2002-05-03 20:43:10 +000012 jseward@acm.org
13
14 This program is free software; you can redistribute it and/or
15 modify it under the terms of the GNU General Public License as
16 published by the Free Software Foundation; either version 2 of the
17 License, or (at your option) any later version.
18
19 This program is distributed in the hope that it will be useful, but
20 WITHOUT ANY WARRANTY; without even the implied warranty of
21 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22 General Public License for more details.
23
24 You should have received a copy of the GNU General Public License
25 along with this program; if not, write to the Free Software
26 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
27 02111-1307, USA.
28
njn25e49d8e72002-09-23 09:36:25 +000029 The GNU General Public License is contained in the file COPYING.
sewardj439d45e2002-05-03 20:43:10 +000030*/
31
sewardj3b13f0e2002-04-25 20:17:29 +000032/* ---------------------------------------------------------------------
sewardj439d45e2002-05-03 20:43:10 +000033 ALL THIS CODE RUNS ON THE SIMULATED CPU.
sewardj3b13f0e2002-04-25 20:17:29 +000034 Give a binding for everything the real libpthread.so binds.
35 ------------------------------------------------------------------ */
36
sewardj08c7f012002-10-07 23:56:55 +000037#include "vg_include.h" /* For GLIBC_2_3, or not, as the case may be */
38
sewardj3b13f0e2002-04-25 20:17:29 +000039extern void vgPlain_unimp ( char* );
40#define unimp(str) vgPlain_unimp(str)
41
42//void _IO_flockfile ( void ) { unimp("_IO_flockfile"); }
43void _IO_ftrylockfile ( void ) { unimp("_IO_ftrylockfile"); }
44//void _IO_funlockfile ( void ) { unimp("_IO_funlockfile"); }
45//void __close ( void ) { unimp("__close"); }
46//void __connect ( void ) { unimp("__connect"); }
47//void __errno_location ( void ) { unimp("__errno_location"); }
48//void __fcntl ( void ) { unimp("__fcntl"); }
sewardj853f55d2002-04-26 00:27:53 +000049//void __fork ( void ) { unimp("__fork"); }
sewardj3b13f0e2002-04-25 20:17:29 +000050//void __h_errno_location ( void ) { unimp("__h_errno_location"); }
sewardj262b5be2003-04-26 21:19:53 +000051//void __libc_allocate_rtsig ( void ) { unimp("__libc_allocate_rtsig"); }
52//void __libc_current_sigrtmax ( void ) { unimp("__libc_current_sigrtmax"); }
53//void __libc_current_sigrtmin ( void ) { unimp("__libc_current_sigrtmin"); }
sewardj5905fae2002-04-26 13:25:00 +000054//void __lseek ( void ) { unimp("__lseek"); }
sewardj3b13f0e2002-04-25 20:17:29 +000055//void __open ( void ) { unimp("__open"); }
56//void __open64 ( void ) { unimp("__open64"); }
sewardj726c4122002-05-16 23:39:10 +000057//void __pread64 ( void ) { unimp("__pread64"); }
sewardj853f55d2002-04-26 00:27:53 +000058//void __pthread_atfork ( void ) { unimp("__pthread_atfork"); }
sewardj3b13f0e2002-04-25 20:17:29 +000059//void __pthread_getspecific ( void ) { unimp("__pthread_getspecific"); }
60//void __pthread_key_create ( void ) { unimp("__pthread_key_create"); }
sewardj853f55d2002-04-26 00:27:53 +000061//void __pthread_kill_other_threads_np ( void ) { unimp("__pthread_kill_other_threads_np"); }
sewardj3b13f0e2002-04-25 20:17:29 +000062//void __pthread_mutex_destroy ( void ) { unimp("__pthread_mutex_destroy"); }
63//void __pthread_mutex_init ( void ) { unimp("__pthread_mutex_init"); }
64//void __pthread_mutex_lock ( void ) { unimp("__pthread_mutex_lock"); }
sewardj853f55d2002-04-26 00:27:53 +000065//void __pthread_mutex_trylock ( void ) { unimp("__pthread_mutex_trylock"); }
sewardj3b13f0e2002-04-25 20:17:29 +000066//void __pthread_mutex_unlock ( void ) { unimp("__pthread_mutex_unlock"); }
67//void __pthread_mutexattr_destroy ( void ) { unimp("__pthread_mutexattr_destroy"); }
68//void __pthread_mutexattr_init ( void ) { unimp("__pthread_mutexattr_init"); }
69//void __pthread_mutexattr_settype ( void ) { unimp("__pthread_mutexattr_settype"); }
70//void __pthread_once ( void ) { unimp("__pthread_once"); }
71//void __pthread_setspecific ( void ) { unimp("__pthread_setspecific"); }
sewardja18e2102002-05-18 10:43:22 +000072//void __pwrite64 ( void ) { unimp("__pwrite64"); }
sewardj3b13f0e2002-04-25 20:17:29 +000073//void __read ( void ) { unimp("__read"); }
74//void __res_state ( void ) { unimp("__res_state"); }
sewardj5905fae2002-04-26 13:25:00 +000075//void __send ( void ) { unimp("__send"); }
sewardj3b13f0e2002-04-25 20:17:29 +000076//void __sigaction ( void ) { unimp("__sigaction"); }
sewardj7f6456d2002-05-21 00:51:21 +000077//--//void __vfork ( void ) { unimp("__vfork"); }
sewardj5905fae2002-04-26 13:25:00 +000078//void __wait ( void ) { unimp("__wait"); }
sewardj3b13f0e2002-04-25 20:17:29 +000079//void __write ( void ) { unimp("__write"); }
sewardj60e38422002-05-08 14:08:22 +000080//void _pthread_cleanup_pop ( void ) { unimp("_pthread_cleanup_pop"); }
sewardj3b13f0e2002-04-25 20:17:29 +000081//void _pthread_cleanup_pop_restore ( void ) { unimp("_pthread_cleanup_pop_restore"); }
sewardj60e38422002-05-08 14:08:22 +000082//void _pthread_cleanup_push ( void ) { unimp("_pthread_cleanup_push"); }
sewardj3b13f0e2002-04-25 20:17:29 +000083//void _pthread_cleanup_push_defer ( void ) { unimp("_pthread_cleanup_push_defer"); }
84//void longjmp ( void ) { unimp("longjmp"); }
sewardj853f55d2002-04-26 00:27:53 +000085//void pthread_atfork ( void ) { unimp("pthread_atfork"); }
sewardj3b13f0e2002-04-25 20:17:29 +000086//void pthread_attr_destroy ( void ) { unimp("pthread_attr_destroy"); }
njn25e49d8e72002-09-23 09:36:25 +000087//void pthread_attr_getdetachstate ( void ) { unimp("pthread_attr_getdetachstate"); }
sewardj3b13f0e2002-04-25 20:17:29 +000088void pthread_attr_getinheritsched ( void ) { unimp("pthread_attr_getinheritsched"); }
89//void pthread_attr_getschedparam ( void ) { unimp("pthread_attr_getschedparam"); }
sewardja3be12f2002-06-17 12:19:44 +000090//void pthread_attr_getschedpolicy ( void ) { unimp("pthread_attr_getschedpolicy"); }
sewardj0d844232002-06-02 09:29:31 +000091//void pthread_attr_getscope ( void ) { unimp("pthread_attr_getscope"); }
sewardj3b13f0e2002-04-25 20:17:29 +000092
93//void pthread_attr_setdetachstate ( void ) { unimp("pthread_attr_setdetachstate"); }
94//void pthread_attr_setinheritsched ( void ) { unimp("pthread_attr_setinheritsched"); }
95//void pthread_attr_setschedparam ( void ) { unimp("pthread_attr_setschedparam"); }
sewardja3be12f2002-06-17 12:19:44 +000096//void pthread_attr_setschedpolicy ( void ) { unimp("pthread_attr_setschedpolicy"); }
sewardj0d844232002-06-02 09:29:31 +000097//void pthread_attr_setscope ( void ) { unimp("pthread_attr_setscope"); }
sewardj3b13f0e2002-04-25 20:17:29 +000098void pthread_barrier_destroy ( void ) { unimp("pthread_barrier_destroy"); }
99void pthread_barrier_init ( void ) { unimp("pthread_barrier_init"); }
100void pthread_barrier_wait ( void ) { unimp("pthread_barrier_wait"); }
101void pthread_barrierattr_destroy ( void ) { unimp("pthread_barrierattr_destroy"); }
102void pthread_barrierattr_init ( void ) { unimp("pthread_barrierattr_init"); }
103void pthread_barrierattr_setpshared ( void ) { unimp("pthread_barrierattr_setpshared"); }
104//void pthread_cancel ( void ) { unimp("pthread_cancel"); }
105//void pthread_cond_broadcast ( void ) { unimp("pthread_cond_broadcast"); }
106//void pthread_cond_destroy ( void ) { unimp("pthread_cond_destroy"); }
107//void pthread_cond_init ( void ) { unimp("pthread_cond_init"); }
108//void pthread_cond_signal ( void ) { unimp("pthread_cond_signal"); }
109//void pthread_cond_timedwait ( void ) { unimp("pthread_cond_timedwait"); }
110//void pthread_cond_wait ( void ) { unimp("pthread_cond_wait"); }
111//void pthread_condattr_destroy ( void ) { unimp("pthread_condattr_destroy"); }
112void pthread_condattr_getpshared ( void ) { unimp("pthread_condattr_getpshared"); }
113//void pthread_condattr_init ( void ) { unimp("pthread_condattr_init"); }
114void pthread_condattr_setpshared ( void ) { unimp("pthread_condattr_setpshared"); }
sewardj853f55d2002-04-26 00:27:53 +0000115//void pthread_detach ( void ) { unimp("pthread_detach"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000116//void pthread_equal ( void ) { unimp("pthread_equal"); }
117//void pthread_exit ( void ) { unimp("pthread_exit"); }
sewardj64039bb2002-06-03 00:58:18 +0000118//void pthread_getattr_np ( void ) { unimp("pthread_getattr_np"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000119void pthread_getcpuclockid ( void ) { unimp("pthread_getcpuclockid"); }
120//void pthread_getschedparam ( void ) { unimp("pthread_getschedparam"); }
121//void pthread_getspecific ( void ) { unimp("pthread_getspecific"); }
122//void pthread_join ( void ) { unimp("pthread_join"); }
123//void pthread_key_create ( void ) { unimp("pthread_key_create"); }
124//void pthread_key_delete ( void ) { unimp("pthread_key_delete"); }
sewardj018f7622002-05-15 21:13:39 +0000125//void pthread_kill ( void ) { unimp("pthread_kill"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000126//void pthread_mutex_destroy ( void ) { unimp("pthread_mutex_destroy"); }
127//void pthread_mutex_init ( void ) { unimp("pthread_mutex_init"); }
128//void pthread_mutex_lock ( void ) { unimp("pthread_mutex_lock"); }
129void pthread_mutex_timedlock ( void ) { unimp("pthread_mutex_timedlock"); }
130//void pthread_mutex_trylock ( void ) { unimp("pthread_mutex_trylock"); }
131//void pthread_mutex_unlock ( void ) { unimp("pthread_mutex_unlock"); }
132//void pthread_mutexattr_destroy ( void ) { unimp("pthread_mutexattr_destroy"); }
133//void pthread_mutexattr_init ( void ) { unimp("pthread_mutexattr_init"); }
134//void pthread_once ( void ) { unimp("pthread_once"); }
sewardja1ac5cb2002-05-27 13:00:05 +0000135//void pthread_rwlock_destroy ( void ) { unimp("pthread_rwlock_destroy"); }
136//void pthread_rwlock_init ( void ) { unimp("pthread_rwlock_init"); }
sewardj5716dbb2002-04-26 03:28:18 +0000137//void pthread_rwlock_rdlock ( void ) { unimp("pthread_rwlock_rdlock"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000138void pthread_rwlock_timedrdlock ( void ) { unimp("pthread_rwlock_timedrdlock"); }
139void pthread_rwlock_timedwrlock ( void ) { unimp("pthread_rwlock_timedwrlock"); }
sewardja1ac5cb2002-05-27 13:00:05 +0000140//void pthread_rwlock_tryrdlock ( void ) { unimp("pthread_rwlock_tryrdlock"); }
141//void pthread_rwlock_trywrlock ( void ) { unimp("pthread_rwlock_trywrlock"); }
sewardj5716dbb2002-04-26 03:28:18 +0000142//void pthread_rwlock_unlock ( void ) { unimp("pthread_rwlock_unlock"); }
sewardj060b04f2002-04-26 21:01:13 +0000143//void pthread_rwlock_wrlock ( void ) { unimp("pthread_rwlock_wrlock"); }
sewardj5706bfa2002-12-08 23:42:17 +0000144//void pthread_rwlockattr_destroy ( void ) { unimp("pthread_rwlockattr_destroy"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000145void pthread_rwlockattr_getkind_np ( void ) { unimp("pthread_rwlockattr_getkind_np"); }
146void pthread_rwlockattr_getpshared ( void ) { unimp("pthread_rwlockattr_getpshared"); }
sewardj47e4e312002-06-18 09:24:34 +0000147//void pthread_rwlockattr_init ( void ) { unimp("pthread_rwlockattr_init"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000148void pthread_rwlockattr_setkind_np ( void ) { unimp("pthread_rwlockattr_setkind_np"); }
sewardjfe18eb82002-07-13 12:58:44 +0000149//void pthread_rwlockattr_setpshared ( void ) { unimp("pthread_rwlockattr_setpshared"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000150//void pthread_self ( void ) { unimp("pthread_self"); }
sewardj853f55d2002-04-26 00:27:53 +0000151//void pthread_setcancelstate ( void ) { unimp("pthread_setcancelstate"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000152//void pthread_setcanceltype ( void ) { unimp("pthread_setcanceltype"); }
153//void pthread_setschedparam ( void ) { unimp("pthread_setschedparam"); }
154//void pthread_setspecific ( void ) { unimp("pthread_setspecific"); }
sewardjb48e5002002-05-13 00:16:03 +0000155//void pthread_sigmask ( void ) { unimp("pthread_sigmask"); }
sewardj853f55d2002-04-26 00:27:53 +0000156//void pthread_testcancel ( void ) { unimp("pthread_testcancel"); }
sewardj3665ded2002-05-16 16:57:25 +0000157//void raise ( void ) { unimp("raise"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000158void sem_close ( void ) { unimp("sem_close"); }
159void sem_open ( void ) { unimp("sem_open"); }
sewardj9ad92d92002-10-16 19:45:06 +0000160//void sem_timedwait ( void ) { unimp("sem_timedwait"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000161void sem_unlink ( void ) { unimp("sem_unlink"); }
162//void sigaction ( void ) { unimp("sigaction"); }
sewardj436c2db2002-06-18 09:07:54 +0000163//void siglongjmp ( void ) { unimp("siglongjmp"); }
sewardjb48e5002002-05-13 00:16:03 +0000164//void sigwait ( void ) { unimp("sigwait"); }
sewardj3b13f0e2002-04-25 20:17:29 +0000165
sewardjcbd1b5d2002-06-03 23:12:58 +0000166void __pthread_clock_gettime ( void ) { unimp("__pthread_clock_gettime"); }
167void __pthread_clock_settime ( void ) { unimp("__pthread_clock_settime"); }
sewardj08c7f012002-10-07 23:56:55 +0000168#ifdef GLIBC_2_3
169/* Needed for Red Hat 8.0 */
170__asm__(".symver __pthread_clock_gettime,"
171 "__pthread_clock_gettime@GLIBC_PRIVATE");
172__asm__(".symver __pthread_clock_settime,"
173 "__pthread_clock_settime@GLIBC_PRIVATE");
174#endif
175
sewardjcbd1b5d2002-06-03 23:12:58 +0000176
sewardj3b13f0e2002-04-25 20:17:29 +0000177#if 0
178void pthread_create@@GLIBC_2.1 ( void ) { unimp("pthread_create@@GLIBC_2.1"); }
179void pthread_create@GLIBC_2.0 ( void ) { unimp("pthread_create@GLIBC_2.0"); }
180
181void sem_wait@@GLIBC_2.1 ( void ) { unimp("sem_wait@@GLIBC_2.1"); }
182void sem_wait@GLIBC_2.0 ( void ) { unimp("sem_wait@GLIBC_2.0"); }
183
184void sem_trywait@@GLIBC_2.1 ( void ) { unimp("sem_trywait@@GLIBC_2.1"); }
185void sem_trywait@GLIBC_2.0 ( void ) { unimp("sem_trywait@GLIBC_2.0"); }
186
187void sem_post@@GLIBC_2.1 ( void ) { unimp("sem_post@@GLIBC_2.1"); }
188void sem_post@GLIBC_2.0 ( void ) { unimp("sem_post@GLIBC_2.0"); }
189
190void sem_destroy@@GLIBC_2.1 ( void ) { unimp("sem_destroy@@GLIBC_2.1"); }
191void sem_destroy@GLIBC_2.0 ( void ) { unimp("sem_destroy@GLIBC_2.0"); }
192void sem_getvalue@@GLIBC_2.1 ( void ) { unimp("sem_getvalue@@GLIBC_2.1"); }
193void sem_getvalue@GLIBC_2.0 ( void ) { unimp("sem_getvalue@GLIBC_2.0"); }
194void sem_init@@GLIBC_2.1 ( void ) { unimp("sem_init@@GLIBC_2.1"); }
195void sem_init@GLIBC_2.0 ( void ) { unimp("sem_init@GLIBC_2.0"); }
196
197void pthread_attr_init@@GLIBC_2.1 ( void ) { unimp("pthread_attr_init@@GLIBC_2.1"); }
198void pthread_attr_init@GLIBC_2.0 ( void ) { unimp("pthread_attr_init@GLIBC_2.0"); }
199#endif
sewardj5716dbb2002-04-26 03:28:18 +0000200
sewardj5905fae2002-04-26 13:25:00 +0000201
202
203# define strong_alias(name, aliasname) \
204 extern __typeof (name) aliasname __attribute__ ((alias (#name)));
205
206# define weak_alias(name, aliasname) \
207 extern __typeof (name) aliasname __attribute__ ((weak, alias (#name)));
208
sewardja1ac5cb2002-05-27 13:00:05 +0000209//weak_alias(pthread_rwlock_destroy, __pthread_rwlock_destroy)
210//weak_alias(pthread_rwlock_init, __pthread_rwlock_init)
211//weak_alias(pthread_rwlock_tryrdlock, __pthread_rwlock_tryrdlock)
212//weak_alias(pthread_rwlock_trywrlock, __pthread_rwlock_trywrlock)
sewardj060b04f2002-04-26 21:01:13 +0000213//weak_alias(pthread_rwlock_wrlock, __pthread_rwlock_wrlock)
sewardj5905fae2002-04-26 13:25:00 +0000214weak_alias(_IO_ftrylockfile, ftrylockfile)
215
sewardj39b93b12002-05-18 10:56:27 +0000216//__attribute__((weak)) void pread ( void ) { vgPlain_unimp("pread"); }
217//__attribute__((weak)) void pwrite ( void ) { vgPlain_unimp("pwrite"); }
sewardj67f1d582002-05-24 02:11:32 +0000218//__attribute__((weak)) void msync ( void ) { vgPlain_unimp("msync"); }
sewardj9a2224b2002-06-19 10:17:40 +0000219//__attribute__((weak)) void pause ( void ) { vgPlain_unimp("pause"); }
sewardj59da27a2002-06-06 08:33:54 +0000220//__attribute__((weak)) void recvfrom ( void ) { vgPlain_unimp("recvfrom"); }
221//__attribute__((weak)) void recvmsg ( void ) { vgPlain_unimp("recvmsg"); }
sewardj3665ded2002-05-16 16:57:25 +0000222//__attribute__((weak)) void sendmsg ( void ) { vgPlain_unimp("sendmsg"); }
sewardj5905fae2002-04-26 13:25:00 +0000223__attribute__((weak)) void tcdrain ( void ) { vgPlain_unimp("tcdrain"); }
sewardj7f6456d2002-05-21 00:51:21 +0000224//--//__attribute__((weak)) void vfork ( void ) { vgPlain_unimp("vfork"); }
sewardj436e0582002-04-26 14:31:40 +0000225
sewardj111b14c2002-10-20 16:22:57 +0000226//__attribute__((weak)) void pthread_attr_getguardsize ( void )
227// { vgPlain_unimp("pthread_attr_getguardsize"); }
sewardj436e0582002-04-26 14:31:40 +0000228__attribute__((weak)) void pthread_attr_getstack ( void )
229 { vgPlain_unimp("pthread_attr_getstack"); }
230__attribute__((weak)) void pthread_attr_getstackaddr ( void )
231 { vgPlain_unimp("pthread_attr_getstackaddr"); }
232__attribute__((weak)) void pthread_attr_getstacksize ( void )
233 { vgPlain_unimp("pthread_attr_getstacksize"); }
sewardj111b14c2002-10-20 16:22:57 +0000234//__attribute__((weak)) void pthread_attr_setguardsize ( void )
235// { vgPlain_unimp("pthread_attr_setguardsize"); }
sewardj436e0582002-04-26 14:31:40 +0000236__attribute__((weak)) void pthread_attr_setstack ( void )
237 { vgPlain_unimp("pthread_attr_setstack"); }
238__attribute__((weak)) void pthread_attr_setstackaddr ( void )
239 { vgPlain_unimp("pthread_attr_setstackaddr"); }
sewardj0286dd52002-05-16 20:51:15 +0000240//__attribute__((weak)) void pthread_attr_setstacksize ( void )
241// { vgPlain_unimp("pthread_attr_setstacksize"); }
sewardjab2e1232002-12-26 12:16:11 +0000242//__attribute__((weak)) void pthread_getconcurrency ( void )
243// { vgPlain_unimp("pthread_getconcurrency"); }
sewardjf0b06452002-06-04 08:38:04 +0000244//__attribute__((weak)) void pthread_kill_other_threads_np ( void )
245// { vgPlain_unimp("pthread_kill_other_threads_np"); }
sewardj436e0582002-04-26 14:31:40 +0000246__attribute__((weak)) void pthread_mutexattr_getkind_np ( void )
247 { vgPlain_unimp("pthread_mutexattr_getkind_np"); }
248__attribute__((weak)) void pthread_mutexattr_getpshared ( void )
249 { vgPlain_unimp("pthread_mutexattr_getpshared"); }
250__attribute__((weak)) void pthread_mutexattr_gettype ( void )
251 { vgPlain_unimp("pthread_mutexattr_gettype"); }
252__attribute__((weak)) void pthread_mutexattr_setkind_np ( void )
253 { vgPlain_unimp("pthread_mutexattr_setkind_np"); }
sewardj7685cae2003-07-06 01:23:11 +0000254//__attribute__((weak)) void pthread_mutexattr_setpshared ( void )
255// { vgPlain_unimp("pthread_mutexattr_setpshared"); }
sewardjb34e4db2002-12-08 23:51:32 +0000256//__attribute__((weak)) void pthread_setconcurrency ( void )
257// { vgPlain_unimp("pthread_setconcurrency"); }
sewardj5e657c32003-10-12 08:33:30 +0000258//__attribute__((weak)) void pthread_spin_destroy ( void )
259// { vgPlain_unimp("pthread_spin_destroy"); }
260//__attribute__((weak)) void pthread_spin_init ( void )
261// { vgPlain_unimp("pthread_spin_init"); }
262//__attribute__((weak)) void pthread_spin_lock ( void )
263// { vgPlain_unimp("pthread_spin_lock"); }
264//__attribute__((weak)) void pthread_spin_trylock ( void )
265// { vgPlain_unimp("pthread_spin_trylock"); }
266//__attribute__((weak)) void pthread_spin_unlock ( void )
267// { vgPlain_unimp("pthread_spin_unlock"); }
sewardj436e0582002-04-26 14:31:40 +0000268
sewardj439d45e2002-05-03 20:43:10 +0000269
270/*--------------------------------------------------------------------*/
271/*--- end vg_libpthread_unimp.c ---*/
272/*--------------------------------------------------------------------*/