2 Apr 20, 2001 -- Manuel Novoa III
4 Inital port for uClibc from debian ld.so_1.9.11-9.tar.gz.
8 "make" generates the ld-linux-uclibc.so.1, libdl.so.1, ldd, ldconfig
9 suitable for the target platform.
11 "make DEVEL=true" generates the same files, but ld-linux-uclibc.so.1 and
12 ldconfig are modified to not conflict with the devel platform system
13 libs. (This is only of use if TARGET_ARCH == NATIVE_ARCH.) These
14 modified versions ignore /lib and /usr/lib and look for shared libs
15 only in $(INSTALL_DIR)/lib. The modified ldconfig writes ld.so.cache
16 in $(INSTALL_DIR)/etc.
18 The above assumes you've set the DYNAMIC_LINKER to /lib/ld-linux-uclibc.so.1
19 in extra/gcc-uClibc/Makefile.
23 Remove unneeded code in util/ldd.c.
24 Link against static uClibc instead of using custom routines. ???
25 Lots more cleanup... especially the arch-dependent Makefiles.
27 ****************** original ld.so.lsm file **************************
29 Title: Linux shared, dynamic linker and utilities.
32 Description: This package contains ld.so, ld-linux.so, ldconfig,
34 Keywords: dynamic linker, shared library, ld.so, ld-linux.so,
36 Author: david@ods.com (David Engel)
37 Maintained-by: david@ods.com (David Engel)
38 Primary-site: tsx-11.mit.edu /pub/linux/packages/GCC
40 Alternate-site: sunsite.unc.edu /pub/Linux/GCC
42 Platform: Linux 2.0.0 or later.
43 Copying-policy: Copyrighted but freely distributable.
45 *********************************************************************
46 Original README starts here
47 *********************************************************************
49 This package contains my ELF dynamic linkers (ld-linux.so.1), dynamic
50 linker library (libdl.so.1) and utilities (ldconfig and ldd) for Linux.
52 You need Linux kernel 2.0.0 or later with ELF support compiled in
53 (i.e. not loaded as a module) to use this package.
55 The dynamic linker is used to bootstrap programs and load shared
56 libraries at startup. The dynamic linker library is used to
57 dynamically load shared libraries after a program is running.
58 Ldconfig is used to automatically update the symbolic links to shared
59 libraries and build the cache file used by the dynamic linker. Ldd is
60 used to list the shared libraries used by a program.
62 Please see the included manual pages for further details.
64 To install, simply run "sh instldso.sh" as root. Ready-to-go versions
65 of all end-products are provided so nothing should need to be compiled
66 or linked. If you are still using libc5 as your primary development
67 library, you should use the "--devfiles" option when running
68 instldso.sh to install the file needed to compile with libdl.
70 ELF versions of gcc, binutils and libc are now required to compile
71 everything, including the old, unsupported, a.out dynamic linker.
72 Finally, an optimization level of O2 or higher must be used to compile
73 ld-linux.so and libdl.so due the use of inline functions.
75 Notable contributors to this package include Eric Youngdale, Peter
76 MacDonald, Hongjiu Lu, Linus Torvalds, Lars Wirzenius, Mitch D'Souza,
77 Rik Faith, Andreas Schwab and Adam Richter (not necessarily in that
80 ###################### IMPORTANT NOTICES #############################
84 As of ld.so-1.9.0, the old, a.out dynamic loader is no longer
85 officially supported. The code is still included and built, but I
86 make no promises that it will work. I will accept patches for it,
87 but they will not be tested by me.
89 GLIBC (AKA LIBC6) SUPPORT:
91 As of ld.so-1.9.0, the main focus of this package is to ease the
92 transition to libc6. No significant, new features are expected to be
93 added. If you need new features, switch to libc6.
95 Except for libpthread.so, the sonames of the core libraries provided
96 with libc6 have been chosen so they do not conflict with those
97 provided by libc5 and ld.so. However, the current plan is not use
98 new, nonconflicting sonames for other libraries such as ncurses and
99 X11. This presents two problems. First, libraries using the same
100 soname for both libc5 and libc6 can not be placed in the same
101 directory. Second, the dynamic linkers need to make sure not to load
102 a library for the wrong version of libc.
104 The first problem is easy. Just move the old, libc5-based libraries
105 to new directories (e.g. /lib/libc5-compat, /usr/lib/libc5-compat,
106 etc.) and add those directories to /etc/ld.so.conf. Then install the
107 new, libc6-based versions in the standard places.
109 The second problem is more difficult. Ideally, the dynamic linkers
110 would be changed to perform a complete dependency analysis on every
111 library to be loaded to make sure the wrong versions aren't used.
112 This approach doesn't seem worth the added complexity, especially
113 since we now have symbol versioning for ELF libraries. Instead a
114 simpler approach will be used, at least initially.
116 Ldconfig has been modified to perform a (currently simple) dependency
117 analysis on libraries and to store an indication in /etc/ld.so.cache
118 of whether a library is for libc5, libc6 or an unknown libc. The
119 dynamic linkers then only need to make a simple check at run-time to
120 make sure they don't load the wrong version of a library.
122 The dynamic linker for libc5 provided in this package, has already
123 been modified to use the new information in /etc/ld.so.cache. For
124 glibc versions 2.0.1 and earlier, the dynamic linker for libc6 needs
125 the patch contained in glibc.patch. You should apply the patch and
126 rebuild glibc before using the new ldconfig.
128 As stated above, the dependency analysis currently done by ldconfig is
129 rather simple. Basically, it looks for the sonames used by the
130 various versions of libc, libm and libdl. For any approach using a
131 dependency analysis such as this to work, it is very important that
132 shared libraries be built with complete dependency information. This
133 can be done by using the appropriate -l options when running 'gcc
134 -shared'. For example, when building libfoo.so which depends on libc
135 and libbar, you should add -lbar and -lc gcc command line.
137 ######################################################################
139 Changes in version 1.9.11:
141 Fixed a bug in ld-linux.so where a reference to an
142 undefined symbol could cause a segfault.
144 Added a clarification for LD_PRELOAD to the ld.so manual
145 page and added a symlink for ld-linux.so (Bug#33123).
147 Don't install ldd for Debian except for the m68k arch
148 because glibc 2.1 now includes it (Bug#35458).
150 Changes in version 1.9.10:
152 Changed ldconfig to issue a warning and not overwrite a
153 regular file with a symlink (Bug#30859).
155 Changed Debian packaging to conflict with and replace the
156 ldconfig package (Bug#29398).
158 Changes in version 1.9.9:
160 Changed ld-linux.so and libdl.so to match glibc by not
161 allowing user preloads of system libraries into setu/gid
162 binaries unless the library itself is setuid.
164 Fixed problems in ld-linux.so on the sparc architecture
167 Changes in version 1.9.8:
169 Changed ldconfig to allow the expected type for all
170 libraries in a directory to be optionally specified
171 (Mark Phillips). See the ldconfig man page.
173 Changed ldconfig to use the same type names used in the
174 change above when the -p option is used.
176 Changes in version 1.9.7:
178 Changed ldd for m68k to use /lib/ld.so.1 instead of
181 Added support for dladdr to libdl.so (Eduard Gode).
183 Fixed a small memory leak in libdl.so (Richard Garnish).
185 Fixed a bug in ldconfig when the -l option was used on a
186 filename without a '/' in it.
188 Updated the man pages (Bug#6404, Bug#9721, Bug#10652,
189 Bug#13494 and Bug#14127). They could still use some work.
191 No longer install the info page since it's way out of date.
193 Fixed minor Debian packaging problems (Bug#13160,
194 Bug#15577 and Bug#19345).
196 Changes in version 1.9.6:
198 Changed ldd to not use the glibc dynamic linker when run
199 on a libc5-based shared library.
201 Added a -q option to ldconfig which causes warnings not
202 to be printed (Bob Tinsley).
204 Dropped support for the Debian libdl1-dev package.
206 Changed ld-linux.so to be compilable with gcc 2.8.0 (Sven
209 Changes in version 1.9.5:
211 Fixed a bug in ldd where ld-linux.so.2 was not called
212 correctly when run on shared libraries.
214 Fixed a problem in the previous version where some
215 Makefiles were not architecture independent.
217 Changes in version 1.9.4:
219 Fixed a bug in ld.so introduced in the previous version
220 which broke preloads.
222 Turned a.out support back on by default, at least for the
223 time being. There are no promises to keep it.
225 Changes in version 1.9.3:
227 Fixed buffer overflow bugs in ld-linux.so and ld.so.
229 Changed the README file a little to clarify a couple of
232 Changed ldconfig to chroot to the specified directory when
233 the new -r option is used (Bob Tinsley).
235 Changes in version 1.9.2:
237 Removed /usr/local/lib from the default /etc/ld.so.conf
238 for Debian (Bug#8181).
240 Changed ldconfig to be 64-bit clean (H.J. Lu).
242 Changes in version 1.9.1:
244 Changed ldconfig to try to determine which libc a
245 library is for even if it doesn't have an soname.
247 Fixed a bug in ldconfig where an older library using
248 the glibc naming convention would be used instead of
251 Changed to ld-linux.so and libdl.so to not require the
252 libc5 headers in order to compile.
254 Changed ldconfig and ldd to be compilable with either
257 Changes in version 1.9.0:
259 Changed to not build the old, a.out dynamic loader by
262 Changed instldso.sh to require the --force option to
263 make sure users read the README file.
265 Changed instldso.sh to not install the libdl.so
266 development files unless the --devfiles option is used.
268 Changed instldso.sh to not strip binaries and libraries
269 if the --no-strip option is used.
271 Changed the Debian packaging to put the development files
272 which conflict with glibc in a new libdl1-dev package.
274 Changed ldd to use the glibc dynamic linker, if it is
275 available, when run on a shared library.
277 Changed ld-linux.so to print the load addresses of
278 libraries, ala glibc, when run by ldd.
280 Changed ld-linux.so to allow the libraries listed in
281 LD_PRELOAD to be separated by white space in addition to
284 Changed ld-linux.so to load the libraries listed in
285 LD_PRELOAD for setu/gid programs as long as they can be
288 Changed ldconfig to update the symlinks for the dynamic
291 Changed ldconfig to try to determine if an ELF library is
292 intended for libc5 or libc6 and save the infomation in the
293 cache. The mechanism used is rather simplistic and may
296 Changed ldconfig to print the type of ELF library when
299 Changed ld-linux.so to only load ELF shared libraries for
300 use with libc5 or an unknown libc.
302 Changes in version 1.8.10:
304 Fixed a bug in ldconfig where a symlink could be used
305 instead of a regular file.
307 Fixed a Debian packaging problem for the sparc
310 Changes in version 1.8.9:
312 Changed ldconfig to only cache the symlinks it creates.
313 This make the behavior of the dynamic linkers consistent
314 with how they would behave if a cache was not used.
316 Changed ldconfig to cache the symlinks that it finds but
317 use the name of the symlink as the soname instead of the
320 Changes in version 1.8.8:
322 Minor documentation updates to reflect recent changes.
324 Changed ld.so and ld-linux.so to perform more complete
325 validation on ld.so.cache before using it.
327 Changed ldconfig to accept libraries with inconsistent
328 sonames since glibc is going to use them. A warning is
329 still printed in debug mode.
331 Changed the install script to not strip _dl_debug_state
332 from ld-linux.so since gdb needs it.
334 More sparc fixes (Derrick Brashear).
336 Changed ldconfig to not issue a warning when a linker
337 script disguised as a shared library is found.
339 Fixed a bug in ld-linux.so where some registers were
340 not preserved on the first call to a function causing
341 problems for non-C-like languages (Tim Renouf).
343 Fixed a bug in ld-linux.so where global variables were
344 not always mapped correctly across dynamically loaded
345 libraries (Mikihiko Nakao).
347 Converted to new Debian source packaging format (Shaya
350 Changes in version 1.8.6/7:
352 Never released as some unofficial patches used these
355 Changes in version 1.8.5:
357 Fixed a bug in ld.so introduced in the previous changes.
359 Changes in version 1.8.4:
361 Changed ldconfig to completely ignore symbolic links.
363 Changed ldconfig to issue the warning concerning an
364 inconsistent soname in non-verbose mode.
366 Changed ld-linux.so back to not keep ld.so.cache mapped
369 Changed Debian packaging to compress man pages, strip all
370 binaries (Bug#5125) and include a shlibs file.
372 Changes in version 1.8.3:
374 Changed ld-linux.so to process LD_PRELOAD before
377 Fixed a Debian packaging problem where libdl might not
378 be available if other packages were upgraded at the same
379 time (Debian Bug#4728).
381 Changed ldd to always exit with status 1 if any errors
382 occur (Debian Bug#4188).
384 Fixed some minor problems in instldso.sh (Mike Castle and
387 Changed ldconfig to issue a warning in verbose mode when
388 skipping a library because the soname doesn't match.
390 More sparc fixes (Miguel de Icaza).
392 Don't link with -N when building ld.so (Alan Modra).
394 Changed ld-linux.so to better support position-dependant
395 libraries (NIIBE Yutaka).
397 Changes in version 1.8.2:
399 Added a texinfo file for ld.so and libdl (Michael
402 Minor sparc and installation changes (Elliot Lee).
404 Added multiple architecture support for Debian (Leland
407 Changed libdl to better support RTLD_NEXT (Eric
408 Youngdale). Note: the exact meaning of ETLD_NEXT is
409 still not clear in all cases.
411 Removed some libc dependencies from libdl. Still need
412 to remove malloc and free.
414 Changes in version 1.8.1:
416 Changed ld.so to be compiled as ELF. This also means
417 that ELF support is now required. A.out support is
420 Changed ld-linux.so and libdl.so to use the rpath in the
421 executable instead of in the invoking shared library.
423 More m68k fixes (Andreas Schwab).
425 Various sparc fixes (Miguel de Icaza).
427 Changed ldcnnfig to ignore libraries ending in '~'.
429 Changed ldconfig to allow alternative conf and cache
430 files to be specified on the command-line.
432 Changed libdl.so to work when dlsym is passed a NULL
435 Changes in version 1.8.0:
437 Changed ld-linux.so to be more liberal when checking to
438 see if a library is already loaded. This should avoid
439 the duplicate loading problem for programs linkeed with
442 Various m68k fixes (Andreas Schwab).
444 Changed ld.so to only use LD_AOUT_LIBRARY_PATH and
445 LD_AOUT_PRELOAD and ld-linux.so to only use
446 LD_LIBRARY_PATH and LD_PRELOAD. LD_ELF_LIBRARY_PATH
447 and LD_ELF_PRELOAD are no longer supported.
449 Changed ld-linux.so to allow debugging of shared and
450 dynamically loaded libraries (H.J. Lu, Andreas Schwab).
452 Changed ld-linux.so to preload ELF shared libraries
453 listed in /etc/ld.so.preload. This allows secure
454 preloads, even for setuid/setgid programs.
456 Changed ld-linux.so to keep ld.so.cache mapped at all
459 Changed ldconfig to allow #-style comments in ld.so.conf.
461 Removed various compiler warnings (Richard Sladkey and
464 Changed ldd to work on ELF shared libraries. This may
465 need a little more work.
467 Changes in version 1.7.14:
469 Changed ldconfig to recognize ELF shared libraries
470 generated by post-2.6 versions of ld (Andreas Schwab).
472 Changed ldconfig to not remove stale links that do not
473 have a version number since they may be needed by ld.
475 Changes in version 1.7.13:
477 Fixed a problem in ld-linux.so where a program linked
478 with a shared library that was not used could result in
479 a segmentation fault (H.J. Lu).
481 Changes in version 1.7.12:
483 Fixed a problem in libdl.so where the wrong library
484 could be marked as global when RTLD_GLOBAL was used
487 Installed dlfcn.h with libdl.so instead of requiring
488 it to be supplied with libc.
490 Removed support for libldso.a since it was nearly
491 impossible to use anyway.
493 Changed ldd to detect when the program being checked
496 Changes in version 1.7.11:
498 Changed ld.so and ld-linux.so to delete all variations
499 of LD_PRELOAD and LD_LIBRARY_PATH for set[ug]id programs,
500 This makes it harder for broken set[ug]id programs to be
503 Fixed a problem in libdl.so where dlsym would not accept
504 the handle returned from dlopen(0, *).
506 Changes in version 1.7.10:
508 Changed ld-linux.so and libdl.so to support RTLD_GLOBAL
511 Changes in version 1.7.9:
513 Fixed a problem in ld-linux.so in detecting when the
514 new user/group information is provided by the kernel.
516 Fixed a problem in ld-linux.so where a buffer could be
517 overflowed if a large number of libraries were loaded
520 Changes in version 1.7.8:
522 Changed the Makefiles and install scripts to support
523 a.out- and ELF-only configurations.
525 Changed ld-linux.so to use the user/group information
526 provided by linux 1.3.23+ instead of making syscalls
529 Changed libdl.so to support RTLD_NEXT (Glenn Fowler).
531 Changed libdl.so to only execute the fini sections
532 instead of completely closing libraries at exit (Glenn
535 Changed ld.so and ld-linux.so to print the required
536 cache version when a mismatch is detected.
538 Changed ld-linux.so to not require on /dev/zero (Ralph
541 Minor m68k cleanups (Andreas Schwab).
543 Changes in version 1.7.7:
545 Fixed problems compiling with recent 1.3.x kernels.
547 Changed ld-linux.so to not use MAP_DENYWRITE until the
548 permission issue regarding it is resolved.
550 Changes in version 1.7.6:
552 Fixed a bug in ld-linux.so dealing with a zero-length
555 Changed ld.so and ld-linux.so to truncate all variations
556 of LD_PRELOAD and LD_LIBRARY_PATH for set[ug]id programs.
558 Changes in version 1.7.5:
560 Changed ldconfig to recognize libraries without any
561 version number (eg. libXYZ.so).
563 Changed ldconfig to not generate a corrupt cache when
564 the disk is full or other write errors occur.
566 Changed ld-linux.so to map files with MAP_DENYWRITE to
567 keep them from being changed while the file is in use
570 Changed libdl to not overwrite the scope pointer of a
571 library if it was already loaded (H.J. Lu).
573 Changed ld-linux.so so gdb can be used on constructors
576 Changed ldconfig to ignore ELF libraries where the soname
577 does not match the file name on the assumption that it is
578 a used at compile-time (eg. libcurses.so -> libncruses.so).
580 Changes in version 1.7.4:
582 Changed ld-linux.so and libdl to use the appropriate
583 rpaths when searching for shared libraries (Eric
586 Changed ld-linux.so to search rpath before using the
587 cache. This more closely conforms to the IBCS standard.
589 Changes in version 1.7.3:
591 Changed ld-linux.so to only print a library name the
592 first time it is loaded when run from ldd.
594 Fixed a bug in ldconfig where an invalid cache could be
595 generated if a directory was specified multiple times in
598 Changed ld-linux.so so it will return the address of a
599 weak symbol when called from dlsym in libdl (Eric
602 Changes in version 1.7.2:
604 Changed libdl.so again to fix the undefined foobar
607 Changes in version 1.7.1:
609 Changed libdl so it will compile at optimization level
612 Changed ldconfig to always create the cache file with
615 Changed ldconfig to not ingore valid symlinks.
617 Changed ldconfig to use the library name as the soname
618 for ELF libraries that do not have an soname entry.
620 Changed ld-linux.so to print the actual, requested library
621 name at the time it is loaded instead of trying to figure
622 it out after the fact.
624 Changes in version 1.7.0:
626 Changed ldconfig to read the actual soname from the image
627 for ELF libraries and make it available to ld-linux.so.
628 The soname for DLL libraries is still determined by
629 truncating the minor numbers from the image file name.
631 Changed ldconfig to no longer support the undocumented
634 Changed ld.so to require a valid cache to find libraries
635 in directories specified in ld.so.conf. /usr/lib and /lib
636 are still searched as a last resort. Ld-linux.so already
639 Fixed a bug in libldso.a where the arguments to
640 shared_loader were not parsed correctly (Wolfram Gloger).
642 Added support for RELA-style relocations under Linux/68k
645 Changed ld-linux.so to only map the cache once for all
646 libraries instead of individually for each library.
648 Changed ld-linux.so continue searching the cache instead of
649 giving up when failing to load the first entry found.
651 Changed ld-linux.so to produce output similar to ld.so when
652 run from ldd or when errors occur.
654 Changes in version 1.6.7:
656 Changed the install scripts to make sure that ld.so and
657 ld-linux.so are always usable.
659 Added support for Linux/Sparc (Eric Youngdale).
661 Added support for Linux/68k (Andreas Schwab).
663 Fixed various bugs in ld-linux.so dealing with closing
664 files, unmapping memory, dereferencing NULL pointers and
665 printing library names (David Engel, Eric Youngdale and
668 Replaced the manual page for libdl with a freely
669 distributable one (Adam Richter).
671 Fixed a bug in ld-linux.so where LD_LIBRARY_PATH and
672 LD_PRELOAD were not cleared for setuid/setgid programs.
674 Fixed a bug in libdl where dlsym would not return the
675 correct address of a symbol if it was redefined in another
676 library (Oleg Kibirev).
678 Changed ld-linux.so to use the following order to search
679 for libraries: LD_{ELF_}LIBRARY_PATH, ld.so.cache, rpath,
682 Changed ld-linux.so to not needlessly allocate memory when
685 Changes in version 1.6.6:
687 Changed ldconfig to not warn about removing stale links
688 unless the -v option is specified.
690 Added manual pages for libdl (from FreeBSD/Sun)
692 Fixed a bug in ld.so dealing with preloading of objects
693 generated by recent versions of ld (Mitch D'Souza).
695 Fixed bugs in ldd where some errors were either not
696 detected or not printed.
698 Fixed a bug in ld-linux.so where the trailing nul in a
699 library name was not being copied (Owen Taylor).
701 Changes in version 1.6.5:
703 Changed ldconfig to remove stale symbolic links.
705 Added debug hooks in ld-linux.so and libdl.so to be used
706 by a future version of gdb (Eric Youngdale).
708 Changes in version 1.6.4:
710 Change ld-linux.so to print on stdout instead of stderr
713 Added support for Debian GNU/Linux packaging.
715 Changes in version 1.6.3:
717 Fixed a bug in libdl when closing a library (H.J. Lu).
719 Changes in version 1.6.2:
721 Changed the error message printed by ldd when a file is
722 not a.out or ELF. It used to only list a.out formats.
724 Changed ldconfig to no longer cache and set up links for
727 Changed ld-linux.so and libdl to not conflict with upcoming
728 changes in kernel header files.
730 Changed ld-linux.so to not print preloaded libraries.
732 Changes in version 1.6.1:
734 Updated the installation script.
736 Changed ld.so and ld-linux.so to look for LD_AOUT_PRELOAD
737 and LD_ELF_PRELOAD, respectively, before LD_PRELOAD.
739 Changed ld.so and ld-linux.so to use LD_AOUT_LIBRARY_PATH
740 and LD_ELF_LIBRARY_PATH, respectively, instead of
741 AOUT_LD_LIBRARY_PATH and ELF_LD_LIBRARY_PATH.
743 Changes in version 1.6.0:
745 Changed ldconfig to process libraries which do not have
746 a minor version or patch level number.
748 Incorporated ld-linux.so and libdl.so.
750 Changed ld.so and ld-linux.so to not miss entries in the
751 cache when the fully qualified library is requested.
753 Changed ldconfig to use stdout instead of stderr when
756 Changes in version 1.5.3:
758 LD_PRELOAD enhancements (Tristan Gigold).
760 LD_PRELOAD patch for linux-68k (Andreas Schwab).
762 Changes in version 1.5.2:
764 More ELF changes (Mitch D'Souza).
766 Changed ldconfig to also update the link for ld-linux.so.
768 Changes in version 1.5.1:
770 More ELF and LD_PRELOAD changes (Mitch D'Souza).
772 Changes in version 1.5.0:
774 Chnaged all executables to QMAGIC (Mitch D'Souza and Rick
777 Added preliminary support for ELF to ldd and ldconfig (Eric
778 Youndale and H.J. Lu).
780 Added support for LD_PRELOAD to ld.so (Mitch D'Souza).
782 Removed the "advertising" clause from the copyright notices
785 Changes in version 1.4.4:
787 Changed ldconfig to support QMAGIC libraries.
789 Fixed a bug in ld.so where some of the error messages had
790 transposed arguments.
792 Changes in version 1.4.3:
794 Fixed an obscure bug in ld.so where an index was not being
795 incremented when a library was not found using the cache.
797 Changes in version 1.4.2:
799 Changed ldconfig to issue a warning and continue instead
800 of an error and exiting when a link can't be updated.
801 This is useful when some libraries are imported on read-
802 only file systems, such as an NFS mounted /usr.
804 Changed ld.so to be more robust in searching for libraries.
805 A library is not considered found unless it can actually be
806 loaded. If a library is not found using the cache, the
807 standard directories are searched as in pre-cache versions.
809 Changes in version 1.4.1:
811 Fixed minor Makefile problems.
813 Added support for linux-68k.
815 Fixed a bug in ld.so where libraries with absolute paths
816 were not handled correctly.
818 Changed ld.so to ignore the directory in the names of
819 shared libraries by default. This allows older libraries
820 with absolute paths, such as the XView libraries, to take
821 advantage of the cache support.
823 Added a minimal usage message to ldconfig.
825 Changes in version 1.4:
827 Fixed bug in ld.so where minor version numbers were not
828 reported correctly when a minor version incompatibility
831 Fixed bug in ldconfig where libraries with subversion
832 numbers greater than 9 were not compared correctly.
834 Added Mitch D'Souza's support for suppressing warning
835 messages from ld.so about minor version incompatibilities.
837 Added Mitch D'Souza's support for using a cache to speed
838 up searching for libraries in the standard directories.
840 Added Mitch D'Souza's support for a debugging version of
841 ld.so. Link with -lldso if you think you are experiencing
842 dynamic linker problems.
844 Changes in version 1.3:
846 Added support for libraries using absolute pathnames. If I
847 had known that the XView libraries used them, I would have
850 Fixed a bug handling old libraries using a pathname beginning
853 Changes in version 1.2a:
855 Fixed a minor bug in ldd which caused all files, specifically
856 scripts, to be recognized as binaries. Thanks to Olaf Flebbe