123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860 |
- Apr 20, 2001 -- Manuel Novoa III
- Inital port for uClibc from debian ld.so_1.9.11-9.tar.gz.
- Removed a.out support.
- "make" generates the ld-linux-uclibc.so.1, libdl.so.1, ldd, ldconfig
- suitable for the target platform.
- "make DEVEL=true" generates the same files, but ld-linux-uclibc.so.1 and
- ldconfig are modified to not conflict with the devel platform system
- libs. (This is only of use if TARGET_ARCH == NATIVE_ARCH.) These
- modified versions ignore /lib and /usr/lib and look for shared libs
- only in $(INSTALL_DIR)/lib. The modified ldconfig writes ld.so.cache
- in $(INSTALL_DIR)/etc.
- The above assumes you've set the DYNAMIC_LINKER to /lib/ld-linux-uclibc.so.1
- in extra/gcc-uClibc/Makefile.
- Todo:
- Remove unneeded code in util/ldd.c.
- Link against static uClibc instead of using custom routines. ???
- Lots more cleanup... especially the arch-dependent Makefiles.
- ****************** 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
|