freebsd_amp_hwpstate/libexec/rtld-elf
Mark Johnston e7951d0b04 rtld-elf: Avoid unnecessary lock_restart_for_upgrade() calls
In order to atomically upgrade the rtld bind lock, load_filtees() may
trigger a longjmp back to _rtld_bind() so that the binding can be done
with the write lock held.  However, the write lock is only needed when
filtee objects haven't already been loaded, so move the
lock_restart_for_upgrade() call to avoid unnecessary lock upgrades when
a filtee is defined.

Reviewed by:	kib
Tested by:	brooks
MFC after:	1 week
Sponsored by:	Innovate UK
2024-02-02 09:39:54 -05:00
..
aarch64 libexec: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
amd64 rtld: introduce STATIC_TLS_EXTRA 2023-10-30 13:42:05 -04:00
arm libexec: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
i386 rtld: introduce STATIC_TLS_EXTRA 2023-10-30 13:42:05 -04:00
powerpc rtld: introduce STATIC_TLS_EXTRA 2023-10-30 13:42:05 -04:00
powerpc64 rtld: introduce STATIC_TLS_EXTRA 2023-10-30 13:42:05 -04:00
riscv libexec: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
rtld-libc libexec: Automated cleanup of cdefs and other formatting 2023-11-26 22:23:59 -07:00
tests rtld: add a test for RTLD_DEEPBIND 2023-11-30 19:26:09 -06:00
Makefile Stop #defining FREEBSD_ELF 2023-12-12 15:30:00 -08:00
Makefile.depend
Symbol.map
debug.c
debug.h
libmap.c
libmap.conf
libmap.h
map_object.c
rtld.1 rtld: introduce STATIC_TLS_EXTRA 2023-10-30 13:42:05 -04:00
rtld.c rtld-elf: Avoid unnecessary lock_restart_for_upgrade() calls 2024-02-02 09:39:54 -05:00
rtld.h RTLD_DEEPBIND: make lookup not just symbolic, but walk all refobj' DAGs 2023-11-30 21:34:36 +02:00
rtld_lock.c
rtld_lock.h
rtld_malloc.c libexec: Remove ancient SCCS tags. 2023-11-26 22:23:28 -07:00
rtld_malloc.h
rtld_paths.h
rtld_printf.c
rtld_printf.h
rtld_tls.h
rtld_utrace.h
xmalloc.c