mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-04 05:58:57 +00:00
cb5c4b10ba
Threading library calls _pre before the fork, allowing the rtld to lock itself to ensure that other threads of the process are out of dynamic linker. _post releases the locks. This allows the rtld to have consistent state in the child. Although child may legitimately call only async-safe functions, the call may need plt relocation resolution, and this requires working rtld. Reported and debugging help by: rink Reviewed by: kan, davidxu MFC after: 1 month (anyway, not before 7.1 is out)
27 lines
347 B
Plaintext
27 lines
347 B
Plaintext
/*
|
|
* $FreeBSD$
|
|
*/
|
|
|
|
FBSD_1.0 {
|
|
_rtld_error;
|
|
dlclose;
|
|
dlerror;
|
|
dlopen;
|
|
dlsym;
|
|
dlvsym;
|
|
dladdr;
|
|
dllockinit;
|
|
dlinfo;
|
|
dl_iterate_phdr;
|
|
r_debug_state;
|
|
__tls_get_addr;
|
|
};
|
|
|
|
FBSDprivate_1.0 {
|
|
_rtld_thread_init;
|
|
_rtld_allocate_tls;
|
|
_rtld_free_tls;
|
|
_rtld_atfork_pre;
|
|
_rtld_atfork_post;
|
|
};
|