LDD(1) BSD General Commands Manual LDD(1)NAME
ldd — list dynamic object dependencies
SYNOPSIS
ldd [-o] [-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
defaults to "\t-l%o.%m => %p\n". The second format argument is used for
non-library objects and defaults to "\t%o => %p\n".
These arguments are interpreted as format strings a la printf(3) to cus‐
tomize 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.
The -o option is an alias for -f %a:-l%o.%m => %p\n, which makes ldd
behave analogously to nm -o.
SEE ALSOld(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 NetBSD 0.9A.
BUGS
The a.out ldd actually runs the program it has been requested to analyze
which in specially constructed environments can have security implica‐
tions.
BSD September 7, 2009 BSD