Merge branch 'vendor/BMAKE'
[dragonfly.git] / contrib / binutils-2.21 / binutils / doc / addr2line.1
1 .\" Automatically generated by Pod::Man 2.16 (Pod::Simple 3.05)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
29 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
30 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
31 .\" nothing in troff, for use with C<>.
32 .tr \(*W-
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" Escape single quotes in literal strings from groff's Unicode transform.
52 .ie \n(.g .ds Aq \(aq
53 .el       .ds Aq '
54 .\"
55 .\" If the F register is turned on, we'll generate index entries on stderr for
56 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
57 .\" entries marked with X<> in POD.  Of course, you'll have to process the
58 .\" output yourself in some meaningful fashion.
59 .ie \nF \{\
60 .    de IX
61 .    tm Index:\\$1\t\\n%\t"\\$2"
62 ..
63 .    nr % 0
64 .    rr F
65 .\}
66 .el \{\
67 .    de IX
68 ..
69 .\}
70 .\"
71 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
72 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
73 .    \" fudge factors for nroff and troff
74 .if n \{\
75 .    ds #H 0
76 .    ds #V .8m
77 .    ds #F .3m
78 .    ds #[ \f1
79 .    ds #] \fP
80 .\}
81 .if t \{\
82 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
83 .    ds #V .6m
84 .    ds #F 0
85 .    ds #[ \&
86 .    ds #] \&
87 .\}
88 .    \" simple accents for nroff and troff
89 .if n \{\
90 .    ds ' \&
91 .    ds ` \&
92 .    ds ^ \&
93 .    ds , \&
94 .    ds ~ ~
95 .    ds /
96 .\}
97 .if t \{\
98 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
99 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
100 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
101 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
102 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
103 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
104 .\}
105 .    \" troff and (daisy-wheel) nroff accents
106 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
107 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
108 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
109 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
110 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
111 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
112 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
113 .ds ae a\h'-(\w'a'u*4/10)'e
114 .ds Ae A\h'-(\w'A'u*4/10)'E
115 .    \" corrections for vroff
116 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
117 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
118 .    \" for low resolution devices (crt and lpr)
119 .if \n(.H>23 .if \n(.V>19 \
120 \{\
121 .    ds : e
122 .    ds 8 ss
123 .    ds o a
124 .    ds d- d\h'-1'\(ga
125 .    ds D- D\h'-1'\(hy
126 .    ds th \o'bp'
127 .    ds Th \o'LP'
128 .    ds ae ae
129 .    ds Ae AE
130 .\}
131 .rm #[ #] #H #V #F C
132 .\" ========================================================================
133 .\"
134 .IX Title "ADDR2LINE 1"
135 .TH ADDR2LINE 1 "2011-06-27" "binutils-2.21.1" "GNU Development Tools"
136 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
137 .\" way too many mistakes in technical documents.
138 .if n .ad l
139 .nh
140 .SH "NAME"
141 addr2line \- convert addresses into file names and line numbers.
142 .SH "SYNOPSIS"
143 .IX Header "SYNOPSIS"
144 addr2line [\fB\-a\fR|\fB\-\-addresses\fR]
145           [\fB\-b\fR \fIbfdname\fR|\fB\-\-target=\fR\fIbfdname\fR]
146           [\fB\-C\fR|\fB\-\-demangle\fR[=\fIstyle\fR]]
147           [\fB\-e\fR \fIfilename\fR|\fB\-\-exe=\fR\fIfilename\fR]
148           [\fB\-f\fR|\fB\-\-functions\fR] [\fB\-s\fR|\fB\-\-basename\fR]
149           [\fB\-i\fR|\fB\-\-inlines\fR]
150           [\fB\-p\fR|\fB\-\-pretty\-print\fR]
151           [\fB\-j\fR|\fB\-\-section=\fR\fIname\fR]
152           [\fB\-H\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
153           [addr addr ...]
154 .SH "DESCRIPTION"
155 .IX Header "DESCRIPTION"
156 \&\fBaddr2line\fR translates addresses into file names and line numbers.
157 Given an address in an executable or an offset in a section of a relocatable
158 object, it uses the debugging information to figure out which file name and
159 line number are associated with it.
160 .PP
161 The executable or relocatable object to use is specified with the \fB\-e\fR
162 option.  The default is the file \fIa.out\fR.  The section in the relocatable
163 object to use is specified with the \fB\-j\fR option.
164 .PP
165 \&\fBaddr2line\fR has two modes of operation.
166 .PP
167 In the first, hexadecimal addresses are specified on the command line,
168 and \fBaddr2line\fR displays the file name and line number for each
169 address.
170 .PP
171 In the second, \fBaddr2line\fR reads hexadecimal addresses from
172 standard input, and prints the file name and line number for each
173 address on standard output.  In this mode, \fBaddr2line\fR may be used
174 in a pipe to convert dynamically chosen addresses.
175 .PP
176 The format of the output is \fB\s-1FILENAME:LINENO\s0\fR.  The file name and
177 line number for each address is printed on a separate line.  If the
178 \&\fB\-f\fR option is used, then each \fB\s-1FILENAME:LINENO\s0\fR line is
179 preceded by a \fB\s-1FUNCTIONNAME\s0\fR line which is the name of the function
180 containing the address.  If the \fB\-a\fR option is used, then the
181 address read is first printed.
182 .PP
183 If the file name or function name can not be determined,
184 \&\fBaddr2line\fR will print two question marks in their place.  If the
185 line number can not be determined, \fBaddr2line\fR will print 0.
186 .SH "OPTIONS"
187 .IX Header "OPTIONS"
188 The long and short forms of options, shown here as alternatives, are
189 equivalent.
190 .IP "\fB\-a\fR" 4
191 .IX Item "-a"
192 .PD 0
193 .IP "\fB\-\-addresses\fR" 4
194 .IX Item "--addresses"
195 .PD
196 Display address before function names or file and line number
197 information.  The address is printed with a \fB0x\fR prefix to easily
198 identify it.
199 .IP "\fB\-b\fR \fIbfdname\fR" 4
200 .IX Item "-b bfdname"
201 .PD 0
202 .IP "\fB\-\-target=\fR\fIbfdname\fR" 4
203 .IX Item "--target=bfdname"
204 .PD
205 Specify that the object-code format for the object files is
206 \&\fIbfdname\fR.
207 .IP "\fB\-C\fR" 4
208 .IX Item "-C"
209 .PD 0
210 .IP "\fB\-\-demangle[=\fR\fIstyle\fR\fB]\fR" 4
211 .IX Item "--demangle[=style]"
212 .PD
213 Decode (\fIdemangle\fR) low-level symbol names into user-level names.
214 Besides removing any initial underscore prepended by the system, this
215 makes \*(C+ function names readable.  Different compilers have different
216 mangling styles. The optional demangling style argument can be used to
217 choose an appropriate demangling style for your compiler.
218 .IP "\fB\-e\fR \fIfilename\fR" 4
219 .IX Item "-e filename"
220 .PD 0
221 .IP "\fB\-\-exe=\fR\fIfilename\fR" 4
222 .IX Item "--exe=filename"
223 .PD
224 Specify the name of the executable for which addresses should be
225 translated.  The default file is \fIa.out\fR.
226 .IP "\fB\-f\fR" 4
227 .IX Item "-f"
228 .PD 0
229 .IP "\fB\-\-functions\fR" 4
230 .IX Item "--functions"
231 .PD
232 Display function names as well as file and line number information.
233 .IP "\fB\-s\fR" 4
234 .IX Item "-s"
235 .PD 0
236 .IP "\fB\-\-basenames\fR" 4
237 .IX Item "--basenames"
238 .PD
239 Display only the base of each file name.
240 .IP "\fB\-i\fR" 4
241 .IX Item "-i"
242 .PD 0
243 .IP "\fB\-\-inlines\fR" 4
244 .IX Item "--inlines"
245 .PD
246 If the address belongs to a function that was inlined, the source
247 information for all enclosing scopes back to the first non-inlined
248 function will also be printed.  For example, if \f(CW\*(C`main\*(C'\fR inlines
249 \&\f(CW\*(C`callee1\*(C'\fR which inlines \f(CW\*(C`callee2\*(C'\fR, and address is from
250 \&\f(CW\*(C`callee2\*(C'\fR, the source information for \f(CW\*(C`callee1\*(C'\fR and \f(CW\*(C`main\*(C'\fR
251 will also be printed.
252 .IP "\fB\-j\fR" 4
253 .IX Item "-j"
254 .PD 0
255 .IP "\fB\-\-section\fR" 4
256 .IX Item "--section"
257 .PD
258 Read offsets relative to the specified section instead of absolute addresses.
259 .IP "\fB\-p\fR" 4
260 .IX Item "-p"
261 .PD 0
262 .IP "\fB\-\-pretty\-print\fR" 4
263 .IX Item "--pretty-print"
264 .PD
265 Make the output more human friendly: each location are printed on one line.
266 If option \fB\-i\fR is specified, lines for all enclosing scopes are
267 prefixed with \fB(inlined by)\fR.
268 .IP "\fB@\fR\fIfile\fR" 4
269 .IX Item "@file"
270 Read command-line options from \fIfile\fR.  The options read are
271 inserted in place of the original @\fIfile\fR option.  If \fIfile\fR
272 does not exist, or cannot be read, then the option will be treated
273 literally, and not removed.
274 .Sp
275 Options in \fIfile\fR are separated by whitespace.  A whitespace
276 character may be included in an option by surrounding the entire
277 option in either single or double quotes.  Any character (including a
278 backslash) may be included by prefixing the character to be included
279 with a backslash.  The \fIfile\fR may itself contain additional
280 @\fIfile\fR options; any such options will be processed recursively.
281 .SH "SEE ALSO"
282 .IX Header "SEE ALSO"
283 Info entries for \fIbinutils\fR.
284 .SH "COPYRIGHT"
285 .IX Header "COPYRIGHT"
286 Copyright (c) 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
287 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
288 Free Software Foundation, Inc.
289 .PP
290 Permission is granted to copy, distribute and/or modify this document
291 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.3
292 or any later version published by the Free Software Foundation;
293 with no Invariant Sections, with no Front-Cover Texts, and with no
294 Back-Cover Texts.  A copy of the license is included in the
295 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".