Patrick Welche <prlw1@cam.ac.uk>
[netbsd-mini2440.git] / usr.bin / ldd / ldd.1
blobd20712c8104fc7c58bc87963b508b4b703f575ef
1 .\"     $NetBSD: ldd.1,v 1.17 2009/09/07 17:56:52 dholland 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
43 displays all shared objects that are needed to run the given program.
44 Contrary to
45 .Xr nm 1 ,
46 the list includes
47 .Dq indirect
48 dependencies that are the result of needed shared objects which themselves
49 depend on yet other shared objects.
50 Zero, one or two
51 .Fl f
52 options may be given.
53 The argument is a format string passed to
54 .Xr rtld 1
55 and allows customization of
56 .Nm ldd Ns 's
57 output.
58 The first format argument is used for library objects and defaults to
59 .Qq "\et-l%o.%m =\*[Gt] %p\en" .
60 The second format argument is used for non-library objects and defaults to
61 .Qq "\et%o =\*[Gt] %p\en" .
62 .Pp
63 These arguments are interpreted as format strings a la
64 .Xr printf 3
65 to customize the trace output and allow
66 .Nm
67 to be operated as a filter more conveniently.
68 The following conversions can be used:
69 .Bl -tag -width xxxx
70 .It \&%a
71 The main program's name
72 .Po also known as
73 .Dq __progname
74 .Pc .
75 .It \&%A
76 The value of the environment variable
77 .Ev LD_TRACE_LOADED_OBJECTS_PROGNAME
78 in a.out and the program name from the argument vector from elf.
79 .It \&%o
80 The library name.
81 .It \&%m
82 The library's major version number.
83 .It \&%n
84 The library's minor version number (a.out only, ignored in elf).
85 .It \&%p
86 The full pathname as determined by
87 .Nm rtld Ns 's
88 library search rules.
89 .It \&%x
90 The library's load address
91 .El
92 .Pp
93 Additionally,
94 .Sy \en
95 and
96 .Sy \et
97 are recognized and have their usual meaning.
98 .Pp
99 The
100 .Fl o
101 option is an alias for
102 .Fl f
103 .Ar \&%a:-l\&%o.\&%m =\*[Gt] \&%p\en ,
104 which makes
106 behave 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
116 utility first appeared in SunOS 4.0, it appeared in its current form
118 .Nx 0.9a .
119 .Sh BUGS
121 a.out
123 actually runs the program it has been requested to analyze which in specially
124 constructed environments can have security implications.