123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- .TH ld.so 8 "14 March 1998"
- .SH NAME
- ld.so/ld-linux.so \- dynamic linker/loader
- .SH DESCRIPTION
- .B ld.so
- loads the shared libraries needed by a program, prepares the program
- to run, and then runs it.
- Unless explicitly specified via the
- .B \-static
- option to
- .B ld
- during compilation, all Linux programs are incomplete and require
- further linking at run time.
- .PP
- The necessary shared libraries needed by the program are searched for
- in the following order
- .IP o
- Using the environment variable
- .B LD_LIBRARY_PATH
- .RB ( LD_AOUT_LIBRARY_PATH
- for a.out programs).
- Except if the executable is a setuid/setgid binary, in which case it
- is ignored.
- .IP o
- From the cache file
- .BR /etc/ld.so.cache
- which contains a compiled list of candidate libraries previously found
- in the augmented library path.
- .IP o
- In the default path
- .BR /usr/lib ,
- and then
- .BR /lib .
- .SH ENVIRONMENT
- .TP
- .B LD_LIBRARY_PATH
- A colon-separated list of directories in which to search for
- ELF libraries at execution-time.
- Similar to the
- .B PATH
- environment variable.
- .TP
- .B LD_PRELOAD
- A whitespace-separated list of additional, user-specified, ELF shared
- libraries to be loaded before all others.
- This can be used to selectively override functions in other shared libraries.
- For setuid/setgid ELF binaries, only libraries in the standard search
- directories that are also setgid will be loaded.
- .TP
- .B LD_TRACE_LOADED_OBJECTS
- If present, causes the program to list its dynamic library dependencies,
- as if run by ldd, instead of running normally.
- .TP
- .B LD_BIND_NOW
- If present, causes the dynamic linker to resolve all symbols at program
- startup instead of when they are first referenced.
- .TP
- .B LD_AOUT_LIBRARY_PATH
- A colon-separated list of directories in which to search for
- a.out libraries at execution-time.
- Similar to the
- .B PATH
- environment variable.
- .TP
- .B LD_AOUT_PRELOAD
- The name of an additional, user-specified, a.out shared library to be loaded
- after all others.
- This can be used to selectively override functions in other shared libraries.
- .TP
- .B LD_NOWARN
- Suppress warnings about a.out libraries with incompatible minor
- version numbers.
- .TP
- .B LD_KEEPDIR
- Don't ignore the directory in the names of a.out libraries to be loaded.
- Use of this option is strongly discouraged.
- .SH FILES
- .PD 0
- .TP 20
- .B /lib/ld.so
- a.out dynamic linker/loader
- .TP 20
- .B /lib/ld-linux.so.*
- ELF dynamic linker/loader
- .TP
- .B /etc/ld.so.cache
- File containing a compiled list of directories in which to search for
- libraries and an ordered list of candidate libraries.
- .TP
- .B /etc/ld.so.preload
- File containing a whitespace separated list of ELF shared libraries to
- be loaded before the program.
- libraries and an ordered list of candidate libraries.
- .TP
- .B lib*.so*
- shared libraries
- .PD
- .SH SEE ALSO
- .BR ldd (1),
- .BR ldconfig (8).
- .SH BUGS
- .LP
- Currently
- .B ld.so
- has no means of unloading and searching for compatible or newer version of
- libraries.
- .PP
- .B ld.so
- functionality is only available for executables compiled using libc version
- 4.4.3 or greater.
- .SH AUTHORS
- David Engel, Eric Youngdale, Peter MacDonald, Hongjiu Lu, Linus
- Torvalds, Lars Wirzenius and Mitch D'Souza (not necessarily in that order).
|