summaryrefslogtreecommitdiffstats
path: root/lib/libc/gen/Symbol.map
diff options
context:
space:
mode:
authorkib <kib@FreeBSD.org>2008-11-27 11:27:59 +0000
committerkib <kib@FreeBSD.org>2008-11-27 11:27:59 +0000
commitb683fcf69217f7195e73b2f05d608c952101f47a (patch)
treeb42b5149fd6de96214266e5ed4d6e0b09734ce83 /lib/libc/gen/Symbol.map
parent9ef49d8b6f56c91c360dacd78c3cab2300da33fb (diff)
downloadFreeBSD-src-b683fcf69217f7195e73b2f05d608c952101f47a.zip
FreeBSD-src-b683fcf69217f7195e73b2f05d608c952101f47a.tar.gz
Add two rtld exported symbols, _rtld_atfork_pre and _rtld_atfork_post.
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)
Diffstat (limited to 'lib/libc/gen/Symbol.map')
-rw-r--r--lib/libc/gen/Symbol.map2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/libc/gen/Symbol.map b/lib/libc/gen/Symbol.map
index 6e8bfce..2e64313 100644
--- a/lib/libc/gen/Symbol.map
+++ b/lib/libc/gen/Symbol.map
@@ -432,6 +432,8 @@ FBSDprivate_1.0 {
_spinlock;
_spinlock_debug;
_spinunlock;
+ _rtld_atfork_pre;
+ _rtld_atfork_post;
_rtld_error; /* for private use */
_rtld_thread_init; /* for private use */
_err;
OpenPOWER on IntegriCloud