freebsd-dev/lib
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
..
bind Since powerpc and powerpc64 share an instruction set, bind can and should 2010-07-10 17:46:53 +00:00
clang Modify clang so that when TOOLS_PREFIX is defined we register the 2010-08-21 15:46:33 +00:00
csu C startup support for 64-bit PowerPC. 2010-07-10 03:45:55 +00:00
libalias Remove redundant WARNS?=6 overrides and inherit the WARNS setting from 2010-03-02 18:44:08 +00:00
libarchive Fix typo. 2010-08-03 18:29:58 +00:00
libauditd Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libautofs Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libbegemot Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libbluetooth Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libbsm Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libbsnmp Always assign WARNS using ?= 2010-03-02 16:58:04 +00:00
libbz2 Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libc On shared object unload, in __cxa_finalize, call and clear all installed 2010-08-23 15:38:02 +00:00
libc_r Though these libraries are disconnected from the build and don't 2010-02-15 14:14:13 +00:00
libcalendar Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libcam Fix typos and spelling mistakes. 2010-08-06 14:33:42 +00:00
libcom_err
libcompat Small style(9) fix: use tabs instead of spaces. 2010-08-08 08:19:23 +00:00
libcrypt Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libdevinfo Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libdevstat Spelling fixes. 2010-08-03 17:40:09 +00:00
libdisk Disable a check on a disk size because it's too strict. This change is 2009-09-21 04:04:02 +00:00
libdwarf Removed redundant -I. from CFLAGS and "yes" from WITHOUT_MAN. 2010-02-25 22:16:30 +00:00
libedit Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libefi Spelling fixes. 2010-08-03 17:40:09 +00:00
libelf Don't link drti.o with libelf_pic.a. This means that all software with 2010-08-21 17:29:59 +00:00
libexpat Fix buildworld -DNO_CLEAN when using with Perforce, which marks files as 2010-08-12 20:46:49 +00:00
libfetch Redo fetch_read() using non-blocking sockets. This is necessary to 2010-07-28 16:11:22 +00:00
libftpio mdoc: consistently spell our email addresses <foo@FreeBSD.org> 2010-05-19 08:57:53 +00:00
libgeom Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libgpib Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libgssapi Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libipsec Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libipx Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libjail Don't copy and return a potentially unset buffer when jail_get fails. 2010-07-15 19:21:33 +00:00
libkiconv Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libkse Merge from tbemd: 2010-06-13 01:27:29 +00:00
libkvm mdoc: make sure to pass at least one argument to quotation macros 2010-08-02 13:11:35 +00:00
liblzma Unbreak xz (liblzma) on strong-aligned architectures (and without 2010-07-15 03:11:04 +00:00
libmagic Use CFLAGS and LDFLAGS when compiling mkmagic. This ensures that all the 2010-08-01 12:10:32 +00:00
libmd Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libmemstat Spelling fixes. 2010-08-03 17:40:09 +00:00
libmilter Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libmp Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libncp Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libnetgraph bring the NGM_IPFW_COOKIE back into ng_ipfw.h, libnetgraph expects 2009-12-28 12:29:13 +00:00
libngatm Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libopie Let libopie use utmpx instead of utmp. 2010-01-13 18:02:30 +00:00
libpam Bump .Dd date. 2010-05-03 09:49:42 +00:00
libpcap Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libpkg - Take libinstall.a out of pkg_install and make it a proper shared library. 2010-04-23 11:07:43 +00:00
libpmc Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libproc Several fixes for libproc: 2010-08-11 17:33:26 +00:00
libradius Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
librpcsec_gss Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
librpcsvc
librt Fixed dependencies (make checkdpadd). 2010-02-25 20:24:19 +00:00
librtld_db Spelling fixes. 2010-08-03 17:40:09 +00:00
libsbuf Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libsdp Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libsm Enable the use of nanosleep() instead of using pause() and signals. 2010-03-04 05:53:06 +00:00
libsmb Bump the version of all non-symbol-versioned shared libraries in 2009-07-19 17:25:24 +00:00
libsmdb Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libsmutil Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libstand Use type-specific inline function imax() instead of deprecated macro MAX(). 2010-07-12 15:32:45 +00:00
libtacplus Correct comment typo. 2010-01-21 15:01:09 +00:00
libtelnet
libthr On shared object unload, in __cxa_finalize, call and clear all installed 2010-08-23 15:38:02 +00:00
libthread_db Powerpc64 thread libraries support. 2010-07-10 15:13:49 +00:00
libufs Search beyond the first 1/8th of inodes. 2010-05-01 18:56:45 +00:00
libugidfw mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
libulog mdoc: order prologue macros consistently by Dd/Dt/Os 2010-04-14 19:08:06 +00:00
libusb Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
libusbhid Use fixed width integer types for parsing the binary hid data. 2010-05-13 02:03:00 +00:00
libutil UTFize my name. 2010-08-22 11:48:32 +00:00
libvgl Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libwrap Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
liby Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libypclnt Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
libz MFV: zlib 1.2.5. 2010-04-20 21:14:30 +00:00
msun Fix typos, spelling, formatting and mdoc mistakes found by Nobuyuki while 2010-08-16 15:18:30 +00:00
ncurses Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00
Makefile Build librtld_db. 2010-07-31 16:12:47 +00:00
Makefile.inc Build lib/ with WARNS=6 by default. 2010-01-02 09:58:07 +00:00