NetBSD/lib/libpthread
pooka 01d7ebdd80 Fix PTHREAD_FOO_INITIALIZER for C++ by not using volatile in the relevant
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.
2015-08-27 12:30:50 +00:00
..
arch Dummy ia64 support 2015-04-17 13:14:19 +00:00
Makefile Allow for arbitrary MI scheduler implementations. 2014-12-16 20:05:54 +00:00
README
TODO
affinity.3
pthread.3
pthread.c Fix previous: Can't use calloc/malloc before we complete initialization 2015-05-29 16:05:13 +00:00
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 s/inherited/inherit/ 2013-05-10 21:06:14 +00:00
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 typo 2014-03-12 07:32:46 +00:00
pthread_cancelstub.c
pthread_cleanup_push.3
pthread_compat.c remove compatibility code for handling CLOCK_MONOTONIC and handle it in the 2014-01-31 20:44:01 +00:00
pthread_cond.3
pthread_cond.c remove compatibility code for handling CLOCK_MONOTONIC and handle it in the 2014-01-31 20:44:01 +00:00
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 Fix previous: Can't use calloc/malloc before we complete initialization 2015-05-29 16:05:13 +00:00
pthread_join.3
pthread_key_create.3 Bump date for previous. 2015-05-29 18:00:51 +00:00
pthread_kill.3
pthread_lock.c
pthread_makelwp.h Allow for arbitrary MI scheduler implementations. 2014-12-16 20:05:54 +00:00
pthread_makelwp_netbsd.c include correct header for "last minute just-in-case defensive addition 2014-12-17 01:49:08 +00:00
pthread_misc.c
pthread_mutex.3
pthread_mutex.c pthread__mutex_lock_slow: fix the handling of a potential race with the 2014-02-03 15:51:01 +00:00
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 Merge riastradh-drm2 to HEAD. 2014-03-18 18:20:35 +00:00
pthread_tsd.c Revert 1.14 now that the arduous task of fixing rumphijack to allow 2015-08-25 13:46:23 +00:00
pthread_types.h Fix PTHREAD_FOO_INITIALIZER for C++ by not using volatile in the relevant 2015-08-27 12:30:50 +00:00
res_state.c
sem.c
shlib_version bump for pthread_cond_setclock 2013-04-03 15:45:21 +00:00

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.