ld.so.8 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. .TH ld.so 8 "14 March 1998"
  2. .SH NAME
  3. ld.so/ld-linux.so \- dynamic linker/loader
  4. .SH DESCRIPTION
  5. .B ld.so
  6. loads the shared libraries needed by a program, prepares the program
  7. to run, and then runs it.
  8. Unless explicitly specified via the
  9. .B \-static
  10. option to
  11. .B ld
  12. during compilation, all Linux programs are incomplete and require
  13. further linking at run time.
  14. .PP
  15. The necessary shared libraries needed by the program are searched for
  16. in the following order
  17. .IP o
  18. Using the environment variable
  19. .B LD_LIBRARY_PATH
  20. .RB ( LD_AOUT_LIBRARY_PATH
  21. for a.out programs).
  22. Except if the executable is a setuid/setgid binary, in which case it
  23. is ignored.
  24. .IP o
  25. From the cache file
  26. .BR /etc/ld.so.cache
  27. which contains a compiled list of candidate libraries previously found
  28. in the augmented library path.
  29. .IP o
  30. In the default path
  31. .BR /usr/lib ,
  32. and then
  33. .BR /lib .
  34. .SH ENVIRONMENT
  35. .TP
  36. .B LD_LIBRARY_PATH
  37. A colon-separated list of directories in which to search for
  38. ELF libraries at execution-time.
  39. Similar to the
  40. .B PATH
  41. environment variable.
  42. .TP
  43. .B LD_PRELOAD
  44. A whitespace-separated list of additional, user-specified, ELF shared
  45. libraries to be loaded before all others.
  46. This can be used to selectively override functions in other shared libraries.
  47. For setuid/setgid ELF binaries, only libraries in the standard search
  48. directories that are also setgid will be loaded.
  49. .TP
  50. .B LD_TRACE_LOADED_OBJECTS
  51. If present, causes the program to list its dynamic library dependencies,
  52. as if run by ldd, instead of running normally.
  53. .TP
  54. .B LD_BIND_NOW
  55. If present, causes the dynamic linker to resolve all symbols at program
  56. startup instead of when they are first referenced.
  57. .TP
  58. .B LD_AOUT_LIBRARY_PATH
  59. A colon-separated list of directories in which to search for
  60. a.out libraries at execution-time.
  61. Similar to the
  62. .B PATH
  63. environment variable.
  64. .TP
  65. .B LD_AOUT_PRELOAD
  66. The name of an additional, user-specified, a.out shared library to be loaded
  67. after all others.
  68. This can be used to selectively override functions in other shared libraries.
  69. .TP
  70. .B LD_NOWARN
  71. Suppress warnings about a.out libraries with incompatible minor
  72. version numbers.
  73. .TP
  74. .B LD_KEEPDIR
  75. Don't ignore the directory in the names of a.out libraries to be loaded.
  76. Use of this option is strongly discouraged.
  77. .SH FILES
  78. .PD 0
  79. .TP 20
  80. .B /lib/ld.so
  81. a.out dynamic linker/loader
  82. .TP 20
  83. .B /lib/ld-linux.so.*
  84. ELF dynamic linker/loader
  85. .TP
  86. .B /etc/ld.so.cache
  87. File containing a compiled list of directories in which to search for
  88. libraries and an ordered list of candidate libraries.
  89. .TP
  90. .B /etc/ld.so.preload
  91. File containing a whitespace separated list of ELF shared libraries to
  92. be loaded before the program.
  93. libraries and an ordered list of candidate libraries.
  94. .TP
  95. .B lib*.so*
  96. shared libraries
  97. .PD
  98. .SH SEE ALSO
  99. .BR ldd (1),
  100. .BR ldconfig (8).
  101. .SH BUGS
  102. .LP
  103. Currently
  104. .B ld.so
  105. has no means of unloading and searching for compatible or newer version of
  106. libraries.
  107. .PP
  108. .B ld.so
  109. functionality is only available for executables compiled using libc version
  110. 4.4.3 or greater.
  111. .SH AUTHORS
  112. David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
  113. Torvalds, Lars Wirzenius and Mitch D'Souza (not necessarily in that order).