freebsd-dev/lib/libthr/thread
Konstantin Belousov 3638455c92 Avoid conflicts with libc symbols in libthr jump table.
In some corner cases of static linking and unexpected libraries order
on the linker command line, libc symbol might preempt the same libthr
symbol, in which case libthr jump table points back to libc causing
either infinite recursion or loop.  Handle all of such symbols by
using private libthr names for them, ensuring that the right pointers
are installed into the table.

In collaboration with: arichardson
PR:	239475
Tested by:	pho
MFC after:	2 weeks
Sponsored by:	The FreeBSD Foundation
Differential revision:	https://reviews.freebsd.org/D21088
2019-07-31 20:04:39 +00:00
..
Makefile.inc Untangle jemalloc and mutexes initialization. 2019-01-29 22:46:44 +00:00
thr_affinity.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_attr.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_autoinit.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
thr_barrier.c POSIX compliance improvements in the pthread(3) functions. 2018-08-18 01:05:38 +00:00
thr_barrierattr.c POSIX compliance improvements in the pthread(3) functions. 2018-08-18 01:05:38 +00:00
thr_cancel.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_clean.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_concurrency.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
thr_cond.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_condattr.c POSIX compliance improvements in the pthread(3) functions. 2018-08-18 01:05:38 +00:00
thr_create.c _thr_setthreaded() cannot fail; change return type to void 2018-11-30 03:01:32 +00:00
thr_ctrdtr.c
thr_detach.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_equal.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_event.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_exit.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_fork.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_getcpuclockid.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_getprio.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_getschedparam.c POSIX compliance improvements in the pthread(3) functions. 2018-08-18 01:05:38 +00:00
thr_getthreadid_np.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_info.c Restore ability to pass NULL name argument to pthread_set_name_np(3) 2019-07-11 16:19:33 +00:00
thr_init.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_join.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_kern.c _thr_setthreaded() cannot fail; change return type to void 2018-11-30 03:01:32 +00:00
thr_kill.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_list.c Fix initial exec TLS mode for dynamically loaded shared objects. 2019-03-29 17:52:57 +00:00
thr_main_np.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_malloc.c Fixes for very early use of the pthread_mutex_* and libthr malloc. 2019-02-04 21:16:15 +00:00
thr_multi_np.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_mutex.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_mutexattr.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_once.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_printf.c libthr: Fix missing break in switch. 2018-01-27 22:27:55 +00:00
thr_private.h Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 20:04:39 +00:00
thr_pshared.c Lock pshared_lock shared around fork, to ensure that the COW snapshot 2016-03-21 06:52:35 +00:00
thr_pspinlock.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_resume_np.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_rtld.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_rwlock.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_rwlockattr.c POSIX compliance improvements in the pthread(3) functions. 2018-08-18 01:05:38 +00:00
thr_self.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_sem.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_setprio.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_setschedparam.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
thr_sig.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_single_np.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_sleepq.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_spec.c Avoid conflicts with libc symbols in libthr jump table. 2019-07-31 19:27:20 +00:00
thr_spinlock.c Use _thr_isthreaded() and _thr_setthreaded() wrappers 2018-11-30 03:02:49 +00:00
thr_stack.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_suspend_np.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_switch_np.c spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
thr_symbols.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_syscalls.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00
thr_umtx.c lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_umtx.h lib: further adoption of SPDX licensing ID tags. 2017-11-26 02:00:33 +00:00
thr_yield.c General further adoption of SPDX licensing ID tags. 2017-11-20 19:49:47 +00:00