| |
| Apr 20, 2001 -- Manuel Novoa III |
| |
| Inital port for uClibc from debian ld.so_1.9.11-9.tar.gz. |
| |
| Removed a.out support. |
| |
| ****************** original ld.so.lsm file ************************** |
| Begin3 |
| Title: Linux shared, dynamic linker and utilities. |
| Version: 1.9.11 |
| Entered-date: 01MAY99 |
| Description: This package contains ld.so, ld-linux.so, ldconfig, |
| ldd and libdl. |
| Keywords: dynamic linker, shared library, ld.so, ld-linux.so, |
| ldconfig, ldd, libdl |
| Author: david@ods.com (David Engel) |
| Maintained-by: david@ods.com (David Engel) |
| Primary-site: tsx-11.mit.edu /pub/linux/packages/GCC |
| ld.so-1.9.11.tar.gz |
| Alternate-site: sunsite.unc.edu /pub/Linux/GCC |
| ld.so-1.9.11.tar.gz |
| Platform: Linux 2.0.0 or later. |
| Copying-policy: Copyrighted but freely distributable. |
| End |
| ********************************************************************* |
| Original README starts here |
| ********************************************************************* |
| |
| This package contains my ELF dynamic linkers (ld-linux.so.1), dynamic |
| linker library (libdl.so.1) and utilities (ldconfig and ldd) for Linux. |
| |
| You need Linux kernel 2.0.0 or later with ELF support compiled in |
| (i.e. not loaded as a module) to use this package. |
| |
| The dynamic linker is used to bootstrap programs and load shared |
| libraries at startup. The dynamic linker library is used to |
| dynamically load shared libraries after a program is running. |
| Ldconfig is used to automatically update the symbolic links to shared |
| libraries and build the cache file used by the dynamic linker. Ldd is |
| used to list the shared libraries used by a program. |
| |
| Please see the included manual pages for further details. |
| |
| To install, simply run "sh instldso.sh" as root. Ready-to-go versions |
| of all end-products are provided so nothing should need to be compiled |
| or linked. If you are still using libc5 as your primary development |
| library, you should use the "--devfiles" option when running |
| instldso.sh to install the file needed to compile with libdl. |
| |
| ELF versions of gcc, binutils and libc are now required to compile |
| everything, including the old, unsupported, a.out dynamic linker. |
| Finally, an optimization level of O2 or higher must be used to compile |
| ld-linux.so and libdl.so due the use of inline functions. |
| |
| Notable contributors to this package include Eric Youngdale, Peter |
| MacDonald, Hongjiu Lu, Linus Torvalds, Lars Wirzenius, Mitch D'Souza, |
| Rik Faith, Andreas Schwab and Adam Richter (not necessarily in that |
| order). |
| |
| ###################### IMPORTANT NOTICES ############################# |
| |
| A.OUT SUPPORT: |
| |
| As of ld.so-1.9.0, the old, a.out dynamic loader is no longer |
| officially supported. The code is still included and built, but I |
| make no promises that it will work. I will accept patches for it, |
| but they will not be tested by me. |
| |
| GLIBC (AKA LIBC6) SUPPORT: |
| |
| As of ld.so-1.9.0, the main focus of this package is to ease the |
| transition to libc6. No significant, new features are expected to be |
| added. If you need new features, switch to libc6. |
| |
| Except for libpthread.so, the sonames of the core libraries provided |
| with libc6 have been chosen so they do not conflict with those |
| provided by libc5 and ld.so. However, the current plan is not use |
| new, nonconflicting sonames for other libraries such as ncurses and |
| X11. This presents two problems. First, libraries using the same |
| soname for both libc5 and libc6 can not be placed in the same |
| directory. Second, the dynamic linkers need to make sure not to load |
| a library for the wrong version of libc. |
| |
| The first problem is easy. Just move the old, libc5-based libraries |
| to new directories (e.g. /lib/libc5-compat, /usr/lib/libc5-compat, |
| etc.) and add those directories to /etc/ld.so.conf. Then install the |
| new, libc6-based versions in the standard places. |
| |
| The second problem is more difficult. Ideally, the dynamic linkers |
| would be changed to perform a complete dependency analysis on every |
| library to be loaded to make sure the wrong versions aren't used. |
| This approach doesn't seem worth the added complexity, especially |
| since we now have symbol versioning for ELF libraries. Instead a |
| simpler approach will be used, at least initially. |
| |
| Ldconfig has been modified to perform a (currently simple) dependency |
| analysis on libraries and to store an indication in /etc/ld.so.cache |
| of whether a library is for libc5, libc6 or an unknown libc. The |
| dynamic linkers then only need to make a simple check at run-time to |
| make sure they don't load the wrong version of a library. |
| |
| The dynamic linker for libc5 provided in this package, has already |
| been modified to use the new information in /etc/ld.so.cache. For |
| glibc versions 2.0.1 and earlier, the dynamic linker for libc6 needs |
| the patch contained in glibc.patch. You should apply the patch and |
| rebuild glibc before using the new ldconfig. |
| |
| As stated above, the dependency analysis currently done by ldconfig is |
| rather simple. Basically, it looks for the sonames used by the |
| various versions of libc, libm and libdl. For any approach using a |
| dependency analysis such as this to work, it is very important that |
| shared libraries be built with complete dependency information. This |
| can be done by using the appropriate -l options when running 'gcc |
| -shared'. For example, when building libfoo.so which depends on libc |
| and libbar, you should add -lbar and -lc gcc command line. |
| |
| ###################################################################### |
| |
| Changes in version 1.9.11: |
| |
| Fixed a bug in ld-linux.so where a reference to an |
| undefined symbol could cause a segfault. |
| |
| Added a clarification for LD_PRELOAD to the ld.so manual |
| page and added a symlink for ld-linux.so (Bug#33123). |
| |
| Don't install ldd for Debian except for the m68k arch |
| because glibc 2.1 now includes it (Bug#35458). |
| |
| Changes in version 1.9.10: |
| |
| Changed ldconfig to issue a warning and not overwrite a |
| regular file with a symlink (Bug#30859). |
| |
| Changed Debian packaging to conflict with and replace the |
| ldconfig package (Bug#29398). |
| |
| Changes in version 1.9.9: |
| |
| Changed ld-linux.so and libdl.so to match glibc by not |
| allowing user preloads of system libraries into setu/gid |
| binaries unless the library itself is setuid. |
| |
| Fixed problems in ld-linux.so on the sparc architecture |
| (Juan Cespedes). |
| |
| Changes in version 1.9.8: |
| |
| Changed ldconfig to allow the expected type for all |
| libraries in a directory to be optionally specified |
| (Mark Phillips). See the ldconfig man page. |
| |
| Changed ldconfig to use the same type names used in the |
| change above when the -p option is used. |
| |
| Changes in version 1.9.7: |
| |
| Changed ldd for m68k to use /lib/ld.so.1 instead of |
| /lib/ld-linux.so.2. |
| |
| Added support for dladdr to libdl.so (Eduard Gode). |
| |
| Fixed a small memory leak in libdl.so (Richard Garnish). |
| |
| Fixed a bug in ldconfig when the -l option was used on a |
| filename without a '/' in it. |
| |
| Updated the man pages (Bug#6404, Bug#9721, Bug#10652, |
| Bug#13494 and Bug#14127). They could still use some work. |
| |
| No longer install the info page since it's way out of date. |
| |
| Fixed minor Debian packaging problems (Bug#13160, |
| Bug#15577 and Bug#19345). |
| |
| Changes in version 1.9.6: |
| |
| Changed ldd to not use the glibc dynamic linker when run |
| on a libc5-based shared library. |
| |
| Added a -q option to ldconfig which causes warnings not |
| to be printed (Bob Tinsley). |
| |
| Dropped support for the Debian libdl1-dev package. |
| |
| Changed ld-linux.so to be compilable with gcc 2.8.0 (Sven |
| Verdoolaege) |
| |
| Changes in version 1.9.5: |
| |
| Fixed a bug in ldd where ld-linux.so.2 was not called |
| correctly when run on shared libraries. |
| |
| Fixed a problem in the previous version where some |
| Makefiles were not architecture independent. |
| |
| Changes in version 1.9.4: |
| |
| Fixed a bug in ld.so introduced in the previous version |
| which broke preloads. |
| |
| Turned a.out support back on by default, at least for the |
| time being. There are no promises to keep it. |
| |
| Changes in version 1.9.3: |
| |
| Fixed buffer overflow bugs in ld-linux.so and ld.so. |
| |
| Changed the README file a little to clarify a couple of |
| things. |
| |
| Changed ldconfig to chroot to the specified directory when |
| the new -r option is used (Bob Tinsley). |
| |
| Changes in version 1.9.2: |
| |
| Removed /usr/local/lib from the default /etc/ld.so.conf |
| for Debian (Bug#8181). |
| |
| Changed ldconfig to be 64-bit clean (H.J. Lu). |
| |
| Changes in version 1.9.1: |
| |
| Changed ldconfig to try to determine which libc a |
| library is for even if it doesn't have an soname. |
| |
| Fixed a bug in ldconfig where an older library using |
| the glibc naming convention would be used instead of |
| a newer library. |
| |
| Changed to ld-linux.so and libdl.so to not require the |
| libc5 headers in order to compile. |
| |
| Changed ldconfig and ldd to be compilable with either |
| libc5 or libc6. |
| |
| Changes in version 1.9.0: |
| |
| Changed to not build the old, a.out dynamic loader by |
| default. |
| |
| Changed instldso.sh to require the --force option to |
| make sure users read the README file. |
| |
| Changed instldso.sh to not install the libdl.so |
| development files unless the --devfiles option is used. |
| |
| Changed instldso.sh to not strip binaries and libraries |
| if the --no-strip option is used. |
| |
| Changed the Debian packaging to put the development files |
| which conflict with glibc in a new libdl1-dev package. |
| |
| Changed ldd to use the glibc dynamic linker, if it is |
| available, when run on a shared library. |
| |
| Changed ld-linux.so to print the load addresses of |
| libraries, ala glibc, when run by ldd. |
| |
| Changed ld-linux.so to allow the libraries listed in |
| LD_PRELOAD to be separated by white space in addition to |
| colons. |
| |
| Changed ld-linux.so to load the libraries listed in |
| LD_PRELOAD for setu/gid programs as long as they can be |
| loaded securely. |
| |
| Changed ldconfig to update the symlinks for the dynamic |
| linkers. |
| |
| Changed ldconfig to try to determine if an ELF library is |
| intended for libc5 or libc6 and save the infomation in the |
| cache. The mechanism used is rather simplistic and may |
| need to be enhanced. |
| |
| Changed ldconfig to print the type of ELF library when |
| printing the cache. |
| |
| Changed ld-linux.so to only load ELF shared libraries for |
| use with libc5 or an unknown libc. |
| |
| Changes in version 1.8.10: |
| |
| Fixed a bug in ldconfig where a symlink could be used |
| instead of a regular file. |
| |
| Fixed a Debian packaging problem for the sparc |
| architecture. |
| |
| Changes in version 1.8.9: |
| |
| Changed ldconfig to only cache the symlinks it creates. |
| This make the behavior of the dynamic linkers consistent |
| with how they would behave if a cache was not used. |
| |
| Changed ldconfig to cache the symlinks that it finds but |
| use the name of the symlink as the soname instead of the |
| actual soname. |
| |
| Changes in version 1.8.8: |
| |
| Minor documentation updates to reflect recent changes. |
| |
| Changed ld.so and ld-linux.so to perform more complete |
| validation on ld.so.cache before using it. |
| |
| Changed ldconfig to accept libraries with inconsistent |
| sonames since glibc is going to use them. A warning is |
| still printed in debug mode. |
| |
| Changed the install script to not strip _dl_debug_state |
| from ld-linux.so since gdb needs it. |
| |
| More sparc fixes (Derrick Brashear). |
| |
| Changed ldconfig to not issue a warning when a linker |
| script disguised as a shared library is found. |
| |
| Fixed a bug in ld-linux.so where some registers were |
| not preserved on the first call to a function causing |
| problems for non-C-like languages (Tim Renouf). |
| |
| Fixed a bug in ld-linux.so where global variables were |
| not always mapped correctly across dynamically loaded |
| libraries (Mikihiko Nakao). |
| |
| Converted to new Debian source packaging format (Shaya |
| Potter). |
| |
| Changes in version 1.8.6/7: |
| |
| Never released as some unofficial patches used these |
| version numbers. |
| |
| Changes in version 1.8.5: |
| |
| Fixed a bug in ld.so introduced in the previous changes. |
| |
| Changes in version 1.8.4: |
| |
| Changed ldconfig to completely ignore symbolic links. |
| |
| Changed ldconfig to issue the warning concerning an |
| inconsistent soname in non-verbose mode. |
| |
| Changed ld-linux.so back to not keep ld.so.cache mapped |
| at all times. |
| |
| Changed Debian packaging to compress man pages, strip all |
| binaries (Bug#5125) and include a shlibs file. |
| |
| Changes in version 1.8.3: |
| |
| Changed ld-linux.so to process LD_PRELOAD before |
| /etc/ld.so.preload. |
| |
| Fixed a Debian packaging problem where libdl might not |
| be available if other packages were upgraded at the same |
| time (Debian Bug#4728). |
| |
| Changed ldd to always exit with status 1 if any errors |
| occur (Debian Bug#4188). |
| |
| Fixed some minor problems in instldso.sh (Mike Castle and |
| Wolfgang Franke). |
| |
| Changed ldconfig to issue a warning in verbose mode when |
| skipping a library because the soname doesn't match. |
| |
| More sparc fixes (Miguel de Icaza). |
| |
| Don't link with -N when building ld.so (Alan Modra). |
| |
| Changed ld-linux.so to better support position-dependant |
| libraries (NIIBE Yutaka). |
| |
| Changes in version 1.8.2: |
| |
| Added a texinfo file for ld.so and libdl (Michael |
| Deutschmann). |
| |
| Minor sparc and installation changes (Elliot Lee). |
| |
| Added multiple architecture support for Debian (Leland |
| Lucius). |
| |
| Changed libdl to better support RTLD_NEXT (Eric |
| Youngdale). Note: the exact meaning of ETLD_NEXT is |
| still not clear in all cases. |
| |
| Removed some libc dependencies from libdl. Still need |
| to remove malloc and free. |
| |
| Changes in version 1.8.1: |
| |
| Changed ld.so to be compiled as ELF. This also means |
| that ELF support is now required. A.out support is |
| still optional. |
| |
| Changed ld-linux.so and libdl.so to use the rpath in the |
| executable instead of in the invoking shared library. |
| |
| More m68k fixes (Andreas Schwab). |
| |
| Various sparc fixes (Miguel de Icaza). |
| |
| Changed ldcnnfig to ignore libraries ending in '~'. |
| |
| Changed ldconfig to allow alternative conf and cache |
| files to be specified on the command-line. |
| |
| Changed libdl.so to work when dlsym is passed a NULL |
| handle pointer. |
| |
| Changes in version 1.8.0: |
| |
| Changed ld-linux.so to be more liberal when checking to |
| see if a library is already loaded. This should avoid |
| the duplicate loading problem for programs linkeed with |
| the -rpath option. |
| |
| Various m68k fixes (Andreas Schwab). |
| |
| Changed ld.so to only use LD_AOUT_LIBRARY_PATH and |
| LD_AOUT_PRELOAD and ld-linux.so to only use |
| LD_LIBRARY_PATH and LD_PRELOAD. LD_ELF_LIBRARY_PATH |
| and LD_ELF_PRELOAD are no longer supported. |
| |
| Changed ld-linux.so to allow debugging of shared and |
| dynamically loaded libraries (H.J. Lu, Andreas Schwab). |
| |
| Changed ld-linux.so to preload ELF shared libraries |
| listed in /etc/ld.so.preload. This allows secure |
| preloads, even for setuid/setgid programs. |
| |
| Changed ld-linux.so to keep ld.so.cache mapped at all |
| times. |
| |
| Changed ldconfig to allow #-style comments in ld.so.conf. |
| |
| Removed various compiler warnings (Richard Sladkey and |
| David Engel). |
| |
| Changed ldd to work on ELF shared libraries. This may |
| need a little more work. |
| |
| Changes in version 1.7.14: |
| |
| Changed ldconfig to recognize ELF shared libraries |
| generated by post-2.6 versions of ld (Andreas Schwab). |
| |
| Changed ldconfig to not remove stale links that do not |
| have a version number since they may be needed by ld. |
| |
| Changes in version 1.7.13: |
| |
| Fixed a problem in ld-linux.so where a program linked |
| with a shared library that was not used could result in |
| a segmentation fault (H.J. Lu). |
| |
| Changes in version 1.7.12: |
| |
| Fixed a problem in libdl.so where the wrong library |
| could be marked as global when RTLD_GLOBAL was used |
| (Lars Heete). |
| |
| Installed dlfcn.h with libdl.so instead of requiring |
| it to be supplied with libc. |
| |
| Removed support for libldso.a since it was nearly |
| impossible to use anyway. |
| |
| Changed ldd to detect when the program being checked |
| exited abnormally. |
| |
| Changes in version 1.7.11: |
| |
| Changed ld.so and ld-linux.so to delete all variations |
| of LD_PRELOAD and LD_LIBRARY_PATH for set[ug]id programs, |
| This makes it harder for broken set[ug]id programs to be |
| compromised. |
| |
| Fixed a problem in libdl.so where dlsym would not accept |
| the handle returned from dlopen(0, *). |
| |
| Changes in version 1.7.10: |
| |
| Changed ld-linux.so and libdl.so to support RTLD_GLOBAL |
| (Eric Youngdale). |
| |
| Changes in version 1.7.9: |
| |
| Fixed a problem in ld-linux.so in detecting when the |
| new user/group information is provided by the kernel. |
| |
| Fixed a problem in ld-linux.so where a buffer could be |
| overflowed if a large number of libraries were loaded |
| (Thomas Moore). |
| |
| Changes in version 1.7.8: |
| |
| Changed the Makefiles and install scripts to support |
| a.out- and ELF-only configurations. |
| |
| Changed ld-linux.so to use the user/group information |
| provided by linux 1.3.23+ instead of making syscalls |
| to get it. |
| |
| Changed libdl.so to support RTLD_NEXT (Glenn Fowler). |
| |
| Changed libdl.so to only execute the fini sections |
| instead of completely closing libraries at exit (Glenn |
| Fowler). |
| |
| Changed ld.so and ld-linux.so to print the required |
| cache version when a mismatch is detected. |
| |
| Changed ld-linux.so to not require on /dev/zero (Ralph |
| Loader). |
| |
| Minor m68k cleanups (Andreas Schwab). |
| |
| Changes in version 1.7.7: |
| |
| Fixed problems compiling with recent 1.3.x kernels. |
| |
| Changed ld-linux.so to not use MAP_DENYWRITE until the |
| permission issue regarding it is resolved. |
| |
| Changes in version 1.7.6: |
| |
| Fixed a bug in ld-linux.so dealing with a zero-length |
| LD_{ELF_}PRELOAD. |
| |
| Changed ld.so and ld-linux.so to truncate all variations |
| of LD_PRELOAD and LD_LIBRARY_PATH for set[ug]id programs. |
| |
| Changes in version 1.7.5: |
| |
| Changed ldconfig to recognize libraries without any |
| version number (eg. libXYZ.so). |
| |
| Changed ldconfig to not generate a corrupt cache when |
| the disk is full or other write errors occur. |
| |
| Changed ld-linux.so to map files with MAP_DENYWRITE to |
| keep them from being changed while the file is in use |
| (Rick Sladkey). |
| |
| Changed libdl to not overwrite the scope pointer of a |
| library if it was already loaded (H.J. Lu). |
| |
| Changed ld-linux.so so gdb can be used on constructors |
| (Eric Youngdale). |
| |
| Changed ldconfig to ignore ELF libraries where the soname |
| does not match the file name on the assumption that it is |
| a used at compile-time (eg. libcurses.so -> libncruses.so). |
| |
| Changes in version 1.7.4: |
| |
| Changed ld-linux.so and libdl to use the appropriate |
| rpaths when searching for shared libraries (Eric |
| Youngdale). |
| |
| Changed ld-linux.so to search rpath before using the |
| cache. This more closely conforms to the IBCS standard. |
| |
| Changes in version 1.7.3: |
| |
| Changed ld-linux.so to only print a library name the |
| first time it is loaded when run from ldd. |
| |
| Fixed a bug in ldconfig where an invalid cache could be |
| generated if a directory was specified multiple times in |
| ld.so.conf. |
| |
| Changed ld-linux.so so it will return the address of a |
| weak symbol when called from dlsym in libdl (Eric |
| Youngdale. |
| |
| Changes in version 1.7.2: |
| |
| Changed libdl.so again to fix the undefined foobar |
| problem. |
| |
| Changes in version 1.7.1: |
| |
| Changed libdl so it will compile at optimization level |
| O3 or higher. |
| |
| Changed ldconfig to always create the cache file with |
| mode 644. |
| |
| Changed ldconfig to not ingore valid symlinks. |
| |
| Changed ldconfig to use the library name as the soname |
| for ELF libraries that do not have an soname entry. |
| |
| Changed ld-linux.so to print the actual, requested library |
| name at the time it is loaded instead of trying to figure |
| it out after the fact. |
| |
| Changes in version 1.7.0: |
| |
| Changed ldconfig to read the actual soname from the image |
| for ELF libraries and make it available to ld-linux.so. |
| The soname for DLL libraries is still determined by |
| truncating the minor numbers from the image file name. |
| |
| Changed ldconfig to no longer support the undocumented |
| sort options. |
| |
| Changed ld.so to require a valid cache to find libraries |
| in directories specified in ld.so.conf. /usr/lib and /lib |
| are still searched as a last resort. Ld-linux.so already |
| operated this way. |
| |
| Fixed a bug in libldso.a where the arguments to |
| shared_loader were not parsed correctly (Wolfram Gloger). |
| |
| Added support for RELA-style relocations under Linux/68k |
| (Andreas Schwab). |
| |
| Changed ld-linux.so to only map the cache once for all |
| libraries instead of individually for each library. |
| |
| Changed ld-linux.so continue searching the cache instead of |
| giving up when failing to load the first entry found. |
| |
| Changed ld-linux.so to produce output similar to ld.so when |
| run from ldd or when errors occur. |
| |
| Changes in version 1.6.7: |
| |
| Changed the install scripts to make sure that ld.so and |
| ld-linux.so are always usable. |
| |
| Added support for Linux/Sparc (Eric Youngdale). |
| |
| Added support for Linux/68k (Andreas Schwab). |
| |
| Fixed various bugs in ld-linux.so dealing with closing |
| files, unmapping memory, dereferencing NULL pointers and |
| printing library names (David Engel, Eric Youngdale and |
| Andreas Schwab). |
| |
| Replaced the manual page for libdl with a freely |
| distributable one (Adam Richter). |
| |
| Fixed a bug in ld-linux.so where LD_LIBRARY_PATH and |
| LD_PRELOAD were not cleared for setuid/setgid programs. |
| |
| Fixed a bug in libdl where dlsym would not return the |
| correct address of a symbol if it was redefined in another |
| library (Oleg Kibirev). |
| |
| Changed ld-linux.so to use the following order to search |
| for libraries: LD_{ELF_}LIBRARY_PATH, ld.so.cache, rpath, |
| /usr/lib and /lib. |
| |
| Changed ld-linux.so to not needlessly allocate memory when |
| using ld.so.cache. |
| |
| Changes in version 1.6.6: |
| |
| Changed ldconfig to not warn about removing stale links |
| unless the -v option is specified. |
| |
| Added manual pages for libdl (from FreeBSD/Sun) |
| |
| Fixed a bug in ld.so dealing with preloading of objects |
| generated by recent versions of ld (Mitch D'Souza). |
| |
| Fixed bugs in ldd where some errors were either not |
| detected or not printed. |
| |
| Fixed a bug in ld-linux.so where the trailing nul in a |
| library name was not being copied (Owen Taylor). |
| |
| Changes in version 1.6.5: |
| |
| Changed ldconfig to remove stale symbolic links. |
| |
| Added debug hooks in ld-linux.so and libdl.so to be used |
| by a future version of gdb (Eric Youngdale). |
| |
| Changes in version 1.6.4: |
| |
| Change ld-linux.so to print on stdout instead of stderr |
| when run from ldd. |
| |
| Added support for Debian GNU/Linux packaging. |
| |
| Changes in version 1.6.3: |
| |
| Fixed a bug in libdl when closing a library (H.J. Lu). |
| |
| Changes in version 1.6.2: |
| |
| Changed the error message printed by ldd when a file is |
| not a.out or ELF. It used to only list a.out formats. |
| |
| Changed ldconfig to no longer cache and set up links for |
| ld-linux.so. |
| |
| Changed ld-linux.so and libdl to not conflict with upcoming |
| changes in kernel header files. |
| |
| Changed ld-linux.so to not print preloaded libraries. |
| |
| Changes in version 1.6.1: |
| |
| Updated the installation script. |
| |
| Changed ld.so and ld-linux.so to look for LD_AOUT_PRELOAD |
| and LD_ELF_PRELOAD, respectively, before LD_PRELOAD. |
| |
| Changed ld.so and ld-linux.so to use LD_AOUT_LIBRARY_PATH |
| and LD_ELF_LIBRARY_PATH, respectively, instead of |
| AOUT_LD_LIBRARY_PATH and ELF_LD_LIBRARY_PATH. |
| |
| Changes in version 1.6.0: |
| |
| Changed ldconfig to process libraries which do not have |
| a minor version or patch level number. |
| |
| Incorporated ld-linux.so and libdl.so. |
| |
| Changed ld.so and ld-linux.so to not miss entries in the |
| cache when the fully qualified library is requested. |
| |
| Changed ldconfig to use stdout instead of stderr when |
| printing the cache. |
| |
| Changes in version 1.5.3: |
| |
| LD_PRELOAD enhancements (Tristan Gigold). |
| |
| LD_PRELOAD patch for linux-68k (Andreas Schwab). |
| |
| Changes in version 1.5.2: |
| |
| More ELF changes (Mitch D'Souza). |
| |
| Changed ldconfig to also update the link for ld-linux.so. |
| |
| Changes in version 1.5.1: |
| |
| More ELF and LD_PRELOAD changes (Mitch D'Souza). |
| |
| Changes in version 1.5.0: |
| |
| Chnaged all executables to QMAGIC (Mitch D'Souza and Rick |
| Sladkey). |
| |
| Added preliminary support for ELF to ldd and ldconfig (Eric |
| Youndale and H.J. Lu). |
| |
| Added support for LD_PRELOAD to ld.so (Mitch D'Souza). |
| |
| Removed the "advertising" clause from the copyright notices |
| in all source files. |
| |
| Changes in version 1.4.4: |
| |
| Changed ldconfig to support QMAGIC libraries. |
| |
| Fixed a bug in ld.so where some of the error messages had |
| transposed arguments. |
| |
| Changes in version 1.4.3: |
| |
| Fixed an obscure bug in ld.so where an index was not being |
| incremented when a library was not found using the cache. |
| |
| Changes in version 1.4.2: |
| |
| Changed ldconfig to issue a warning and continue instead |
| of an error and exiting when a link can't be updated. |
| This is useful when some libraries are imported on read- |
| only file systems, such as an NFS mounted /usr. |
| |
| Changed ld.so to be more robust in searching for libraries. |
| A library is not considered found unless it can actually be |
| loaded. If a library is not found using the cache, the |
| standard directories are searched as in pre-cache versions. |
| |
| Changes in version 1.4.1: |
| |
| Fixed minor Makefile problems. |
| |
| Added support for linux-68k. |
| |
| Fixed a bug in ld.so where libraries with absolute paths |
| were not handled correctly. |
| |
| Changed ld.so to ignore the directory in the names of |
| shared libraries by default. This allows older libraries |
| with absolute paths, such as the XView libraries, to take |
| advantage of the cache support. |
| |
| Added a minimal usage message to ldconfig. |
| |
| Changes in version 1.4: |
| |
| Fixed bug in ld.so where minor version numbers were not |
| reported correctly when a minor version incompatibility |
| was found. |
| |
| Fixed bug in ldconfig where libraries with subversion |
| numbers greater than 9 were not compared correctly. |
| |
| Added Mitch D'Souza's support for suppressing warning |
| messages from ld.so about minor version incompatibilities. |
| |
| Added Mitch D'Souza's support for using a cache to speed |
| up searching for libraries in the standard directories. |
| |
| Added Mitch D'Souza's support for a debugging version of |
| ld.so. Link with -lldso if you think you are experiencing |
| dynamic linker problems. |
| |
| Changes in version 1.3: |
| |
| Added support for libraries using absolute pathnames. If I |
| had known that the XView libraries used them, I would have |
| added this earlier. |
| |
| Fixed a bug handling old libraries using a pathname beginning |
| with '/' or '/lib/'. |
| |
| Changes in version 1.2a: |
| |
| Fixed a minor bug in ldd which caused all files, specifically |
| scripts, to be recognized as binaries. Thanks to Olaf Flebbe |
| for reporting it. |
| |
| David Engel |
| david@sw.ods.com |