01d7ebdd80
pthread types in C++ builds, attempt 2. The problem with attempt 1 was making assumptions of what the MD __cpu_simple_lock_t (declared volatile) looks like. To get a same type except non-volatile, we change the MD type to __cpu_simple_lock_nv_t and typedef __cpu_simple_lock_t as a volatile __cpu_simple_lock_nv_t. IMO, __cpu_simple_lock_t should not be volatile at all, but changing it now is too risky. Fixes at least Rumprun w/ gcc 5.1/5.2. Furthermore, the mpd application (and possibly others) will no longer require NetBSD-specific patches. Tested: build.sh for i386, Rumprun for x86_64 w/ gcc 5.2. Based on the patch from Christos in lib/49989. |
||
---|---|---|
.. | ||
arch | ||
Makefile | ||
README | ||
TODO | ||
affinity.3 | ||
pthread.3 | ||
pthread.c | ||
pthread.h | ||
pthread_attr.3 | ||
pthread_attr.c | ||
pthread_attr_get_np.3 | ||
pthread_attr_getdetachstate.3 | ||
pthread_attr_getguardsize.3 | ||
pthread_attr_getinheritsched.3 | ||
pthread_attr_getname_np.3 | ||
pthread_attr_getschedparam.3 | ||
pthread_attr_getscope.3 | ||
pthread_attr_getstack.3 | ||
pthread_attr_setcreatesuspend_np.3 | ||
pthread_barrier.3 | ||
pthread_barrier.c | ||
pthread_barrierattr.3 | ||
pthread_cancel.3 | ||
pthread_cancelstub.c | ||
pthread_cleanup_push.3 | ||
pthread_compat.c | ||
pthread_cond.3 | ||
pthread_cond.c | ||
pthread_condattr.3 | ||
pthread_create.3 | ||
pthread_curcpu_np.3 | ||
pthread_detach.3 | ||
pthread_equal.3 | ||
pthread_exit.3 | ||
pthread_getname_np.3 | ||
pthread_getspecific.3 | ||
pthread_int.h | ||
pthread_join.3 | ||
pthread_key_create.3 | ||
pthread_kill.3 | ||
pthread_lock.c | ||
pthread_makelwp.h | ||
pthread_makelwp_netbsd.c | ||
pthread_misc.c | ||
pthread_mutex.3 | ||
pthread_mutex.c | ||
pthread_mutexattr.3 | ||
pthread_once.3 | ||
pthread_once.c | ||
pthread_queue.h | ||
pthread_rwlock.3 | ||
pthread_rwlock.c | ||
pthread_rwlockattr.3 | ||
pthread_schedparam.3 | ||
pthread_self.3 | ||
pthread_sigmask.3 | ||
pthread_specific.c | ||
pthread_spin.3 | ||
pthread_spin.c | ||
pthread_suspend_np.3 | ||
pthread_testcancel.3 | ||
pthread_tsd.c | ||
pthread_types.h | ||
res_state.c | ||
sem.c | ||
shlib_version |
README
$NetBSD: README,v 1.6 2009/04/16 18:37:30 wiz Exp $ When making changes to libpthread, please ensure that libpthread_dbg still compiles. Due to limitations in the current pthread implementation, makecontext(3) and sigaltstack(2) should not be used in programs which link against libpthread (whether threads are used or not). This has been noted in the makecontext(3), sigaltstack(2), and pthread(3) man pages.