Date: Fri, 12 Jan 1996 16:15:27 -0800 (PST) From: John Polstra <jdp> To: CVS-committers, cvs-gnu Subject: cvs commit: src/gnu/usr.bin/ld/rtld rtld.c Message-ID: <199601130015.QAA16835@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
jdp 96/01/12 16:15:26 Modified: gnu/usr.bin/ld ld.h shlib.c Log: Split up the code so that a single directory can be searched, to support some changes in the dynamic linker. (This code is shared by the dynamic linker.) Reviewed by: nate@freebsd.org Revision Changes Path 1.15 +2 -1 src/gnu/usr.bin/ld/ld.h 1.14 +116 -81 src/gnu/usr.bin/ld/shlib.c Modified: gnu/usr.bin/ld/rtld rtld.c Log: This release is a moderate restructuring of the dynamic linker. It addresses a number of problems that were present in earlier versions. The calls to the "init" and "fini" functions of shared libraries have been reordered, so that they are called in a strictly nested fashion, as is required for C++ constructors and destructors. In addition, the "init" functions are called in better order relative to each other. That makes the system more tolerant of C++ programs which depend on a library's being initialized before its clients. The dynamic linker is now more tolerant of shared libraries in which dependencies on other shared libraries are incompletely recorded. Cleanup in the event of errors has been improved throughout the dynamic linker. A number of memory leaks were eliminated. The warning message for a shared library whose minor version number is too old has been clarified. The code dealing with the "ld.so.hints" file has been cleaned up. A bug that caused the hints file to be unmapped incompletely has been fixed. A different bug that could potentially cause the hints file to be mapped on top of a loaded object has been fixed. The code that searches for shared libraries has been cleaned up. The searching is now more compatible with that done by SunOS and SVR4. Also, some unnecessary and useless searches of both the hints file and library directories have been eliminated. Reviewed by: nate@freebsd.org Revision Changes Path 1.32 +607 -594 src/gnu/usr.bin/ld/rtld/rtld.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199601130015.QAA16835>