1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-04 09:09:56 +00:00
freebsd/libexec
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
..
atrun Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
bootpd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
comsat Remove stale references to utmp(5) and its corresponding filenames. 2010-01-21 17:25:12 +00:00
fingerd Forgot to initialize the debug variable. 2010-04-01 13:16:32 +00:00
ftpd Check that gl_pathc is bigger than zero before derefencing gl_pathv. 2010-03-25 22:41:01 +00:00
getty Phase out ttyslot(3). 2010-01-14 05:35:32 +00:00
lukemftpd Not needed any more, vendor sources have PAM support. 2006-08-31 17:12:33 +00:00
mail.local Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
mknetid Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
pppoed Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rbootd mdoc: use literal text, not a column table to present the 2010-06-02 10:20:31 +00:00
revnetgroup Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rlogind Remove `dead code' from rlogind. 2010-01-13 18:24:04 +00:00
rpc.rquotad The NFS quota-reporting RPC uses 32-bit sized fields. We approximate 2010-04-25 00:05:51 +00:00
rpc.rstatd Fixed static linkage. 2010-02-26 09:41:16 +00:00
rpc.rusersd Port all apps in libexec/ from libulog to utmpx. 2010-01-13 18:28:58 +00:00
rpc.rwalld Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rpc.sprayd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rshd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
rtld-aout ANSIfy ldconfig and the aout bits it still uses from rtld-aout. 2009-12-29 21:07:17 +00:00
rtld-elf On shared object unload, in __cxa_finalize, call and clear all installed 2010-08-23 15:38:02 +00:00
save-entropy 1. Attempt to take one bullet out of the foot-shooting gun by silently 2006-08-28 06:41:50 +00:00
smrsh Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
talkd Remove unneeded use of struct timezone. 2010-08-08 02:45:48 +00:00
tcpd Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
telnetd Convert telnetd(8) to use posix_openpt(2). 2008-11-13 19:05:27 +00:00
tftp-proxy Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00
tftpd Bring in new files from edwin's tftp 2010-05-04 13:07:40 +00:00
ulog-helper Fixed static linkage. 2010-02-26 09:41:16 +00:00
ypxfr Fix typos and spelling mistakes. 2010-08-06 14:33:42 +00:00
Makefile Add a new library: libulog. 2009-12-03 15:48:24 +00:00
Makefile.inc Make WARNS=6 the default for libexec/. 2010-01-02 09:50:19 +00:00