xref: /netbsd/usr.bin/ldd/ldd.1 (revision 6550d01e)
1.\"	$NetBSD: ldd.1,v 1.18 2009/09/07 20:06:21 wiz Exp $
2.\"
3.\" Copyright (c) 1998 The NetBSD Foundation, Inc.
4.\" All rights reserved.
5.\"
6.\" This code is derived from software contributed to The NetBSD Foundation
7.\" by Paul Kranenburg.
8.\"
9.\" Redistribution and use in source and binary forms, with or without
10.\" modification, are permitted provided that the following conditions
11.\" are met:
12.\" 1. Redistributions of source code must retain the above copyright
13.\"    notice, this list of conditions and the following disclaimer.
14.\" 2. Redistributions in binary form must reproduce the above copyright
15.\"    notice, this list of conditions and the following disclaimer in the
16.\"    documentation and/or other materials provided with the distribution.
17.\"
18.\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19.\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20.\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21.\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22.\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23.\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24.\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25.\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26.\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28.\" POSSIBILITY OF SUCH DAMAGE.
29.\"
30.Dd September 7, 2009
31.Dt LDD 1
32.Os
33.Sh NAME
34.Nm ldd
35.Nd list dynamic object dependencies
36.Sh SYNOPSIS
37.Nm
38.Op Fl o
39.Op Fl f Ar format
40.Ar program ...
41.Sh DESCRIPTION
42.Nm
43displays all shared objects that are needed to run the given program.
44Contrary to
45.Xr nm 1 ,
46the list includes
47.Dq indirect
48dependencies that are the result of needed shared objects which themselves
49depend on yet other shared objects.
50Zero, one or two
51.Fl f
52options may be given.
53The argument is a format string passed to
54.Xr rtld 1
55and allows customization of
56.Nm ldd Ns 's
57output.
58The first format argument is used for library objects and defaults to
59.Qq "\et-l%o.%m =\*[Gt] %p\en" .
60The second format argument is used for non-library objects and defaults to
61.Qq "\et%o =\*[Gt] %p\en" .
62.Pp
63These arguments are interpreted as format strings a la
64.Xr printf 3
65to customize the trace output and allow
66.Nm
67to be operated as a filter more conveniently.
68The following conversions can be used:
69.Bl -tag -width xxxx
70.It \&%a
71The main program's name
72.Po also known as
73.Dq __progname
74.Pc .
75.It \&%A
76The value of the environment variable
77.Ev LD_TRACE_LOADED_OBJECTS_PROGNAME
78in a.out and the program name from the argument vector from elf.
79.It \&%o
80The library name.
81.It \&%m
82The library's major version number.
83.It \&%n
84The library's minor version number (a.out only, ignored in elf).
85.It \&%p
86The full pathname as determined by
87.Nm rtld Ns 's
88library search rules.
89.It \&%x
90The library's load address
91.El
92.Pp
93Additionally,
94.Sy \en
95and
96.Sy \et
97are recognized and have their usual meaning.
98.Pp
99The
100.Fl o
101option is an alias for
102.Fl f
103.Ar \&%a:-l\&%o.\&%m =\*[Gt] \&%p\en ,
104which makes
105.Nm
106behave analogously to
107.Ic nm Fl o .
108.Sh SEE ALSO
109.Xr ld 1 ,
110.Xr ld.elf_so 1 ,
111.Xr nm 1 ,
112.Xr rtld 1
113.Sh HISTORY
114A
115.Nm
116utility first appeared in SunOS 4.0, it appeared in its current form
117in
118.Nx 0.9a .
119.Sh BUGS
120The
121a.out
122.Nm
123actually runs the program it has been requested to analyze which in specially
124constructed environments can have security implications.
125