]> Git Repo - uclibc-ng.git/blame - ldso/README
Fix libdl bug reported by Cedric Hombourger in
[uclibc-ng.git] / ldso / README
CommitLineData
66f269d2
EA
1
2Apr 20, 2001 -- Manuel Novoa III
3
4Inital port for uClibc from debian ld.so_1.9.11-9.tar.gz.
5
6Removed a.out support.
7
66f269d2
EA
8****************** original ld.so.lsm file **************************
9Begin3
10Title: Linux shared, dynamic linker and utilities.
11Version: 1.9.11
12Entered-date: 01MAY99
13Description: This package contains ld.so, ld-linux.so, ldconfig,
14 ldd and libdl.
15Keywords: dynamic linker, shared library, ld.so, ld-linux.so,
16 ldconfig, ldd, libdl
17Author: [email protected] (David Engel)
18Maintained-by: [email protected] (David Engel)
19Primary-site: tsx-11.mit.edu /pub/linux/packages/GCC
20 ld.so-1.9.11.tar.gz
21Alternate-site: sunsite.unc.edu /pub/Linux/GCC
22 ld.so-1.9.11.tar.gz
23Platform: Linux 2.0.0 or later.
24Copying-policy: Copyrighted but freely distributable.
25End
26*********************************************************************
27 Original README starts here
28*********************************************************************
29
30This package contains my ELF dynamic linkers (ld-linux.so.1), dynamic
31linker library (libdl.so.1) and utilities (ldconfig and ldd) for Linux.
32
33You need Linux kernel 2.0.0 or later with ELF support compiled in
34(i.e. not loaded as a module) to use this package.
35
36The dynamic linker is used to bootstrap programs and load shared
37libraries at startup. The dynamic linker library is used to
38dynamically load shared libraries after a program is running.
39Ldconfig is used to automatically update the symbolic links to shared
40libraries and build the cache file used by the dynamic linker. Ldd is
41used to list the shared libraries used by a program.
42
43Please see the included manual pages for further details.
44
45To install, simply run "sh instldso.sh" as root. Ready-to-go versions
46of all end-products are provided so nothing should need to be compiled
47or linked. If you are still using libc5 as your primary development
48library, you should use the "--devfiles" option when running
49instldso.sh to install the file needed to compile with libdl.
50
51ELF versions of gcc, binutils and libc are now required to compile
52everything, including the old, unsupported, a.out dynamic linker.
53Finally, an optimization level of O2 or higher must be used to compile
54ld-linux.so and libdl.so due the use of inline functions.
55
56Notable contributors to this package include Eric Youngdale, Peter
57MacDonald, Hongjiu Lu, Linus Torvalds, Lars Wirzenius, Mitch D'Souza,
58Rik Faith, Andreas Schwab and Adam Richter (not necessarily in that
59order).
60
61###################### IMPORTANT NOTICES #############################
62
63A.OUT SUPPORT:
64
65As of ld.so-1.9.0, the old, a.out dynamic loader is no longer
66officially supported. The code is still included and built, but I
67make no promises that it will work. I will accept patches for it,
68but they will not be tested by me.
69
70GLIBC (AKA LIBC6) SUPPORT:
71
72As of ld.so-1.9.0, the main focus of this package is to ease the
73transition to libc6. No significant, new features are expected to be
74added. If you need new features, switch to libc6.
75
76Except for libpthread.so, the sonames of the core libraries provided
77with libc6 have been chosen so they do not conflict with those
78provided by libc5 and ld.so. However, the current plan is not use
79new, nonconflicting sonames for other libraries such as ncurses and
80X11. This presents two problems. First, libraries using the same
81soname for both libc5 and libc6 can not be placed in the same
82directory. Second, the dynamic linkers need to make sure not to load
83a library for the wrong version of libc.
84
85The first problem is easy. Just move the old, libc5-based libraries
86to new directories (e.g. /lib/libc5-compat, /usr/lib/libc5-compat,
87etc.) and add those directories to /etc/ld.so.conf. Then install the
88new, libc6-based versions in the standard places.
89
90The second problem is more difficult. Ideally, the dynamic linkers
91would be changed to perform a complete dependency analysis on every
92library to be loaded to make sure the wrong versions aren't used.
93This approach doesn't seem worth the added complexity, especially
94since we now have symbol versioning for ELF libraries. Instead a
95simpler approach will be used, at least initially.
96
97Ldconfig has been modified to perform a (currently simple) dependency
98analysis on libraries and to store an indication in /etc/ld.so.cache
99of whether a library is for libc5, libc6 or an unknown libc. The
100dynamic linkers then only need to make a simple check at run-time to
101make sure they don't load the wrong version of a library.
102
103The dynamic linker for libc5 provided in this package, has already
104been modified to use the new information in /etc/ld.so.cache. For
105glibc versions 2.0.1 and earlier, the dynamic linker for libc6 needs
106the patch contained in glibc.patch. You should apply the patch and
107rebuild glibc before using the new ldconfig.
108
109As stated above, the dependency analysis currently done by ldconfig is
110rather simple. Basically, it looks for the sonames used by the
111various versions of libc, libm and libdl. For any approach using a
112dependency analysis such as this to work, it is very important that
113shared libraries be built with complete dependency information. This
114can be done by using the appropriate -l options when running 'gcc
115-shared'. For example, when building libfoo.so which depends on libc
116and libbar, you should add -lbar and -lc gcc command line.
117
118######################################################################
119
120Changes in version 1.9.11:
121
122 Fixed a bug in ld-linux.so where a reference to an
123 undefined symbol could cause a segfault.
124
125 Added a clarification for LD_PRELOAD to the ld.so manual
126 page and added a symlink for ld-linux.so (Bug#33123).
127
128 Don't install ldd for Debian except for the m68k arch
129 because glibc 2.1 now includes it (Bug#35458).
130
131Changes in version 1.9.10:
132
133 Changed ldconfig to issue a warning and not overwrite a
134 regular file with a symlink (Bug#30859).
135
136 Changed Debian packaging to conflict with and replace the
137 ldconfig package (Bug#29398).
138
139Changes in version 1.9.9:
140
141 Changed ld-linux.so and libdl.so to match glibc by not
142 allowing user preloads of system libraries into setu/gid
143 binaries unless the library itself is setuid.
144
145 Fixed problems in ld-linux.so on the sparc architecture
146 (Juan Cespedes).
147
148Changes in version 1.9.8:
149
150 Changed ldconfig to allow the expected type for all
151 libraries in a directory to be optionally specified
152 (Mark Phillips). See the ldconfig man page.
153
154 Changed ldconfig to use the same type names used in the
155 change above when the -p option is used.
156
157Changes in version 1.9.7:
158
159 Changed ldd for m68k to use /lib/ld.so.1 instead of
160 /lib/ld-linux.so.2.
161
162 Added support for dladdr to libdl.so (Eduard Gode).
163
164 Fixed a small memory leak in libdl.so (Richard Garnish).
165
166 Fixed a bug in ldconfig when the -l option was used on a
167 filename without a '/' in it.
168
169 Updated the man pages (Bug#6404, Bug#9721, Bug#10652,
170 Bug#13494 and Bug#14127). They could still use some work.
171
172 No longer install the info page since it's way out of date.
173
174 Fixed minor Debian packaging problems (Bug#13160,
175 Bug#15577 and Bug#19345).
176
177Changes in version 1.9.6:
178
179 Changed ldd to not use the glibc dynamic linker when run
180 on a libc5-based shared library.
181
182 Added a -q option to ldconfig which causes warnings not
183 to be printed (Bob Tinsley).
184
185 Dropped support for the Debian libdl1-dev package.
186
187 Changed ld-linux.so to be compilable with gcc 2.8.0 (Sven
188 Verdoolaege)
189
190Changes in version 1.9.5:
191
192 Fixed a bug in ldd where ld-linux.so.2 was not called
193 correctly when run on shared libraries.
194
195 Fixed a problem in the previous version where some
196 Makefiles were not architecture independent.
197
198Changes in version 1.9.4:
199
200 Fixed a bug in ld.so introduced in the previous version
201 which broke preloads.
202
203 Turned a.out support back on by default, at least for the
204 time being. There are no promises to keep it.
205
206Changes in version 1.9.3:
207
208 Fixed buffer overflow bugs in ld-linux.so and ld.so.
209
210 Changed the README file a little to clarify a couple of
211 things.
212
213 Changed ldconfig to chroot to the specified directory when
214 the new -r option is used (Bob Tinsley).
215
216Changes in version 1.9.2:
217
218 Removed /usr/local/lib from the default /etc/ld.so.conf
219 for Debian (Bug#8181).
220
221 Changed ldconfig to be 64-bit clean (H.J. Lu).
222
223Changes in version 1.9.1:
224
225 Changed ldconfig to try to determine which libc a
226 library is for even if it doesn't have an soname.
227
228 Fixed a bug in ldconfig where an older library using
229 the glibc naming convention would be used instead of
230 a newer library.
231
232 Changed to ld-linux.so and libdl.so to not require the
233 libc5 headers in order to compile.
234
235 Changed ldconfig and ldd to be compilable with either
236 libc5 or libc6.
237
238Changes in version 1.9.0:
239
240 Changed to not build the old, a.out dynamic loader by
241 default.
242
243 Changed instldso.sh to require the --force option to
244 make sure users read the README file.
245
246 Changed instldso.sh to not install the libdl.so
247 development files unless the --devfiles option is used.
248
249 Changed instldso.sh to not strip binaries and libraries
250 if the --no-strip option is used.
251
252 Changed the Debian packaging to put the development files
253 which conflict with glibc in a new libdl1-dev package.
254
255 Changed ldd to use the glibc dynamic linker, if it is
256 available, when run on a shared library.
257
258 Changed ld-linux.so to print the load addresses of
259 libraries, ala glibc, when run by ldd.
260
261 Changed ld-linux.so to allow the libraries listed in
262 LD_PRELOAD to be separated by white space in addition to
263 colons.
264
265 Changed ld-linux.so to load the libraries listed in
266 LD_PRELOAD for setu/gid programs as long as they can be
267 loaded securely.
268
269 Changed ldconfig to update the symlinks for the dynamic
270 linkers.
271
272 Changed ldconfig to try to determine if an ELF library is
273 intended for libc5 or libc6 and save the infomation in the
274 cache. The mechanism used is rather simplistic and may
275 need to be enhanced.
276
277 Changed ldconfig to print the type of ELF library when
278 printing the cache.
279
280 Changed ld-linux.so to only load ELF shared libraries for
281 use with libc5 or an unknown libc.
282
283Changes in version 1.8.10:
284
285 Fixed a bug in ldconfig where a symlink could be used
286 instead of a regular file.
287
288 Fixed a Debian packaging problem for the sparc
289 architecture.
290
291Changes in version 1.8.9:
292
293 Changed ldconfig to only cache the symlinks it creates.
294 This make the behavior of the dynamic linkers consistent
295 with how they would behave if a cache was not used.
296
297 Changed ldconfig to cache the symlinks that it finds but
298 use the name of the symlink as the soname instead of the
299 actual soname.
300
301Changes in version 1.8.8:
302
303 Minor documentation updates to reflect recent changes.
304
305 Changed ld.so and ld-linux.so to perform more complete
306 validation on ld.so.cache before using it.
307
308 Changed ldconfig to accept libraries with inconsistent
309 sonames since glibc is going to use them. A warning is
310 still printed in debug mode.
311
312 Changed the install script to not strip _dl_debug_state
313 from ld-linux.so since gdb needs it.
314
315 More sparc fixes (Derrick Brashear).
316
317 Changed ldconfig to not issue a warning when a linker
318 script disguised as a shared library is found.
319
320 Fixed a bug in ld-linux.so where some registers were
321 not preserved on the first call to a function causing
322 problems for non-C-like languages (Tim Renouf).
323
324 Fixed a bug in ld-linux.so where global variables were
325 not always mapped correctly across dynamically loaded
326 libraries (Mikihiko Nakao).
327
328 Converted to new Debian source packaging format (Shaya
329 Potter).
330
331Changes in version 1.8.6/7:
332
333 Never released as some unofficial patches used these
334 version numbers.
335
336Changes in version 1.8.5:
337
338 Fixed a bug in ld.so introduced in the previous changes.
339
340Changes in version 1.8.4:
341
342 Changed ldconfig to completely ignore symbolic links.
343
344 Changed ldconfig to issue the warning concerning an
345 inconsistent soname in non-verbose mode.
346
347 Changed ld-linux.so back to not keep ld.so.cache mapped
348 at all times.
349
350 Changed Debian packaging to compress man pages, strip all
351 binaries (Bug#5125) and include a shlibs file.
352
353Changes in version 1.8.3:
354
355 Changed ld-linux.so to process LD_PRELOAD before
356 /etc/ld.so.preload.
357
358 Fixed a Debian packaging problem where libdl might not
359 be available if other packages were upgraded at the same
360 time (Debian Bug#4728).
361
362 Changed ldd to always exit with status 1 if any errors
363 occur (Debian Bug#4188).
364
365 Fixed some minor problems in instldso.sh (Mike Castle and
366 Wolfgang Franke).
367
368 Changed ldconfig to issue a warning in verbose mode when
369 skipping a library because the soname doesn't match.
370
371 More sparc fixes (Miguel de Icaza).
372
373 Don't link with -N when building ld.so (Alan Modra).
374
375 Changed ld-linux.so to better support position-dependant
376 libraries (NIIBE Yutaka).
377
378Changes in version 1.8.2:
379
380 Added a texinfo file for ld.so and libdl (Michael
381 Deutschmann).
382
383 Minor sparc and installation changes (Elliot Lee).
384
385 Added multiple architecture support for Debian (Leland
386 Lucius).
387
388 Changed libdl to better support RTLD_NEXT (Eric
389 Youngdale). Note: the exact meaning of ETLD_NEXT is
390 still not clear in all cases.
391
392 Removed some libc dependencies from libdl. Still need
393 to remove malloc and free.
394
395Changes in version 1.8.1:
396
397 Changed ld.so to be compiled as ELF. This also means
398 that ELF support is now required. A.out support is
399 still optional.
400
401 Changed ld-linux.so and libdl.so to use the rpath in the
402 executable instead of in the invoking shared library.
403
404 More m68k fixes (Andreas Schwab).
405
406 Various sparc fixes (Miguel de Icaza).
407
408 Changed ldcnnfig to ignore libraries ending in '~'.
409
410 Changed ldconfig to allow alternative conf and cache
411 files to be specified on the command-line.
412
413 Changed libdl.so to work when dlsym is passed a NULL
414 handle pointer.
415
416Changes in version 1.8.0:
417
418 Changed ld-linux.so to be more liberal when checking to
419 see if a library is already loaded. This should avoid
420 the duplicate loading problem for programs linkeed with
421 the -rpath option.
422
423 Various m68k fixes (Andreas Schwab).
424
425 Changed ld.so to only use LD_AOUT_LIBRARY_PATH and
426 LD_AOUT_PRELOAD and ld-linux.so to only use
427 LD_LIBRARY_PATH and LD_PRELOAD. LD_ELF_LIBRARY_PATH
428 and LD_ELF_PRELOAD are no longer supported.
429
430 Changed ld-linux.so to allow debugging of shared and
431 dynamically loaded libraries (H.J. Lu, Andreas Schwab).
432
433 Changed ld-linux.so to preload ELF shared libraries
434 listed in /etc/ld.so.preload. This allows secure
435 preloads, even for setuid/setgid programs.
436
437 Changed ld-linux.so to keep ld.so.cache mapped at all
438 times.
439
440 Changed ldconfig to allow #-style comments in ld.so.conf.
441
442 Removed various compiler warnings (Richard Sladkey and
443 David Engel).
444
445 Changed ldd to work on ELF shared libraries. This may
446 need a little more work.
447
448Changes in version 1.7.14:
449
450 Changed ldconfig to recognize ELF shared libraries
451 generated by post-2.6 versions of ld (Andreas Schwab).
452
453 Changed ldconfig to not remove stale links that do not
454 have a version number since they may be needed by ld.
455
456Changes in version 1.7.13:
457
458 Fixed a problem in ld-linux.so where a program linked
459 with a shared library that was not used could result in
460 a segmentation fault (H.J. Lu).
461
462Changes in version 1.7.12:
463
464 Fixed a problem in libdl.so where the wrong library
465 could be marked as global when RTLD_GLOBAL was used
466 (Lars Heete).
467
468 Installed dlfcn.h with libdl.so instead of requiring
469 it to be supplied with libc.
470
471 Removed support for libldso.a since it was nearly
472 impossible to use anyway.
473
474 Changed ldd to detect when the program being checked
475 exited abnormally.
476
477Changes in version 1.7.11:
478
479 Changed ld.so and ld-linux.so to delete all variations
480 of LD_PRELOAD and LD_LIBRARY_PATH for set[ug]id programs,
481 This makes it harder for broken set[ug]id programs to be
482 compromised.
483
484 Fixed a problem in libdl.so where dlsym would not accept
485 the handle returned from dlopen(0, *).
486
487Changes in version 1.7.10:
488
489 Changed ld-linux.so and libdl.so to support RTLD_GLOBAL
490 (Eric Youngdale).
491
492Changes in version 1.7.9:
493
494 Fixed a problem in ld-linux.so in detecting when the
495 new user/group information is provided by the kernel.
496
497 Fixed a problem in ld-linux.so where a buffer could be
498 overflowed if a large number of libraries were loaded
499 (Thomas Moore).
500
501Changes in version 1.7.8:
502
503 Changed the Makefiles and install scripts to support
504 a.out- and ELF-only configurations.
505
506 Changed ld-linux.so to use the user/group information
507 provided by linux 1.3.23+ instead of making syscalls
508 to get it.
509
510 Changed libdl.so to support RTLD_NEXT (Glenn Fowler).
511
512 Changed libdl.so to only execute the fini sections
513 instead of completely closing libraries at exit (Glenn
514 Fowler).
515
516 Changed ld.so and ld-linux.so to print the required
517 cache version when a mismatch is detected.
518
519 Changed ld-linux.so to not require on /dev/zero (Ralph
520 Loader).
521
522 Minor m68k cleanups (Andreas Schwab).
523
524Changes in version 1.7.7:
525
526 Fixed problems compiling with recent 1.3.x kernels.
527
528 Changed ld-linux.so to not use MAP_DENYWRITE until the
529 permission issue regarding it is resolved.
530
531Changes in version 1.7.6:
532
533 Fixed a bug in ld-linux.so dealing with a zero-length
534 LD_{ELF_}PRELOAD.
535
536 Changed ld.so and ld-linux.so to truncate all variations
537 of LD_PRELOAD and LD_LIBRARY_PATH for set[ug]id programs.
538
539Changes in version 1.7.5:
540
541 Changed ldconfig to recognize libraries without any
542 version number (eg. libXYZ.so).
543
544 Changed ldconfig to not generate a corrupt cache when
545 the disk is full or other write errors occur.
546
547 Changed ld-linux.so to map files with MAP_DENYWRITE to
548 keep them from being changed while the file is in use
549 (Rick Sladkey).
550
551 Changed libdl to not overwrite the scope pointer of a
552 library if it was already loaded (H.J. Lu).
553
554 Changed ld-linux.so so gdb can be used on constructors
555 (Eric Youngdale).
556
557 Changed ldconfig to ignore ELF libraries where the soname
558 does not match the file name on the assumption that it is
559 a used at compile-time (eg. libcurses.so -> libncruses.so).
560
561Changes in version 1.7.4:
562
563 Changed ld-linux.so and libdl to use the appropriate
564 rpaths when searching for shared libraries (Eric
565 Youngdale).
566
567 Changed ld-linux.so to search rpath before using the
568 cache. This more closely conforms to the IBCS standard.
569
570Changes in version 1.7.3:
571
572 Changed ld-linux.so to only print a library name the
573 first time it is loaded when run from ldd.
574
575 Fixed a bug in ldconfig where an invalid cache could be
576 generated if a directory was specified multiple times in
577 ld.so.conf.
578
579 Changed ld-linux.so so it will return the address of a
580 weak symbol when called from dlsym in libdl (Eric
581 Youngdale.
582
583Changes in version 1.7.2:
584
585 Changed libdl.so again to fix the undefined foobar
586 problem.
587
588Changes in version 1.7.1:
589
590 Changed libdl so it will compile at optimization level
591 O3 or higher.
592
593 Changed ldconfig to always create the cache file with
594 mode 644.
595
596 Changed ldconfig to not ingore valid symlinks.
597
598 Changed ldconfig to use the library name as the soname
599 for ELF libraries that do not have an soname entry.
600
601 Changed ld-linux.so to print the actual, requested library
602 name at the time it is loaded instead of trying to figure
603 it out after the fact.
604
605Changes in version 1.7.0:
606
607 Changed ldconfig to read the actual soname from the image
608 for ELF libraries and make it available to ld-linux.so.
609 The soname for DLL libraries is still determined by
610 truncating the minor numbers from the image file name.
611
612 Changed ldconfig to no longer support the undocumented
613 sort options.
614
615 Changed ld.so to require a valid cache to find libraries
616 in directories specified in ld.so.conf. /usr/lib and /lib
617 are still searched as a last resort. Ld-linux.so already
618 operated this way.
619
620 Fixed a bug in libldso.a where the arguments to
621 shared_loader were not parsed correctly (Wolfram Gloger).
622
623 Added support for RELA-style relocations under Linux/68k
624 (Andreas Schwab).
625
626 Changed ld-linux.so to only map the cache once for all
627 libraries instead of individually for each library.
628
629 Changed ld-linux.so continue searching the cache instead of
630 giving up when failing to load the first entry found.
631
632 Changed ld-linux.so to produce output similar to ld.so when
633 run from ldd or when errors occur.
634
635Changes in version 1.6.7:
636
637 Changed the install scripts to make sure that ld.so and
638 ld-linux.so are always usable.
639
640 Added support for Linux/Sparc (Eric Youngdale).
641
642 Added support for Linux/68k (Andreas Schwab).
643
644 Fixed various bugs in ld-linux.so dealing with closing
645 files, unmapping memory, dereferencing NULL pointers and
646 printing library names (David Engel, Eric Youngdale and
647 Andreas Schwab).
648
649 Replaced the manual page for libdl with a freely
650 distributable one (Adam Richter).
651
652 Fixed a bug in ld-linux.so where LD_LIBRARY_PATH and
653 LD_PRELOAD were not cleared for setuid/setgid programs.
654
655 Fixed a bug in libdl where dlsym would not return the
656 correct address of a symbol if it was redefined in another
657 library (Oleg Kibirev).
658
659 Changed ld-linux.so to use the following order to search
660 for libraries: LD_{ELF_}LIBRARY_PATH, ld.so.cache, rpath,
661 /usr/lib and /lib.
662
663 Changed ld-linux.so to not needlessly allocate memory when
664 using ld.so.cache.
665
666Changes in version 1.6.6:
667
668 Changed ldconfig to not warn about removing stale links
669 unless the -v option is specified.
670
671 Added manual pages for libdl (from FreeBSD/Sun)
672
673 Fixed a bug in ld.so dealing with preloading of objects
674 generated by recent versions of ld (Mitch D'Souza).
675
676 Fixed bugs in ldd where some errors were either not
677 detected or not printed.
678
679 Fixed a bug in ld-linux.so where the trailing nul in a
680 library name was not being copied (Owen Taylor).
681
682Changes in version 1.6.5:
683
684 Changed ldconfig to remove stale symbolic links.
685
686 Added debug hooks in ld-linux.so and libdl.so to be used
687 by a future version of gdb (Eric Youngdale).
688
689Changes in version 1.6.4:
690
691 Change ld-linux.so to print on stdout instead of stderr
692 when run from ldd.
693
694 Added support for Debian GNU/Linux packaging.
695
696Changes in version 1.6.3:
697
698 Fixed a bug in libdl when closing a library (H.J. Lu).
699
700Changes in version 1.6.2:
701
702 Changed the error message printed by ldd when a file is
703 not a.out or ELF. It used to only list a.out formats.
704
705 Changed ldconfig to no longer cache and set up links for
706 ld-linux.so.
707
708 Changed ld-linux.so and libdl to not conflict with upcoming
709 changes in kernel header files.
710
711 Changed ld-linux.so to not print preloaded libraries.
712
713Changes in version 1.6.1:
714
715 Updated the installation script.
716
717 Changed ld.so and ld-linux.so to look for LD_AOUT_PRELOAD
718 and LD_ELF_PRELOAD, respectively, before LD_PRELOAD.
719
720 Changed ld.so and ld-linux.so to use LD_AOUT_LIBRARY_PATH
721 and LD_ELF_LIBRARY_PATH, respectively, instead of
722 AOUT_LD_LIBRARY_PATH and ELF_LD_LIBRARY_PATH.
723
724Changes in version 1.6.0:
725
726 Changed ldconfig to process libraries which do not have
727 a minor version or patch level number.
728
729 Incorporated ld-linux.so and libdl.so.
730
731 Changed ld.so and ld-linux.so to not miss entries in the
732 cache when the fully qualified library is requested.
733
734 Changed ldconfig to use stdout instead of stderr when
735 printing the cache.
736
737Changes in version 1.5.3:
738
739 LD_PRELOAD enhancements (Tristan Gigold).
740
741 LD_PRELOAD patch for linux-68k (Andreas Schwab).
742
743Changes in version 1.5.2:
744
745 More ELF changes (Mitch D'Souza).
746
747 Changed ldconfig to also update the link for ld-linux.so.
748
749Changes in version 1.5.1:
750
751 More ELF and LD_PRELOAD changes (Mitch D'Souza).
752
753Changes in version 1.5.0:
754
755 Chnaged all executables to QMAGIC (Mitch D'Souza and Rick
756 Sladkey).
757
758 Added preliminary support for ELF to ldd and ldconfig (Eric
759 Youndale and H.J. Lu).
760
761 Added support for LD_PRELOAD to ld.so (Mitch D'Souza).
762
763 Removed the "advertising" clause from the copyright notices
764 in all source files.
765
766Changes in version 1.4.4:
767
768 Changed ldconfig to support QMAGIC libraries.
769
770 Fixed a bug in ld.so where some of the error messages had
771 transposed arguments.
772
773Changes in version 1.4.3:
774
775 Fixed an obscure bug in ld.so where an index was not being
776 incremented when a library was not found using the cache.
777
778Changes in version 1.4.2:
779
780 Changed ldconfig to issue a warning and continue instead
781 of an error and exiting when a link can't be updated.
782 This is useful when some libraries are imported on read-
783 only file systems, such as an NFS mounted /usr.
784
785 Changed ld.so to be more robust in searching for libraries.
786 A library is not considered found unless it can actually be
787 loaded. If a library is not found using the cache, the
788 standard directories are searched as in pre-cache versions.
789
790Changes in version 1.4.1:
791
792 Fixed minor Makefile problems.
793
794 Added support for linux-68k.
795
796 Fixed a bug in ld.so where libraries with absolute paths
797 were not handled correctly.
798
799 Changed ld.so to ignore the directory in the names of
800 shared libraries by default. This allows older libraries
801 with absolute paths, such as the XView libraries, to take
802 advantage of the cache support.
803
804 Added a minimal usage message to ldconfig.
805
806Changes in version 1.4:
807
808 Fixed bug in ld.so where minor version numbers were not
809 reported correctly when a minor version incompatibility
810 was found.
811
812 Fixed bug in ldconfig where libraries with subversion
813 numbers greater than 9 were not compared correctly.
814
815 Added Mitch D'Souza's support for suppressing warning
816 messages from ld.so about minor version incompatibilities.
817
818 Added Mitch D'Souza's support for using a cache to speed
819 up searching for libraries in the standard directories.
820
821 Added Mitch D'Souza's support for a debugging version of
822 ld.so. Link with -lldso if you think you are experiencing
823 dynamic linker problems.
824
825Changes in version 1.3:
826
827 Added support for libraries using absolute pathnames. If I
828 had known that the XView libraries used them, I would have
829 added this earlier.
830
831 Fixed a bug handling old libraries using a pathname beginning
832 with '/' or '/lib/'.
833
834Changes in version 1.2a:
835
836 Fixed a minor bug in ldd which caused all files, specifically
837 scripts, to be recognized as binaries. Thanks to Olaf Flebbe
838 for reporting it.
839
840David Engel
841[email protected]
This page took 0.279571 seconds and 4 git commands to generate.