summaryrefslogtreecommitdiffstats
path: root/lib/libc/hidden/pthread.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Mark pthread_equal() as unused inside libcguenther2018-03-311-1/+2
|
* Revert recent changes to unbreak ports/net/sambajca2017-11-041-3/+1
| | | | | | | | While it is not clear (to me) why that ports ends up with corrupted shared libs, reverting those changes fixes the issue and should allow us to close p2k17 more smoothly. Discussed with a bunch, ok ajacoutot@ guenther@
* Change pthread_cleanup_{push,pop} to macros that store the cleanup infoguenther2017-10-281-1/+3
| | | | | | | | | | | | | | on the stack instead of mallocing the list and move the APIs from libpthread to libc so that they can be used inside libc. Note: the standard was explicitly written to permit/support this "macro with unmatched brace" style and it's what basically everyone else already does. We xor the info with random cookies with a random magic to detect/trip-up overwrites. Major bump to both libc and libpthread due to the API move. ok mpi@
* Move mutex, condvar, and thread-specific data routes, pthread_once, andguenther2017-09-051-2/+25
| | | | | | | | pthread_exit from libpthread to libc, along with low-level bits to support them. Major bump to both libc and libpthread. Requested by libressl team. Ports testing by naddy@ ok kettenis@
* libc.so can't be unloaded, so move the hidden atexit() and pthread_atfork()guenther2015-11-101-0/+25
stubs for the executable from crtbegin.o into libc, which lets them be excluded from static links that don't use them. For this, drop the normal crt{begin,end}S.o from libc.so: the .init and .fini sections for libc aren't called at the right times anyway, so it's good that they're unused. libc.so just needs __guard_local and the .note.openbsd.ident section, so add them to stack_protector.c for now (this will be improved) "good time" deraadt@