* obj.h (struct format_ops): New members begin, app_file,
[binutils-gdb.git] / binutils / nm.1
blobc2ad99e559a147e1c28e1743693060bb0a249135
1 .\" Copyright (c) 1991 Free Software Foundation
2 .\" See section COPYING for conditions for redistribution
3 .TH nm 1 "5 November 1991" "cygnus support" "GNU Development Tools"
4 .de BP
5 .sp
6 .ti \-.2i
7 \(**
8 ..
10 .SH NAME
11 nm \- list symbols from object files.
13 .SH SYNOPSIS
14 .hy 0
15 .na
16 .TP
17 .B nm
18 .RB "[\|" \-a | \-\-debug\-syms "\|]" 
19 .RB "[\|" \-g | \-\-extern\-only "\|]"
20 .RB "[\|" \-B "\|]"  
21 .RB "[\|" \-C | \-\-demangle "\|]" 
22 .RB "[\|" \-D | \-\-dynamic "\|]" 
23 .RB "[\|" \-s | \-\-print\-armap "\|]" 
24 .RB "[\|" \-o | \-\-print\-file\-name "\|]"  
25 .RB "[\|" \-n | \-\-numeric\-sort "\|]" 
26 .RB "[\|" \-p | \-\-no\-sort "\|]"
27 .RB "[\|" \-r | \-\-reverse\-sort "\|]" 
28 .RB "[\|" \-\-size\-sort "\|]" 
29 .RB "[\|" \-u | \-\-undefined\-only "\|]"  
30 .RB "[\|" \-l | \-\-line\-numbers "\|]"
31 .RB "[\|" \-\-help "\|]"  
32 .RB "[\|" \-\-version "\|]"  
33 .RB "[\|" "\-t \fIradix" | \-\-radix=\fIradix "\|]"
34 .RB "[\|" \-P | --portability "\|]"
35 .RB "[\|" "\-f \fIformat" | \-\-format=\fIformat "\|]"
36 .RB "[\|" "\-\-target=\fIbfdname" "\|]"
37 .RB "[\|" \c
38 .I objfile\c
39 \&.\|.\|.\|]
40 .ad b
41 .hy 1
42 .SH DESCRIPTION
43 GNU \c
44 .B nm\c
45 \& lists the symbols from object files \c
46 .I objfile\c
47 \&.  If no object files are given as arguments, \c
48 .B nm\c
49 \& assumes `\|\c
50 .B a.out\c
51 \|'.
53 .SH OPTIONS
54 The long and short forms of options, shown here as alternatives, are
55 equivalent.
57 .TP
58 .B \-A
59 .TP
60 .B \-o
61 .TP
62 .B \-\-print\-file\-name 
63 Precede each symbol by the name of the input file where it was found,
64 rather than identifying the input file once only before all of its
65 symbols. 
67 .TP
68 .B \-a
69 .TP
70 .B \-\-debug\-syms 
71 Display debugger-only symbols; normally these are not listed.
73 .TP
74 .B \-B
75 The same as
76 .B \-\-format=bsd
77 (for compatibility with the MIPS \fBnm\fP).
79 .TP
80 .B \-C
81 .TP
82 .B \-\-demangle
83 Decode (\fIdemangle\fP) low-level symbol names into user-level names.
84 Besides removing any initial underscore prepended by the system, this
85 makes C++ function names readable.
87 .TP
88 .B \-D
89 .TP
90 .B \-\-dynamic
91 Display the dynamic symbols rather than the normal symbols.  This is
92 only meaningful for dynamic objects, such as certain types of shared
93 libraries.
95 .TP
96 .B "\-f \fIformat"
97 Use the output format \fIformat\fP, which can be ``bsd'',
98 ``sysv'', or ``posix''.  The default is ``bsd''.
99 Only the first character of \fIformat\fP is significant; it can be
100 either upper or lower case.
103 .B \-g
105 .B \-\-extern\-only 
106 Display only external symbols.
109 .B \-n
111 .B \-v
113 .B \-\-numeric\-sort 
114 Sort symbols numerically by their addresses, not alphabetically by their
115 names. 
118 .B \-p
120 .B \-\-no\-sort 
121 Don't bother to sort the symbols in any order; just print them in the
122 order encountered.
125 .B \-P
127 .B \-\-portability
128 Use the POSIX.2 standard output format instead of the default format.
129 Equivalent to ``\-f posix''.
132 .B \-s
134 .B \-\-print\-armap
135 When listing symbols from archive members, include the index: a mapping
136 (stored in the archive by \c
137 .B ar\c
138 \& or \c
139 .B ranlib\c
140 \&) of what modules
141 contain definitions for what names.
144 .B \-r
146 .B \-\-reverse\-sort 
147 Reverse the sense of the sort (whether numeric or alphabetic); let the
148 last come first.
151 .B \-\-size\-sort 
152 Sort symbols by size.  The size is computed as the difference between
153 the value of the symbol and the value of the symbol with the next higher
154 value.  The size of the symbol is printed, rather than the value.
157 .B "\-t \fIradix"
159 .B "\-\-radix=\fIradix"
160 Use \fIradix\fP as the radix for printing the symbol values.  It must be
161 ``d'' for decimal, ``o'' for octal, or ``x'' for hexadecimal.
164 .BI "\-\-target=" "bfdname"
165 Specify an object code format other than your system's default format.
166 See 
167 .BR objdump ( 1 ),
168 for information on listing available formats.
171 .B \-u
173 .B \-\-undefined\-only 
174 Display only undefined symbols (those external to each object file).
177 .B \-l
179 .B \-\-line\-numbers
180 For each symbol, use debugging information to try to find a filename and
181 line number.  For a defined symbol, look for the line number of the
182 address of the symbol.  For an undefined symbol, look for the line
183 number of a relocation entry which refers to the symbol.  If line number
184 information can be found, print it after the other symbol information.
187 .B \-V
189 .B \-\-version
190 Show the version number of
191 .B nm
192 and exit.
195 .B \-\-help
196 Show a summary of the options to
197 .B nm
198 and exit.
200 .SH "SEE ALSO"
201 .RB "`\|" binutils "\|'"
202 entry in 
204 info\c
205 \&; 
207 The GNU Binary Utilities\c
208 \&, Roland H. Pesch (October 1991);
209 .BR ar "(" 1 "),"
210 .BR objdump ( 1 ),
211 .BR ranlib "(" 1 ")."
214 .SH COPYING
215 Copyright (c) 1991 Free Software Foundation, Inc.
217 Permission is granted to make and distribute verbatim copies of
218 this manual provided the copyright notice and this permission notice
219 are preserved on all copies.
221 Permission is granted to copy and distribute modified versions of this
222 manual under the conditions for verbatim copying, provided that the
223 entire resulting derived work is distributed under the terms of a
224 permission notice identical to this one.
226 Permission is granted to copy and distribute translations of this
227 manual into another language, under the above conditions for modified
228 versions, except that this permission notice may be included in
229 translations approved by the Free Software Foundation instead of in
230 the original English.