Index: libc/gen/_pthread_stubs.c =================================================================== RCS file: /home/ncvs/src/lib/libc/gen/_pthread_stubs.c,v retrieving revision 1.12 diff -u -r1.12 _pthread_stubs.c --- libc/gen/_pthread_stubs.c 12 Nov 2005 16:00:29 -0000 1.12 +++ libc/gen/_pthread_stubs.c 2 Mar 2006 05:53:56 -0000 @@ -29,6 +29,7 @@ #include #include +#include #include "libc_private.h" @@ -52,6 +53,8 @@ static void *stub_null(void); static struct pthread *stub_self(void); static int stub_zero(void); +static int stub_true(void); +static void stub_exit(void); #define PJT_DUAL_ENTRY(entry) \ (pthread_func_t)entry, (pthread_func_t)entry @@ -84,7 +87,38 @@ {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_RWLOCK_WRLOCK */ {PJT_DUAL_ENTRY(stub_self)}, /* PJT_SELF */ {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_SETSPECIFIC */ - {PJT_DUAL_ENTRY(stub_zero)} /* PJT_SIGMASK */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_SIGMASK */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATFORK */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_DESTROY */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETDETACHSTATE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETGUARDSIZE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETSTACKADDR */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETSTACKSIZE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETINHERITSCHED */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETSCHEDPARAM */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETSCHEDPOLICY */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_GETSCOPE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_INIT */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETDETACHSTATE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETGUARDSIZE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETSTACKADDR */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETSTACKSIZE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETINHERITSCHED */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETSCHEDPARAM */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETSCHEDPOLICY */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_ATTR_SETSCOPE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_CANCEL */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_CLEANUP_POP */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_CLEANUP_PUSH */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_COND_TIMEDWAIT */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_DETACH */ + {PJT_DUAL_ENTRY(stub_true)}, /* PJT_EQUAL */ + {PJT_DUAL_ENTRY(stub_exit)}, /* PJT_EXIT */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_JOIN */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_KILL */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_SETCANCELSTATE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_SETCANCELTYPE */ + {PJT_DUAL_ENTRY(stub_zero)}, /* PJT_TESTCANCEL */ }; /* @@ -200,6 +234,37 @@ STUB_FUNC(pthread_self, PJT_SELF, pthread_t) STUB_FUNC2(pthread_setspecific, PJT_SETSPECIFIC, int, pthread_key_t, void *) STUB_FUNC3(pthread_sigmask, PJT_SIGMASK, int, int, void *, void *) +STUB_FUNC3(pthread_atfork, PJT_ATFORK, int, void *, void *, void*) +STUB_FUNC1(pthread_attr_destroy, PJT_ATTR_DESTROY, int, void *); +STUB_FUNC2(pthread_attr_getdetachstate, PJT_ATTR_GETDETACHSTATE, int, void *, void *) +STUB_FUNC2(pthread_attr_getguardsize, PJT_ATTR_GETGUARDSIZE, int, void *, void *) +STUB_FUNC2(pthread_attr_getstackaddr, PJT_ATTR_GETSTACKADDR, int, void *, void *) +STUB_FUNC2(pthread_attr_getstacksize, PJT_ATTR_GETSTACKSIZE, int, void *, void *) +STUB_FUNC2(pthread_attr_getinheritsched, PJT_ATTR_GETINHERITSCHED, int, void *, void *) +STUB_FUNC2(pthread_attr_getschedparam, PJT_ATTR_GETSCHEDPARAM, int, void *, void *) +STUB_FUNC2(pthread_attr_getschedpolicy, PJT_ATTR_GETSCHEDPOLICY, int, void *, void *) +STUB_FUNC2(pthread_attr_getscope, PJT_ATTR_GETSCOPE, int, void *, void *) +STUB_FUNC1(pthread_attr_init, PJT_ATTR_INIT, int, void *) +STUB_FUNC2(pthread_attr_setdetachstate, PJT_ATTR_SETDETACHSTATE, int, void *, int) +STUB_FUNC2(pthread_attr_setguardsize, PJT_ATTR_SETGUARDSIZE, int, void *, size_t) +STUB_FUNC2(pthread_attr_setstackaddr, PJT_ATTR_SETSTACKADDR, int, void *, void *) +STUB_FUNC2(pthread_attr_setstacksize, PJT_ATTR_SETSTACKSIZE, int, void *, size_t) +STUB_FUNC2(pthread_attr_setinheritsched, PJT_ATTR_SETINHERITSCHED, int, void *, int) +STUB_FUNC2(pthread_attr_setschedparam, PJT_ATTR_SETSCHEDPARAM, int, void *, void *) +STUB_FUNC2(pthread_attr_setschedpolicy, PJT_ATTR_SETSCHEDPOLICY, int, void *, int) +STUB_FUNC2(pthread_attr_setscope, PJT_ATTR_SETSCOPE, int, void *, int) +STUB_FUNC1(pthread_cancel, PJT_CANCEL, int, void *) +STUB_FUNC1(pthread_cleanup_pop, PJT_CLEANUP_POP, int, int) +STUB_FUNC2(pthread_cleanup_push, PJT_CLEANUP_PUSH, void, void *, void *) +STUB_FUNC3(pthread_cond_timedwait, PJT_COND_TIMEDWAIT, int, void *, void *, void *) +STUB_FUNC1(pthread_detach, PJT_DETACH, int, void *) +STUB_FUNC2(pthread_equal, PJT_EQUAL, int, void *, void *) +STUB_FUNC1(pthread_exit, PJT_EXIT, void, void *) +STUB_FUNC2(pthread_join, PJT_JOIN, int, void *, void *) +STUB_FUNC2(pthread_kill, PJT_KILL, int, void *, int) +STUB_FUNC2(pthread_setcancelstate, PJT_SETCANCELSTATE, int, int, void *) +STUB_FUNC2(pthread_setcanceltype, PJT_SETCANCELTYPE, int, int, void *) +STUB_FUNC(pthread_testcancel, PJT_TESTCANCEL, void) static int stub_zero(void) @@ -224,3 +289,15 @@ { return (-1); } + +static int +stub_true(void) +{ + return (1); +} + +static void +stub_exit(void) +{ + exit(0); +} Index: libc/include/libc_private.h =================================================================== RCS file: /home/ncvs/src/lib/libc/include/libc_private.h,v retrieving revision 1.14 diff -u -r1.14 libc_private.h --- libc/include/libc_private.h 12 Jan 2006 07:28:20 -0000 1.14 +++ libc/include/libc_private.h 2 Mar 2006 05:53:56 -0000 @@ -98,6 +98,37 @@ PJT_SELF, PJT_SETSPECIFIC, PJT_SIGMASK, + PJT_ATFORK, + PJT_ATTR_DESTROY, + PJT_ATTR_GETDETACHSTATE, + PJT_ATTR_GETGUARDSIZE, + PJT_ATTR_GETSTACKADDR, + PJT_ATTR_GETSTACKSIZE, + PJT_ATTR_GETINHERITSCHED, + PJT_ATTR_GETSCHEDPARAM, + PJT_ATTR_GETSCHEDPOLICY, + PJT_ATTR_GETSCOPE, + PJT_ATTR_INIT, + PJT_ATTR_SETDETACHSTATE, + PJT_ATTR_SETGUARDSIZE, + PJT_ATTR_SETSTACKADDR, + PJT_ATTR_SETSTACKSIZE, + PJT_ATTR_SETINHERITSCHED, + PJT_ATTR_SETSCHEDPARAM, + PJT_ATTR_SETSCHEDPOLICY, + PJT_ATTR_SETSCOPE, + PJT_CANCEL, + PJT_CLEANUP_POP, + PJT_CLEANUP_PUSH, + PJT_COND_TIMEDWAIT, + PJT_DETACH, + PJT_EQUAL, + PJT_EXIT, + PJT_JOIN, + PJT_KILL, + PJT_SETCANCELSTATE, + PJT_SETCANCELTYPE, + PJT_TESTCANCEL, PJT_MAX } pjt_index_t; Index: libc/include/namespace.h =================================================================== RCS file: /home/ncvs/src/lib/libc/include/namespace.h,v retrieving revision 1.17 diff -u -r1.17 namespace.h --- libc/include/namespace.h 3 Aug 2005 00:43:14 -0000 1.17 +++ libc/include/namespace.h 2 Mar 2006 05:53:56 -0000 @@ -81,14 +81,40 @@ #define nanosleep _nanosleep #define open _open #define poll _poll +#define pthread_atfork _pthread_atfork +#define pthread_attr_destroy _pthread_attr_destroy +#define pthread_attr_getdetachstate _pthread_attr_getdetachstate +#define pthread_attr_getguardsize _pthread_attr_getguardsize +#define pthread_attr_getstackaddr _pthread_attr_getstackaddr +#define pthread_attr_getstacksize _pthread_attr_getstacksize +#define pthread_attr_getinheritsched _pthread_attr_getinheritsched +#define pthread_attr_getschedparam _pthread_attr_getschedparam +#define pthread_attr_getschedpolicy _pthread_attr_getschedpolicy +#define pthread_attr_getscope _pthread_attr_getscope +#define pthread_attr_init _pthread_attr_init +#define pthread_attr_setdetachstate _pthread_attr_setdetachstate +#define pthread_attr_setguardsize _pthread_attr_setguardsize +#define pthread_attr_setstackaddr _pthread_attr_setstackaddr +#define pthread_attr_setstacksize _pthread_attr_setstacksize +#define pthread_attr_setinheritsched _pthread_attr_setinheritsched +#define pthread_attr_setschedparam _pthread_attr_setschedparam +#define pthread_attr_setschedpolicy _pthread_attr_setschedpolicy +#define pthread_attr_setscope _pthread_attr_setscope +#define pthread_cancel _pthread_cancel +#define pthread_cleanup_pop _pthread_cleanup_pop +#define pthread_cleanup_push _pthread_cleanup_push #define pthread_cond_broadcast _pthread_cond_broadcast #define pthread_cond_destroy _pthread_cond_destroy #define pthread_cond_init _pthread_cond_init #define pthread_cond_signal _pthread_cond_signal #define pthread_cond_timedwait _pthread_cond_timedwait #define pthread_cond_wait _pthread_cond_wait +#define pthread_detach _pthread_detach +#define pthread_equal _pthread_equal #define pthread_exit _pthread_exit #define pthread_getspecific _pthread_getspecific +#define pthread_join _pthread_join +#define pthread_kill _pthread_kill #define pthread_key_create _pthread_key_create #define pthread_key_delete _pthread_key_delete #define pthread_main_np _pthread_main_np @@ -109,8 +135,11 @@ #define pthread_rwlock_trywrlock _pthread_rwlock_trywrlock #define pthread_rwlock_unlock _pthread_rwlock_unlock #define pthread_self _pthread_self +#define pthread_setcancelstate _pthread_setcancelstate +#define pthread_setcanceltype _pthread_setcanceltype #define pthread_setspecific _pthread_setspecific #define pthread_sigmask _pthread_sigmask +#define pthread_testcancel _pthread_testcancel #define read _read #define readv _readv #define recvfrom _recvfrom Index: libpthread/thread/thr_init.c =================================================================== RCS file: /home/ncvs/src/lib/libpthread/thread/thr_init.c,v retrieving revision 1.71 diff -u -r1.71 thr_init.c --- libpthread/thread/thr_init.c 24 Sep 2005 01:19:53 -0000 1.71 +++ libpthread/thread/thr_init.c 2 Mar 2006 05:53:59 -0000 @@ -192,7 +192,39 @@ {DUAL_ENTRY(_pthread_rwlock_wrlock)}, /* PJT_RWLOCK_WRLOCK */ {DUAL_ENTRY(_pthread_self)}, /* PJT_SELF */ {DUAL_ENTRY(_pthread_setspecific)}, /* PJT_SETSPECIFIC */ - {DUAL_ENTRY(_pthread_sigmask)} /* PJT_SIGMASK */ + {DUAL_ENTRY(_pthread_sigmask)}, /* PJT_SIGMASK */ + + {DUAL_ENTRY(_pthread_atfork)}, /* PJT_ATFORK */ + {DUAL_ENTRY(_pthread_attr_destroy)}, /* PJT_ATTR_DESTROY */ + {DUAL_ENTRY(_pthread_attr_getdetachstate)}, /* PJT_ATTR_GETDETACHSTATE */ + {DUAL_ENTRY(_pthread_attr_getguardsize)}, /* PJT_ATTR_GETGUARDSIZE */ + {DUAL_ENTRY(_pthread_attr_getstackaddr)}, /* PJT_ATTR_GETSTACKADDR */ + {DUAL_ENTRY(_pthread_attr_getstacksize)}, /* PJT_ATTR_GETSTACKSIZE */ + {DUAL_ENTRY(_pthread_attr_getinheritsched)}, /* PJT_ATTR_GETINHERITSCHED */ + {DUAL_ENTRY(_pthread_attr_getschedparam)}, /* PJT_ATTR_GETSCHEDPARAM */ + {DUAL_ENTRY(_pthread_attr_getschedpolicy)}, /* PJT_ATTR_GETSCHEDPOLICY */ + {DUAL_ENTRY(_pthread_attr_getscope)}, /* PJT_ATTR_GETSCOPE */ + {DUAL_ENTRY(_pthread_attr_init)}, /* PJT_ATTR_INIT */ + {DUAL_ENTRY(_pthread_attr_setdetachstate)}, /* PJT_ATTR_SETDETACHSTATE */ + {DUAL_ENTRY(_pthread_attr_setguardsize)}, /* PJT_ATTR_SETGUARDSIZE */ + {DUAL_ENTRY(_pthread_attr_setstackaddr)}, /* PJT_ATTR_SETSTACKADDR */ + {DUAL_ENTRY(_pthread_attr_setstacksize)}, /* PJT_ATTR_SETSTACKSIZE */ + {DUAL_ENTRY(_pthread_attr_setinheritsched)}, /* PJT_ATTR_SETINHERITSCHED */ + {DUAL_ENTRY(_pthread_attr_setschedparam)}, /* PJT_ATTR_SETSCHEDPARAM */ + {DUAL_ENTRY(_pthread_attr_setschedpolicy)}, /* PJT_ATTR_SETSCHEDPOLICY */ + {DUAL_ENTRY(_pthread_attr_setscope)}, /* PJT_ATTR_SETSCOPE */ + {DUAL_ENTRY(_pthread_cancel)}, /* PJT_CANCEL */ + {DUAL_ENTRY(_pthread_cleanup_pop)}, /* PJT_CLEANUP_POP */ + {DUAL_ENTRY(_pthread_cleanup_push)}, /* PJT_CLEANUP_PUSH */ + {DUAL_ENTRY(_pthread_cond_timedwait)}, /* PJT_COND_TIMEDWAIT */ + {DUAL_ENTRY(_pthread_detach)}, /* PJT_DETACH */ + {DUAL_ENTRY(_pthread_equal)}, /* PJT_EQUAL */ + {DUAL_ENTRY(_pthread_exit)}, /* PJT_EXIT */ + {DUAL_ENTRY(_pthread_join)}, /* PJT_JOIN */ + {DUAL_ENTRY(_pthread_kill)}, /* PJT_KILL */ + {DUAL_ENTRY(_pthread_setcancelstate)}, /* PJT_SETCANCELSTATE */ + {DUAL_ENTRY(_pthread_setcanceltype)}, /* PJT_SETCANCELTYPE */ + {DUAL_ENTRY(_pthread_testcancel)} /* PJT_TESTCANCEL */ }; static int init_once = 0; Index: libthr/thread/thr_init.c =================================================================== RCS file: /home/ncvs/src/lib/libthr/thread/thr_init.c,v retrieving revision 1.29 diff -u -r1.29 thr_init.c --- libthr/thread/thr_init.c 15 Feb 2006 23:05:03 -0000 1.29 +++ libthr/thread/thr_init.c 2 Mar 2006 05:53:59 -0000 @@ -228,7 +228,39 @@ {DUAL_ENTRY(_pthread_rwlock_wrlock)}, /* PJT_RWLOCK_WRLOCK */ {DUAL_ENTRY(_pthread_self)}, /* PJT_SELF */ {DUAL_ENTRY(_pthread_setspecific)}, /* PJT_SETSPECIFIC */ - {DUAL_ENTRY(_pthread_sigmask)} /* PJT_SIGMASK */ + {DUAL_ENTRY(_pthread_sigmask)}, /* PJT_SIGMASK */ + + {DUAL_ENTRY(_pthread_atfork)}, /* PJT_ATFORK */ + {DUAL_ENTRY(_pthread_attr_destroy)}, /* PJT_ATTR_DESTROY */ + {DUAL_ENTRY(_pthread_attr_getdetachstate)}, /* PJT_ATTR_GETDETACHSTATE */ + {DUAL_ENTRY(_pthread_attr_getguardsize)}, /* PJT_ATTR_GETGUARDSIZE */ + {DUAL_ENTRY(_pthread_attr_getstackaddr)}, /* PJT_ATTR_GETSTACKADDR */ + {DUAL_ENTRY(_pthread_attr_getstacksize)}, /* PJT_ATTR_GETSTACKSIZE */ + {DUAL_ENTRY(_pthread_attr_getinheritsched)}, /* PJT_ATTR_GETINHERITSCHED */ + {DUAL_ENTRY(_pthread_attr_getschedparam)}, /* PJT_ATTR_GETSCHEDPARAM */ + {DUAL_ENTRY(_pthread_attr_getschedpolicy)}, /* PJT_ATTR_GETSCHEDPOLICY */ + {DUAL_ENTRY(_pthread_attr_getscope)}, /* PJT_ATTR_GETSCOPE */ + {DUAL_ENTRY(_pthread_attr_init)}, /* PJT_ATTR_INIT */ + {DUAL_ENTRY(_pthread_attr_setdetachstate)}, /* PJT_ATTR_SETDETACHSTATE */ + {DUAL_ENTRY(_pthread_attr_setguardsize)}, /* PJT_ATTR_SETGUARDSIZE */ + {DUAL_ENTRY(_pthread_attr_setstackaddr)}, /* PJT_ATTR_SETSTACKADDR */ + {DUAL_ENTRY(_pthread_attr_setstacksize)}, /* PJT_ATTR_SETSTACKSIZE */ + {DUAL_ENTRY(_pthread_attr_setinheritsched)}, /* PJT_ATTR_SETINHERITSCHED */ + {DUAL_ENTRY(_pthread_attr_setschedparam)}, /* PJT_ATTR_SETSCHEDPARAM */ + {DUAL_ENTRY(_pthread_attr_setschedpolicy)}, /* PJT_ATTR_SETSCHEDPOLICY */ + {DUAL_ENTRY(_pthread_attr_setscope)}, /* PJT_ATTR_SETSCOPE */ + {DUAL_ENTRY(_pthread_cancel)}, /* PJT_CANCEL */ + {DUAL_ENTRY(_pthread_cleanup_pop)}, /* PJT_CLEANUP_POP */ + {DUAL_ENTRY(_pthread_cleanup_push)}, /* PJT_CLEANUP_PUSH */ + {DUAL_ENTRY(_pthread_cond_timedwait)}, /* PJT_COND_TIMEDWAIT */ + {DUAL_ENTRY(_pthread_detach)}, /* PJT_DETACH */ + {DUAL_ENTRY(_pthread_equal)}, /* PJT_EQUAL */ + {DUAL_ENTRY(_pthread_exit)}, /* PJT_EXIT */ + {DUAL_ENTRY(_pthread_join)}, /* PJT_JOIN */ + {DUAL_ENTRY(_pthread_kill)}, /* PJT_KILL */ + {DUAL_ENTRY(_pthread_setcancelstate)}, /* PJT_SETCANCELSTATE */ + {DUAL_ENTRY(_pthread_setcanceltype)}, /* PJT_SETCANCELTYPE */ + {DUAL_ENTRY(_pthread_testcancel)} /* PJT_TESTCANCEL */ }; static int init_once = 0;