]>
Commit | Line | Data |
---|---|---|
66f269d2 EA |
1 | |
2 | Apr 20, 2001 -- Manuel Novoa III | |
3 | ||
4 | Inital port for uClibc from debian ld.so_1.9.11-9.tar.gz. | |
5 | ||
6 | Removed a.out support. | |
7 | ||
66f269d2 EA |
8 | ****************** original ld.so.lsm file ************************** |
9 | Begin3 | |
10 | Title: Linux shared, dynamic linker and utilities. | |
11 | Version: 1.9.11 | |
12 | Entered-date: 01MAY99 | |
13 | Description: This package contains ld.so, ld-linux.so, ldconfig, | |
14 | ldd and libdl. | |
15 | Keywords: dynamic linker, shared library, ld.so, ld-linux.so, | |
16 | ldconfig, ldd, libdl | |
17 | Author: [email protected] (David Engel) | |
18 | Maintained-by: [email protected] (David Engel) | |
19 | Primary-site: tsx-11.mit.edu /pub/linux/packages/GCC | |
20 | ld.so-1.9.11.tar.gz | |
21 | Alternate-site: sunsite.unc.edu /pub/Linux/GCC | |
22 | ld.so-1.9.11.tar.gz | |
23 | Platform: Linux 2.0.0 or later. | |
24 | Copying-policy: Copyrighted but freely distributable. | |
25 | End | |
26 | ********************************************************************* | |
27 | Original README starts here | |
28 | ********************************************************************* | |
29 | ||
30 | This package contains my ELF dynamic linkers (ld-linux.so.1), dynamic | |
31 | linker library (libdl.so.1) and utilities (ldconfig and ldd) for Linux. | |
32 | ||
33 | You 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 | ||
36 | The dynamic linker is used to bootstrap programs and load shared | |
37 | libraries at startup. The dynamic linker library is used to | |
38 | dynamically load shared libraries after a program is running. | |
39 | Ldconfig is used to automatically update the symbolic links to shared | |
40 | libraries and build the cache file used by the dynamic linker. Ldd is | |
41 | used to list the shared libraries used by a program. | |
42 | ||
43 | Please see the included manual pages for further details. | |
44 | ||
45 | To install, simply run "sh instldso.sh" as root. Ready-to-go versions | |
46 | of all end-products are provided so nothing should need to be compiled | |
47 | or linked. If you are still using libc5 as your primary development | |
48 | library, you should use the "--devfiles" option when running | |
49 | instldso.sh to install the file needed to compile with libdl. | |
50 | ||
51 | ELF versions of gcc, binutils and libc are now required to compile | |
52 | everything, including the old, unsupported, a.out dynamic linker. | |
53 | Finally, an optimization level of O2 or higher must be used to compile | |
54 | ld-linux.so and libdl.so due the use of inline functions. | |
55 | ||
56 | Notable contributors to this package include Eric Youngdale, Peter | |
57 | MacDonald, Hongjiu Lu, Linus Torvalds, Lars Wirzenius, Mitch D'Souza, | |
58 | Rik Faith, Andreas Schwab and Adam Richter (not necessarily in that | |
59 | order). | |
60 | ||
61 | ###################### IMPORTANT NOTICES ############################# | |
62 | ||
63 | A.OUT SUPPORT: | |
64 | ||
65 | As of ld.so-1.9.0, the old, a.out dynamic loader is no longer | |
66 | officially supported. The code is still included and built, but I | |
67 | make no promises that it will work. I will accept patches for it, | |
68 | but they will not be tested by me. | |
69 | ||
70 | GLIBC (AKA LIBC6) SUPPORT: | |
71 | ||
72 | As of ld.so-1.9.0, the main focus of this package is to ease the | |
73 | transition to libc6. No significant, new features are expected to be | |
74 | added. If you need new features, switch to libc6. | |
75 | ||
76 | Except for libpthread.so, the sonames of the core libraries provided | |
77 | with libc6 have been chosen so they do not conflict with those | |
78 | provided by libc5 and ld.so. However, the current plan is not use | |
79 | new, nonconflicting sonames for other libraries such as ncurses and | |
80 | X11. This presents two problems. First, libraries using the same | |
81 | soname for both libc5 and libc6 can not be placed in the same | |
82 | directory. Second, the dynamic linkers need to make sure not to load | |
83 | a library for the wrong version of libc. | |
84 | ||
85 | The first problem is easy. Just move the old, libc5-based libraries | |
86 | to new directories (e.g. /lib/libc5-compat, /usr/lib/libc5-compat, | |
87 | etc.) and add those directories to /etc/ld.so.conf. Then install the | |
88 | new, libc6-based versions in the standard places. | |
89 | ||
90 | The second problem is more difficult. Ideally, the dynamic linkers | |
91 | would be changed to perform a complete dependency analysis on every | |
92 | library to be loaded to make sure the wrong versions aren't used. | |
93 | This approach doesn't seem worth the added complexity, especially | |
94 | since we now have symbol versioning for ELF libraries. Instead a | |
95 | simpler approach will be used, at least initially. | |
96 | ||
97 | Ldconfig has been modified to perform a (currently simple) dependency | |
98 | analysis on libraries and to store an indication in /etc/ld.so.cache | |
99 | of whether a library is for libc5, libc6 or an unknown libc. The | |
100 | dynamic linkers then only need to make a simple check at run-time to | |
101 | make sure they don't load the wrong version of a library. | |
102 | ||
103 | The dynamic linker for libc5 provided in this package, has already | |
104 | been modified to use the new information in /etc/ld.so.cache. For | |
105 | glibc versions 2.0.1 and earlier, the dynamic linker for libc6 needs | |
106 | the patch contained in glibc.patch. You should apply the patch and | |
107 | rebuild glibc before using the new ldconfig. | |
108 | ||
109 | As stated above, the dependency analysis currently done by ldconfig is | |
110 | rather simple. Basically, it looks for the sonames used by the | |
111 | various versions of libc, libm and libdl. For any approach using a | |
112 | dependency analysis such as this to work, it is very important that | |
113 | shared libraries be built with complete dependency information. This | |
114 | can be done by using the appropriate -l options when running 'gcc | |
115 | -shared'. For example, when building libfoo.so which depends on libc | |
116 | and libbar, you should add -lbar and -lc gcc command line. | |
117 | ||
118 | ###################################################################### | |
119 | ||
120 | Changes 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 | ||
131 | Changes 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 | ||
139 | Changes 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 | ||
148 | Changes 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 | ||
157 | Changes 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 | ||
177 | Changes 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 | ||
190 | Changes 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 | ||
198 | Changes 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 | ||
206 | Changes 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 | ||
216 | Changes 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 | ||
223 | Changes 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 | ||
238 | Changes 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 | ||
283 | Changes 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 | ||
291 | Changes 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 | ||
301 | Changes 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 | ||
331 | Changes in version 1.8.6/7: | |
332 | ||
333 | Never released as some unofficial patches used these | |
334 | version numbers. | |
335 | ||
336 | Changes in version 1.8.5: | |
337 | ||
338 | Fixed a bug in ld.so introduced in the previous changes. | |
339 | ||
340 | Changes 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 | ||
353 | Changes 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 | ||
378 | Changes 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 | ||
395 | Changes 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 | ||
416 | Changes 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 | ||
448 | Changes 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 | ||
456 | Changes 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 | ||
462 | Changes 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 | ||
477 | Changes 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 | ||
487 | Changes in version 1.7.10: | |
488 | ||
489 | Changed ld-linux.so and libdl.so to support RTLD_GLOBAL | |
490 | (Eric Youngdale). | |
491 | ||
492 | Changes 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 | ||
501 | Changes 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 | ||
524 | Changes 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 | ||
531 | Changes 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 | ||
539 | Changes 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 | ||
561 | Changes 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 | ||
570 | Changes 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 | ||
583 | Changes in version 1.7.2: | |
584 | ||
585 | Changed libdl.so again to fix the undefined foobar | |
586 | problem. | |
587 | ||
588 | Changes 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 | ||
605 | Changes 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 | ||
635 | Changes 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 | ||
666 | Changes 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 | ||
682 | Changes 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 | ||
689 | Changes 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 | ||
696 | Changes in version 1.6.3: | |
697 | ||
698 | Fixed a bug in libdl when closing a library (H.J. Lu). | |
699 | ||
700 | Changes 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 | ||
713 | Changes 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 | ||
724 | Changes 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 | ||
737 | Changes in version 1.5.3: | |
738 | ||
739 | LD_PRELOAD enhancements (Tristan Gigold). | |
740 | ||
741 | LD_PRELOAD patch for linux-68k (Andreas Schwab). | |
742 | ||
743 | Changes 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 | ||
749 | Changes in version 1.5.1: | |
750 | ||
751 | More ELF and LD_PRELOAD changes (Mitch D'Souza). | |
752 | ||
753 | Changes 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 | ||
766 | Changes 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 | ||
773 | Changes 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 | ||
778 | Changes 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 | ||
790 | Changes 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 | ||
806 | Changes 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 | ||
825 | Changes 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 | ||
834 | Changes 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 | ||
840 | David Engel | |
841 | [email protected] |