NAME
ldd
- list dynamic object dependencies
SYNOPSIS
ldd
[-f format]
program ...
DESCRIPTION
ldd
displays all shared objects that are needed to run the given program.
Contrary to
nm(1),
the list includes
``indirect''
dependencies that are the result of needed shared objects which themselves
depend on yet other shared objects.
Zero, one or two
-f
options may be given. The argument is a format string passed to
rtld(1)
and allows customization of
ldd's
output.
The first format argument is used for library objects and is equivalent
to the
ld.aout_so(1)
environment variable
LD_TRACE_LOADED_OBJECTS_FMT1
.
It defaults to
"\t-l%o.%m => %p\n
for elf and
"\t-l%o.%m => %p (%x)\n
for a.out.
The second format argument is used for non-library objects and it is equivalent
to the
ld.aout_so(1)
environment variable
LD_TRACE_LOADED_OBJECTS_FMT2
.
It defaults to
"\t%o => %p\n
for elf and
"\t%o (%x)\n
for a.out.
These arguments are interpreted as format strings a la
printf(3)
to customize the trace output and allow
ldd
to be operated as a filter more conveniently.
The following conversions can be used:
- %a
-
The main program's name
(also known as ``__progname''.)
- %A
-
The value of the environment variable
LD_TRACE_LOADED_OBJECTS_PROGNAME
in a.out and the program name from the argument vector from elf.
- %o
-
The library name.
- %m
-
The library's major version number.
- %n
-
The library's minor version number (a.out only, ignored in elf).
- %p
-
The full pathname as determined by
rtld's
library search rules.
- %x
-
The library's load address
Additionally,
\n
and
\t
are recognized and have their usual meaning.
SEE ALSO
ld(1),
ld.aout_so(1),
ld.elf_so(1),
nm(1),
rtld(1)
HISTORY
A
ldd
utility first appeared in SunOS 4.0, it appeared in its current form
in
NetBSD0.9a.
BUGS
The
a.out
ldd
actually runs the program it has been requested to analyze which in specially
constructed environments can have security implications.