mirror of
https://github.com/freebsd/freebsd-src.git
synced 2024-12-02 23:43:25 +00:00
d5489b0d8f
the loop that invokes the static constructors. That makes it safe to link c++rt0.o into any shared library, even one that does not have any static constructors. Formerly, doing that would cause a bus error. If the library has no static constructors, __CTOR_LIST__ comes out as a simple 4-byte COMMON region, and it does not have the usual NULL word that terminates the list of constructors. This caused the old code to "call" a garbage address via the non-existent entry __CTOR_LIST__[1]. The analogous code that invokes the static destructors was already safe. This change is fully backward-compatible. Reviewed by: dfr@render.com (Doug Rabson) |
||
---|---|---|
.. | ||
csu/i386 | ||
libc | ||
libcom_err | ||
libcompat | ||
libcrypt | ||
libcurses | ||
libdisk | ||
libedit | ||
libf2c | ||
libF77 | ||
libforms | ||
libI77 | ||
libipx | ||
libkvm | ||
libm | ||
libmd | ||
libmytinfo | ||
libncurses | ||
libpam/modules | ||
libpcap | ||
libresolv | ||
librpcsvc | ||
libscsi | ||
libskey | ||
libss | ||
libtelnet | ||
libtermcap | ||
libutil | ||
libxpg4 | ||
liby | ||
msun | ||
ncurses/ncurses | ||
Makefile | ||
Makefile.inc |