History log of /src/lib/libpthread/Makefile
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
# 1.103 23-Nov-2025 riastradh

libpthread: Link with -Wl,-z,nodelete.

Can't safely unload libpthread because of the interaction with libc
thread stubs.

PR lib/59784: dlopening and dlclosing libpthread is broken


# 1.102 27-Oct-2025 christos

revert previous; needs more discussion/testing.


# 1.101 26-Oct-2025 christos

Make pthread_setname_np variadic for compatibility with FreeBSD and GLIBC.
Bump.


Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
# 1.100 07-Apr-2025 rillig

branches: 1.100.2;
libpthread: fix lint build


# 1.99 22-Nov-2024 riastradh

libpthread: Fix expected symbols on alpha and hppa.

These have PTHREAD__ASM_RASOPS and define a different subset of
symbols which get exported. None of these pthread__ras_* and
pthread__lock_* symbols _should_ be exported but we can fix that in a
future revbump.

PR lib/58838: shared libraries in base should all have expsym lists


Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
# 1.98 14-Sep-2023 rin

branches: 1.98.2;
libpthread/Makefile: trailing whitespace


# 1.97 14-Jul-2023 lukem

fix rump URLs

Link to https://github.com/rumpkernel/ instead of
a site now taken over by an SEO squatter.

Per discussion on github.com/rumpkernel issues with pooka.

PR misc/57501


Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base phil-wifi-20200421 phil-wifi-20200411 is-mlppp-base phil-wifi-20200406 phil-wifi-20191119
# 1.96 11-Nov-2019 joerg

branches: 1.96.8;
Update LLVM to 10.0.0git (01f3a59fb3e2542fce74c768718f594d0debd0da)


# 1.95 22-Sep-2019 brad

Add USE_SHLIBDIR=yes to a number of Makefiles for the libraries used
by /sbin/{zfs,zpool,mount_zfs}. The general effect is to move them
from /usr/lib to /lib. Compatibility links are installed in /usr/lib
and nothing that is installed, say in /usr/pkg, appears to break.

With this, it is possible to have a /var and /usr mount using ZFS
legacy mounting early on in the boot process.

Run tested on amd64 and i386 and compile tested on evbarm.


Revision tags: netbsd-9-base phil-wifi-20190609
# 1.94 07-May-2019 maya

branches: 1.94.2;
Make CLEANFILES actually work. .TARGET is not defined when not in a target
rule.

Thanks xtos for the heads up.


# 1.93 07-May-2019 maya

Replace the link command for libpthread.a so that we create a single section
with all the libpthread symbols in it.
This makes -lpthread behave like to -Wl,--whole-archive -lpthread.

This avoids a situation where threaded static binaries use some libc thread
stubs, which are racy.

Fixes PR lib/54001: call_once2_32, call_once2_static test cases failing on
amd64 since gcc7 import.

Suggested by Jonathan Wakely, thanks!


# 1.92 24-Apr-2019 kamil

Add a complete C11 threads(3) implementation

C11 Thread support library is a portable threading C API between OSs,
similar to std::threads in the C++ world.

The library is implemented as a thin shim over POSIX interfaces.

NetBSD implements the API as a part of the POSIX threading library
(libpthread(3)).

C11 threads(3) are in the process of making them an integral part
of the POSIX standard. The interface has been implemented in major
OSs and used with stopgap libraries for older versions of them.

C11 threading library is already used (with a stopgap implementation)
in the NetBSD distribution in MESA.

Original implementation by myself from 2016.

ATF tests are new and cover almost all interfaces.

Proposed on tech-userlevel@.


# 1.91 03-Feb-2019 thorpej

Implement support for "pshared" POSIX semaphores.

Fixes lib/53273 (and Firefox's multi-process tab feature).


Revision tags: pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625
# 1.90 09-Jun-2018 christos

branches: 1.90.2;
But set NOSANITIZER


# 1.89 09-Jun-2018 christos

We can't build those three with MKSANITIZER, they are used too early.


Revision tags: pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
# 1.88 25-Feb-2018 chs

branches: 1.88.2;
remove hard-coded -fomit-frame-pointer for pthread stuff,
let these use the same setting as the rest of the tree.
the performance difference is marginal and this allows
dtrace ustack() to work better.


Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 pgoyette-localcount-20170320 bouyer-socketcan-base pgoyette-localcount-20170107 pgoyette-localcount-20161104 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
# 1.87 03-Jul-2016 christos

GSoC 2016 Charles Cui: Implement thread priority protection based on work
by Andy Doran. Also document the get/set pshared thread calls as not
implemented, and add a skeleton implementation that is disabled.
XXX: document _sched_protect(2).


# 1.86 23-Apr-2016 christos

Add pthread_getcpuclockid(3)


# 1.85 16-Dec-2014 pooka

Allow for arbitrary MI scheduler implementations.

A concrete result is enabling unpatched libpthread to run on the
rumprun stacks (e.g. Xen and bare metal) with a non-NetBSD scheduler.
Those schedulers hook into the existing _lwp_frobnitz() NetBSD syscall
interfaces (well, "syscall" interfaces in that scenario ;)

More specifically about the change itself:

1) instead of calling _lwp_makecontext() followed by _lwp_create()
and passing the entry point in ucontext_t (MD) through the calls, roll
the calls into pthread__makelwp() and allow alternate implementations
for that MI interface.

2) allow compile-time overriding of __lwp_gettcb_fast() or
__lwp_getprivate_fast, which are inline and leak MD scheduler/thread
details into libpthread


Additionally, two small nits:

I) define LIB=pthread before including mk.conf so that it's possible
to test for LIB==pthread in mk.conf

II) make it possible to leave out pthread_cancelstub.c. This is required
by the current implementation of rumprun-posix (i.e. rumprun on
POSIX hosts) due to symbol collisions. It needs to be fixed properly
some day, but for now allows an almost-correct libpthread to run.
I am sure @justin will be happy to explain the details ;)


no change to NetBSD
tested: anita+atf


Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 netbsd-7-base tls-maxphys-base
# 1.84 10-Aug-2014 matt

MKCOMPAT fixes for when compat MACHINE_CPU != normal MACHINE_CPU


Revision tags: yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3
# 1.83 09-Oct-2013 matt

Use MACHINE_CPU for m68k. Use similar logic for both tests.


# 1.82 15-Aug-2013 matt

Add support for an optional ARCHSUBDIR/Makefile.inc


# 1.81 12-Aug-2013 joerg

Some architectures can't create unwind tables without the frame pointer,
so don't use -fomit-frame-pointer on those.


Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base
# 1.80 21-Mar-2013 christos

- Allow libpthread to be dlopened again, by providing libc stubs to libpthread.
- Fail if the dlopened libpthread does pthread_create(). From manu@
- Discussed at length in the mailing lists; approved by core@
- This was chosen as the least intrusive patch that will provide
the necessary functionality.
XXX: pullup to 6


# 1.79 25-Feb-2013 apb

Explain what PTHREAD__COMPAT is for. This comment in
src/libpthread/Makefile is adated from a comment in
src/doc/CHANGES.prev.


# 1.78 31-Jan-2013 riastradh

Add pthread_condattr_setclock(3) man page link.


Revision tags: yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
# 1.77 04-Aug-2012 matt

branches: 1.77.2;
-Wfoo goes into CWARNFLAGS


Revision tags: yamt-pagecache-base5 yamt-pagecache-base4
# 1.76 04-Apr-2012 joerg

Disable new -Wstring-plus-int warning where needed for now.
Adjust various places that add GCC-only options to check for the active
compiler first.


# 1.75 21-Mar-2012 matt

These directories default to WARNS?=5


# 1.74 12-Mar-2012 joerg

Move pthread_once implementation into a separate file, it doesn't depend
on the mutex implementation in any way.


Revision tags: netbsd-6-0-6-RELEASE netbsd-6-0-5-RELEASE netbsd-6-0-4-RELEASE netbsd-6-0-3-RELEASE netbsd-6-0-2-RELEASE netbsd-6-1-RC3 netbsd-6-1-RC2 netbsd-6-1-RC1 netbsd-6-0-1-RELEASE matt-nb6-plus-nbase netbsd-6-0-RELEASE netbsd-6-0-RC2 matt-nb6-plus-base netbsd-6-0-RC1 netbsd-6-base
# 1.73 10-Nov-2011 yamt

branches: 1.73.2;
document pthread_curcpu_np


Revision tags: yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base
# 1.72 16-Aug-2011 christos

branches: 1.72.2;
document non-literal format strings


Revision tags: cherry-xenmp-base bouyer-quota2-nbase bouyer-quota2-base matt-mips64-premerge-20101231
# 1.71 24-Dec-2010 skrll

Add support for DF_1_BIND_NOW, DF_1_NODELETE and DF_1_NOOPEN marked
objects, and the RTLD_NODELETE and RTLD_NOLOAD flags to dlopen(3).

Mark libpthread as DF_1_NOOPEN and use it to test the functionality.

Somewhat taken from FreeBSD.

Fixes PR 42029.

OK from christos and joerg.


# 1.70 06-Aug-2010 christos

document pthread_getattr_np


# 1.69 09-Jul-2010 jruoho

Rationalize by moving

pthread_key_delete(3) to pthread_key_create(3); and
pthread_setspecific(3) to pthread_getspecific(3)


# 1.68 09-Jul-2010 jruoho

Rationalize by moving

pthread_attr_setname_np(3) to pthread_attr_getname_np(3); and
pthread_setname_np(3) to pthread_getname_np(3).


# 1.67 08-Jul-2010 jruoho

Group also pthread_attr_getschedparam(3) and pthread_attr_getschedpolicy(3),
as these two pages fit well together.


# 1.66 08-Jul-2010 rmind

Merge/group man pages:
- pthread_barrier_{init,destroy,wait} into pthread_barrier(3).
- pthread_cond_* into pthread_cond(3).
- pthread_mutex_* into pthread_mutex(3).
- pthread_rwlock_* into pthread_rwlock(3).
- pthread_spin_* into pthread_spin(3).
Cross-link amongst groups.
OK jruoho@


# 1.65 07-Jul-2010 jruoho

Finally, split pthread_attr_getschedpolicy() and pthread_attr_setschedpolicy()
to their own page.


# 1.64 07-Jul-2010 jruoho

Split pthread_attr_getschedparam() and pthread_attr_setschedparam() to a
separate page.


# 1.63 07-Jul-2010 jruoho

Split pthread_attr_getinheritsched() and pthread_attr_setinheritsched() to a
separate page, and actually document these.


# 1.62 07-Jul-2010 jruoho

Move pthread_attr_getguardsize() and pthread_attr_setguardsize() to a
separate page, and actually document these.


# 1.61 07-Jul-2010 jruoho

Move the thread stack attribute functions to a separate page. In addition,
document pthread_attr_getstack() and pthread_attr_setstack(). Try to also
document these a little better (in particular, note some items in the long
list of caveats and questions related to application-controlled thread stack).


# 1.60 07-Jul-2010 jruoho

Split pthread_attr_getdetachstate(3) and pthread_attr_setdetachstate(3) to a
separate page. Once ready, the main page, pthread_attr(3), will contain a
summary of the various thread attribute functions.


# 1.59 07-Jul-2010 jruoho

Move pthread_attr_{g,s}etscope() to a separate page and try to document
these better. Should fix PR lib/41831 from Wolfgang Stukenbrock.

XXX: Please proofread.


# 1.58 06-Jul-2010 jruoho

Document pthread_attr_get_np(). Fixes PR lib/39289 from ahoka@.


# 1.57 19-May-2010 jruoho

Build links for rest of the pthread_attr(3) functions.
Hopefully I got all of them right in the setlist...


Revision tags: matt-premerge-20091211
# 1.56 16-May-2009 ad

Remove unused code that's confusing when using cscope/opengrok.


Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE jym-xensuspend-nbase netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 jym-xensuspend-base netbsd-5-0-RC1 christos-time_t-nbase christos-time_t-base netbsd-5-base
# 1.55 26-Oct-2008 mrg

branches: 1.55.4;
check for ${PTHREAD_MACHINE_ARCH} before ${MACHINE_ARCH} or ${MACHINE_CPU}


Revision tags: matt-mips64-base2
# 1.54 08-Oct-2008 ad

Adjust the compat stuff slightly so that the changes are mostly self
contained (Makefile, pthread_compat.c).


# 1.53 29-Sep-2008 ad

make PTHREAD__COMPAT=1

Builds a libpthread that can be dropped into a NetBSD 2/3/4 chroot.

This makes threading work in the chroot when using a NetBSD 5 kernel, no
other modifications required.


Revision tags: wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 yamt-pf42-base4 wrstuden-revivesa-base
# 1.52 16-Jun-2008 rmind

- Add affinity(3) manual page, which describes thread affinity,
pthread_setaffinity_np(3) and pthread_getaffinity_np(3) functions,
provides simple code example.
- Add cpuset(3) manual page, which describes API of CPU-sets.

Thanks <wiz> for many improvements!


Revision tags: yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-baseX yamt-pf42-base2 yamt-pf42-base keiichi-mipv6-base matt-armv6-nbase
# 1.51 10-Mar-2008 rmind

branches: 1.51.2; 1.51.4;
Add sched(3) manual page, and appropriate links.
Thanks <wiz> for review and fixes!


Revision tags: hpcarm-cleanup-base
# 1.50 10-Feb-2008 ad

branches: 1.50.2;
- Remove libpthread's atomic ops.
- Remove the old spinlock-based mutex and rwlock implementations.
- Use the atomic ops from libc.


# 1.49 15-Jan-2008 rmind

Implementation of processor-sets, affinity and POSIX real-time extensions.
Add schedctl(8) - a program to control scheduling of processes and threads.

Notes:
- This is supported only by SCHED_M2;
- Migration of LWP mechanism will be revisited;

Proposed on: <tech-kern>. Reviewed by: <ad>.


Revision tags: matt-armv6-base
# 1.48 14-Dec-2007 yamt

document following functions.
pthread_attr_getname_np
pthread_attr_setname_np
pthread_getname_np
pthread_setname_np


Revision tags: cube-autoconf-base
# 1.47 19-Nov-2007 ad

Remove the debuglog stuff. ktrace is more useful now.


# 1.46 13-Nov-2007 ad

Mutexes:

- Play scrooge again and chop more cycles off acquire/release.
- Spin while the lock holder is running on another CPU (adaptive mutexes).
- Do non-atomic release.

Threadreg:

- Add the necessary hooks to use a thread register.
- Add the code for i386, using %gs.
- Leave i386 code disabled until xen and COMPAT_NETBSD32 have the changes.


# 1.45 13-Oct-2007 jnemeth

SSP doesn't like alloca...


# 1.44 04-Oct-2007 ad

Compile pthread_getspecific / pthread_setspecific with -fomit-frame-pointer
-falign-functions=32, since these two really get hammered on. To make them
faster needs a threadreg or TLS, unless there is a way to tell gcc that a
library-local (pthread__threadmask) variable does not need to be PIC.


Revision tags: nick-csl-alignment-base5
# 1.43 07-Sep-2007 ad

- Don't take the mutex's spinlock (ptr_interlock) in pthread_cond_wait().
Instead, make the deferred wakeup list a per-thread array and pass down
the lwpid_t's that way.

- In pthread_cond_wait(), take the mutex before dealing with early wakeup.
In this way there should never be contention on the CV's spinlock if
the app follows POSIX rules (there should only be contention on the
user-provided mutex).

- Add a port of the kernel's rwlocks. The rwlock's spinlock is only taken if
there is contention. This is enabled where atomic ops are available. Right
now that is only i386 and amd64 because I don't have other hardware to
test with. It's trivial to add stubs for other architectures as long as
they have compare-and-swap. When we have proper atomic ops the old rwlock
code can be removed.

- Add a new mutex implementation that's similar to the kernel's mutexes, but
uses compare-and-swap to maintain the waiters list, so no spinlocks are
involved. Same caveats apply as for the rwlocks.


Revision tags: nick-csl-alignment-base4 nick-csl-alignment-base3
# 1.42 16-Aug-2007 ad

branches: 1.42.2;
Trim fat off libpthread internal spinlock operations. Makes a mesurable
improvement across the board.


# 1.41 16-Aug-2007 ad

Remove PT_FIXEDSTACKSIZE_LG.


Revision tags: nick-csl-alignment-base2 matt-mips64-base nick-csl-alignment-base
# 1.40 02-Mar-2007 ad

branches: 1.40.2;
Remove the PTHREAD_SA option. If M:N threads is reimplemented it's
better off done with a seperate library.


# 1.39 09-Feb-2007 ad

Sync with kernel changes introduced by merging the newlock2 branch.


# 1.38 20-Jan-2007 christos

set warns to 4


# 1.37 24-Dec-2006 ad

Fix bugs with and improve upon previous.


# 1.36 23-Dec-2006 ad

Conditionalised support for 1:1 threads. Needs associated kernel changes
and more work to be useful.


Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base abandoned-netbsd-4-base netbsd-4-base
# 1.35 13-Dec-2005 christos

include libc after our own files to fix ports that have 2 assym.h's. One
in pthread and one in libc.


# 1.34 13-Sep-2005 christos

XXX: Work around libpthread's "intimate" connection with libc.


# 1.33 17-Jun-2005 peter

Create links for pthread_attr_setschedparam.3
and pthread_attr_getschedparam.3 to pthread_attr.3.

From Igor Sobrado in PR/29997.


# 1.32 17-Jun-2005 peter

Don't create links to pthread_barierattr_init.3 and
pthread_barierattr_destroy.3 but to pthread_barrierattr_init.3
and pthread_barrierattr_destroy.3 (note the 2 rs in barrier).


# 1.31 30-May-2005 thorpej

Use TOOL_GENASSYM. Part of PR toolchain/30350


Revision tags: netbsd-3-base
# 1.30 03-Feb-2005 christos

branches: 1.30.2;
Add charles' mlock fixes, protected with PTHREAD_MLOCK_KLUDGE and enabled
by default, until we come up with a real fix.


# 1.29 14-Dec-2004 yamt

document sched_yield.


# 1.28 10-Dec-2004 nathanw

Use CPP macros to cause many libpthread functions used by applications
to be transformed into the do-nothing-when-libpthread-isn't-linked libc
stub names. This will permit library code that uses <pthread.h> and pthread
functions "defensively" to not need to link against libpthread and not need
to be patched to the threadlib.h API.


# 1.27 02-Jun-2004 pooka

pthread_spin_lock.3 also describes pthread_spin_trylock(),
so link them together


# 1.26 21-May-2004 christos

add pool code for res state.
XXX: could be more efficient.


Revision tags: netbsd-2-0-3-RELEASE netbsd-2-0-2-RELEASE netbsd-2-0-1-RELEASE netbsd-2-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base
# 1.25 02-Jan-2004 lukem

branches: 1.25.4;
Add dependencies to assym.h on:
pthread.h pthread_int.h pthread_md.h
Should help prevent the problem I raised in [kern/23946], based on
a hint from Christian Limpach.

Add MAKEVERBOSE support.


# 1.24 27-Nov-2003 cl

Set default stack size to the current limit on the stack size as set
with the shell's command to change limits. Make the PTHREAD_STACKSIZE
environment variable override the default stack size. The old fixed
stack size behaviour can be enable with PT_FIXEDSTACKSIZE_LG when building
libpthread.


# 1.23 12-Nov-2003 christos

Document pthread_attr_setcreatesuspend_np, pthread_suspend_np, pthread_resume_np


# 1.22 26-Oct-2003 lukem

Use ${HOST_SH} instead of `sh'.

If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.


# 1.21 13-Aug-2003 nathanw

Split out pthread_{set,get}specific() into a separate file and arrange
for that file to not be built with profiling. This makes it reasonable to
use pthread_{set,get}specific() to implement thread-safe profiline call counts.


# 1.20 01-Aug-2003 lukem

Rework how dependency generation is performed:

* DPSRCS contains extra dependencies, but is _NOT_ added to CLEANFILES.
This is a change of behaviour. If a Makefile wants the clean semantics
it must specifically append to CLEANFILES.
Resolves PR toolchain/5204.

* To recap: .d (depend) files are generated for all files in SRCS and DPSRCS
that have a suffix of: .c .m .s .S .C .cc .cpp .cxx

* If YHEADER is set, automatically add the .y->.h to DPSRCS & CLEANFILES

* Ensure that ${OBJS} ${POBJS} ${LOBJS} ${SOBJS} *.d depend upon ${DPSRCS}

* Deprecate the (short lived) DEPENDSRCS


Update the various Makefiles to these new semantics; generally either
adding to CLEANFILES (because DPSRCS doesn't do that anymore), or replacing
specific .o dependencies with DPSRCS entries.

Tested with "make -j 8 distribution" and "make distribution".


# 1.19 24-Jul-2003 wiz

Add pthread(3), based on one by Hubert Feyrer, improved by yours truly,
reviewed by Nathan J. Williams.


# 1.18 18-Jul-2003 nathanw

pthread.c was getting a bit unwieldly. Move pthread_attr stuff out
into a new file, and put the shared private structure definition in
pthread_int.h.


# 1.17 03-Jun-2003 nathanw

Make infrastructure for man pages.


# 1.16 10-Mar-2003 nathanw

Re-enable nanosleep(); kernel bug is squished (kern_time.c:1.67).


# 1.15 28-Feb-2003 nathanw

Disable userlevel nanosleep() until I find the timer/alarm bug that it
is tickling.


# 1.14 15-Feb-2003 nathanw

Implement nanosleep() at userlevel. Threaded applications seem to like
to sleep a lot, and there's no need for each such thread to consume kernel
resources.

(accidentally checked the pthread.c part of this in yesterday; no reason
not to finish the job)


# 1.13 24-Jan-2003 thorpej

p1003.1b semaphore manual pages have been moved to librt.


# 1.12 21-Jan-2003 christos

add manual pages.


# 1.11 20-Jan-2003 christos

add support for p1003.1b semaphores. From FreeBSD


# 1.10 19-Jan-2003 thorpej

Always allow includes to be installed. This makes it easier for
people to get straggling ports bootstrapped (pthread.h is required
in order to build libc).


# 1.9 18-Jan-2003 thorpej

Merge the nathanw_sa branch.


Revision tags: nathanw_sa_before_merge
# 1.8 08-Oct-1997 scottr

branches: 1.8.2;
This incarnation of the pthreads library is ancient and not useful, and
should have been mothballed some time ago...


Revision tags: netbsd-1-2-PATCH001 netbsd-1-2-RELEASE netbsd-1-2-BETA netbsd-1-2-base netbsd-1-1-PATCH001 netbsd-1-1-RELEASE netbsd-1-1-base netbsd-1-0-PATCH06 netbsd-1-0-PATCH05 netbsd-1-0-PATCH04 netbsd-1-0-PATCH03 netbsd-1-0-PATCH02 netbsd-1-0-PATCH1 netbsd-1-0-PATCH0 netbsd-1-0-RELEASE netbsd-1-0-base
# 1.7 07-Feb-1994 proven

The latest pthread library.


# 1.6 22-Nov-1993 proven

Fix for older shells that can't handle then;


# 1.5 16-Nov-1993 proven

Added NOPIC flag.


# 1.4 15-Nov-1993 cgd

correct my bad advice


# 1.3 15-Nov-1993 proven

OK one more try at getting it right ...


# 1.2 15-Nov-1993 proven

Makefile needed a preall to make a few links before compiling sources.
CVS doesn't check in symlinks.


# 1.1 14-Nov-1993 proven

branches: 1.1.1;
Initial revision