1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-11-21 07:15:49 +00:00
freebsd/lib
Kyle Evans 4b202f4faf libthr: allow very early atfork registration
LSan wants to be able to register atfork handlers at __lsan_init time,
which can happen either at the first intercepted function call or in a
.preinit_array function.  Both of these end up being very early in rtld
and executed with the bind lock held, which ends up causing problems
when we go to _libpthread_init().

Instead of requiring libpthread to be initialized, just insert the new
atfork handler straight into the list if it's not ready yet.  The
critical section and locking should not be necessary if we're really
executing this early, as there won't be any threads to contend with.

Reviewed by:	kib (earlier version), markj
Differential Revision:	https://reviews.freebsd.org/D47349
2024-11-13 19:33:44 -06:00
..
atf
clang Merge llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5 2024-11-08 17:45:31 +01:00
csu
geom
googletest
lib9p
lib80211
libalias
libarchive
libauditd
libbe manuals: Remove trailing spaces 2024-11-04 11:26:14 -04:00
libbearssl
libbegemot
libblacklist
libblocksruntime
libbluetooth
libbsddialog
libbsdstat
libbsm
libbsnmp
libbz2
libc rtld_get_var.3: fix typo 2024-11-07 20:48:28 +02:00
libc_nonshared Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libc++ Merge llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5 2024-11-08 17:45:31 +01:00
libc++experimental Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libcalendar
libcam
libcapsicum
libcasper
libcbor
libclang_rt Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libcom_err
libcompat
libcompiler_rt Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libcrypt
libcuse
libcxxrt
libdevctl
libdevdctl
libdevinfo
libdevstat
libdiff
libdl rtld: add rtld_{get,set}_var 2024-11-07 07:15:23 +02:00
libdpv
libdwarf
libedit
libefivar
libelf
libelftc
libevent1
libexecinfo
libexpat
libfdt
libfetch
libfido2
libfigpar
libgcc_eh
libgcc_s
libgeom
libgpio
libgssapi
libiconv_modules Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libifconfig
libipsec
libipt
libiscsiutil
libjail
libkiconv
libkldelf
libkvm
libldns
liblua
liblutok
liblzma
libmagic
libmd
libmemstat
libmilter
libmixer
libmp
libmt
libnetbsd
libnetgraph
libnetmap
libnv
libnvmf nvmf_tcp: Correct padding calculation 2024-11-02 09:54:29 -04:00
libomp Merge llvm-project release/19.x llvmorg-19.1.3-0-gab51eccf88f5 2024-11-08 17:45:31 +01:00
libopenbsd
libopencsd
libpam Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libpathconv
libpcap
libpe
libpfctl
libpjdlog
libpmc
libpmcstat
libproc
libprocstat Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libradius
libregex
librpcsec_gss Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
librpcsvc
librss
librt
librtld_db
libsbuf
libsdp
libsecureboot
libsm
libsmb
libsmdb
libsmutil
libsqlite3
libssp
libssp_nonshared Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libstats
libstdbuf
libstdthreads
libsys sched_getcpu: Add man page 2024-11-13 19:32:04 -05:00
libsysdecode
libtacplus
libtelnet
libthr libthr: allow very early atfork registration 2024-11-13 19:33:44 -06:00
libthread_db
libucl
libufs
libugidfw
libulog Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
libunbound
libusb
libusbhid
libutil
libveriexec
libvgl
libvmmapi libvmmapi: Use the vmmctl device file to create and destroy VMs 2024-11-05 01:40:41 +00:00
libwrap
libxo
liby
libypclnt
libz
libzstd
msun
ncurses Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
nss_tacplus
ofed Retire MK_PROFILE infrastructure 2024-11-12 12:11:51 -05:00
tests
Makefile
Makefile.inc