freebsd-dev/lib/libc
Konstantin Belousov ea246b6369 On shared object unload, in __cxa_finalize, call and clear all installed
atexit and __cxa_atexit handlers that are either installed by unloaded
dso, or points to the functions provided by the dso.

Use _rtld_addr_phdr to locate segment information from the address of
private variable belonging to the dso, supplied by crtstuff.c. Provide
utility function __elf_phdr_match_addr to do the match of address against
dso executable segment.

Call back into libthr from __cxa_finalize using weak
__pthread_cxa_finalize symbol to remove any atfork handler which
function points into unloaded object.

The rtld needs private __pthread_cxa_finalize symbol to not require
resolution of the weak undefined symbol at initialization time. This
cannot work, since rtld is relocated before sym_zero is set up.

Idea by:	kan
Reviewed by:	kan (previous version)
MFC after:	3 weeks
2010-08-23 15:38:02 +00:00
..
amd64 Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
arm The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 22:16:40 +00:00
compat-43 Verify return value of the sigset manipulation functions 2010-07-22 09:14:18 +00:00
db libc/db/hash: cap auto-tuned block size with a value that actually works 2010-04-05 10:12:21 +00:00
gdtoa Unbreak the build for arm and powerpc. 2008-04-12 14:53:52 +00:00
gen On shared object unload, in __cxa_finalize, call and clear all installed 2010-08-23 15:38:02 +00:00
gmon Provide 64-bit PowerPC support in libc. 2010-07-10 14:45:03 +00:00
i386 Remove hand-written labs/abs implementations. GCC is smart enough. 2009-06-23 09:04:59 +00:00
ia64 Remove unneeded stdlib directories. 2009-06-23 14:11:41 +00:00
include On shared object unload, in __cxa_finalize, call and clear all installed 2010-08-23 15:38:02 +00:00
inet Merge the resolver part of BIND 9.4.3 into HEAD. 2008-12-14 19:39:53 +00:00
isc Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
locale mdoc: remove unbalanced quotes 2010-08-02 13:11:41 +00:00
mips use PTR_WORD for __curbrk and minbrk instead of .word, the new version 2010-06-25 05:36:36 +00:00
nameser This commit was generated by cvs2svn to compensate for changes in r174223, 2007-12-03 15:07:58 +00:00
net Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
nls Merge from English r198040: add C message catalogue entries for newer 2010-06-20 06:52:10 +00:00
posix1e Spelling fixes. 2010-08-02 16:01:45 +00:00
powerpc The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 22:11:14 +00:00
powerpc64 Provide 64-bit PowerPC support in libc. 2010-07-10 14:45:03 +00:00
quad Fix a typo that prevented the quad symbols from being exported 2007-07-06 13:42:24 +00:00
regex Fix an off-by-one error in the marking of the O_CH operator 2009-09-16 06:32:23 +00:00
resolv Add an option to enforce strict RFC 1034 compliance. 2009-05-29 07:34:54 +00:00
rpc mdoc: make sure to pass at least one argument to quotation macros 2010-08-02 13:11:35 +00:00
softfloat Add #endif missed in r206490. 2010-04-11 21:22:02 +00:00
sparc64 Avoid aliasing which leads to incorrect results when compiling with the 2010-03-21 13:18:08 +00:00
stdio mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the 2010-05-13 12:07:55 +00:00
stdlib On shared object unload, in __cxa_finalize, call and clear all installed 2010-08-23 15:38:02 +00:00
stdtime strptime(3) confused July with June with the fr_FR locale. 2010-05-09 22:01:35 +00:00
string mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the 2010-05-13 12:07:55 +00:00
sys Use aux vector to get values for SSP canary, pagesize, pagesizes array, 2010-08-17 09:13:26 +00:00
uuid Move uuid_enc_le, uuid_dec_le, uuid_enc_be and uuid_dec_be symbols 2008-09-19 15:52:56 +00:00
xdr Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
yp Eliminate more dead stores. 2009-11-25 04:45:45 +00:00
Makefile Style. 2010-08-23 15:18:35 +00:00
Versions.def Bump our namespace version for 9.0. 2009-09-13 13:15:36 +00:00