]> git.ipfire.org Git - thirdparty/binutils-gdb.git/blob - binutils/cxxfilt.man
This commit was manufactured by cvs2svn to create tag
[thirdparty/binutils-gdb.git] / binutils / cxxfilt.man
1 .\" Automatically generated by Pod::Man version 1.02
2 .\" Wed May 30 12:24:30 2001
3 .\"
4 .\" Standard preamble:
5 .\" ======================================================================
6 .de Sh \" Subsection heading
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp \" Vertical space (when we can't use .PP)
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip \" List item
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb \" Begin verbatim text
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve \" End verbatim text
30 .ft R
31
32 .fi
33 ..
34 .\" Set up some character translations and predefined strings. \*(-- will
35 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
36 .\" double quote, and \*(R" will give a right double quote. | will give a
37 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used
38 .\" to do unbreakable dashes and therefore won't be available. \*(C` and
39 .\" \*(C' expand to `' in nroff, nothing in troff, for use with C<>
40 .tr \(*W-|\(bv\*(Tr
41 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
42 .ie n \{\
43 . ds -- \(*W-
44 . ds PI pi
45 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
46 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
47 . ds L" ""
48 . ds R" ""
49 . ds C` `
50 . ds C' '
51 'br\}
52 .el\{\
53 . ds -- \|\(em\|
54 . ds PI \(*p
55 . ds L" ``
56 . ds R" ''
57 'br\}
58 .\"
59 .\" If the F register is turned on, we'll generate index entries on stderr
60 .\" for titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and
61 .\" index entries marked with X<> in POD. Of course, you'll have to process
62 .\" the output yourself in some meaningful fashion.
63 .if \nF \{\
64 . de IX
65 . tm Index:\\$1\t\\n%\t"\\$2"
66 . .
67 . nr % 0
68 . rr F
69 .\}
70 .\"
71 .\" For nroff, turn off justification. Always turn off hyphenation; it
72 .\" makes way too many mistakes in technical documents.
73 .hy 0
74 .\"
75 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
76 .\" Fear. Run. Save yourself. No user-serviceable parts.
77 .bd B 3
78 . \" fudge factors for nroff and troff
79 .if n \{\
80 . ds #H 0
81 . ds #V .8m
82 . ds #F .3m
83 . ds #[ \f1
84 . ds #] \fP
85 .\}
86 .if t \{\
87 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
88 . ds #V .6m
89 . ds #F 0
90 . ds #[ \&
91 . ds #] \&
92 .\}
93 . \" simple accents for nroff and troff
94 .if n \{\
95 . ds ' \&
96 . ds ` \&
97 . ds ^ \&
98 . ds , \&
99 . ds ~ ~
100 . ds /
101 .\}
102 .if t \{\
103 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
104 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
105 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
106 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
107 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
108 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
109 .\}
110 . \" troff and (daisy-wheel) nroff accents
111 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
112 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
113 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
114 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
115 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
116 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
117 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
118 .ds ae a\h'-(\w'a'u*4/10)'e
119 .ds Ae A\h'-(\w'A'u*4/10)'E
120 . \" corrections for vroff
121 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
122 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
123 . \" for low resolution devices (crt and lpr)
124 .if \n(.H>23 .if \n(.V>19 \
125 \{\
126 . ds : e
127 . ds 8 ss
128 . ds o a
129 . ds d- d\h'-1'\(ga
130 . ds D- D\h'-1'\(hy
131 . ds th \o'bp'
132 . ds Th \o'LP'
133 . ds ae ae
134 . ds Ae AE
135 .\}
136 .rm #[ #] #H #V #F C
137 .\" ======================================================================
138 .\"
139 .IX Title "CXXFILT.MAN 1"
140 .TH CXXFILT.MAN 1 "binutils-2.11.90" "2001-05-30" "GNU"
141 .UC
142 .SH "NAME"
143 cxxfilt \- Demangle \*(C+ and Java symbols.
144 .SH "SYNOPSIS"
145 .IX Header "SYNOPSIS"
146 c++filt [ \-_ | \-\-strip-underscores ]
147 [ \-j | \-\-java ]
148 [ \-n | \-\-no-strip-underscores ]
149 [ \-s \fIformat\fR | \-\-format=\fIformat\fR ]
150 [ \-\-help ] [ \-\-version ] [ \fIsymbol\fR... ]
151 .SH "DESCRIPTION"
152 .IX Header "DESCRIPTION"
153 The \*(C+ and Java languages provides function overloading, which means
154 that you can write many functions with the same name (providing each
155 takes parameters of different types). All \*(C+ and Java function names
156 are encoded into a low-level assembly label (this process is known as
157 \&\fImangling\fR). The \f(CW\*(C`c++filt\*(C'\fR
158 [1]
159 program does the inverse mapping: it decodes (\fIdemangles\fR) low-level
160 names into user-level names so that the linker can keep these overloaded
161 functions from clashing.
162 .PP
163 Every alphanumeric word (consisting of letters, digits, underscores,
164 dollars, or periods) seen in the input is a potential label. If the
165 label decodes into a \*(C+ name, the \*(C+ name replaces the low-level
166 name in the output.
167 .PP
168 You can use \f(CW\*(C`c++filt\*(C'\fR to decipher individual symbols:
169 .PP
170 .Vb 1
171 \& c++filt I<symbol>
172 .Ve
173 If no \fIsymbol\fR arguments are given, \f(CW\*(C`c++filt\*(C'\fR reads symbol
174 names from the standard input and writes the demangled names to the
175 standard output. All results are printed on the standard output.
176 .SH "OPTIONS"
177 .IX Header "OPTIONS"
178 .Ip "\f(CW\*(C`\-_\*(C'\fR" 4
179 .IX Item "-_"
180 .Ip "\f(CW\*(C`\-\-strip\-underscores\*(C'\fR" 4
181 .IX Item "--strip-underscores"
182 On some systems, both the C and \*(C+ compilers put an underscore in front
183 of every name. For example, the C name \f(CW\*(C`foo\*(C'\fR gets the low-level
184 name \f(CW\*(C`_foo\*(C'\fR. This option removes the initial underscore. Whether
185 \&\f(CW\*(C`c++filt\*(C'\fR removes the underscore by default is target dependent.
186 .Ip "\f(CW\*(C`\-j\*(C'\fR" 4
187 .IX Item "-j"
188 .Ip "\f(CW\*(C`\-\-java\*(C'\fR" 4
189 .IX Item "--java"
190 Prints demangled names using Java syntax. The default is to use \*(C+
191 syntax.
192 .Ip "\f(CW\*(C`\-n\*(C'\fR" 4
193 .IX Item "-n"
194 .Ip "\f(CW\*(C`\-\-no\-strip\-underscores\*(C'\fR" 4
195 .IX Item "--no-strip-underscores"
196 Do not remove the initial underscore.
197 .Ip "\f(CW\*(C`\-s \f(CIformat\f(CW\*(C'\fR" 4
198 .IX Item "-s format"
199 .Ip "\f(CW\*(C`\-\-format=\f(CIformat\f(CW\*(C'\fR" 4
200 .IX Item "--format=format"
201 \&\s-1GNU\s0 \f(CW\*(C`nm\*(C'\fR can decode three different methods of mangling, used by
202 different \*(C+ compilers. The argument to this option selects which
203 method it uses:
204 .RS 4
205 .Ip "\f(CW\*(C`gnu\*(C'\fR" 4
206 .IX Item "gnu"
207 the one used by the \s-1GNU\s0 compiler (the default method)
208 .Ip "\f(CW\*(C`lucid\*(C'\fR" 4
209 .IX Item "lucid"
210 the one used by the Lucid compiler
211 .Ip "\f(CW\*(C`arm\*(C'\fR" 4
212 .IX Item "arm"
213 the one specified by the \*(C+ Annotated Reference Manual
214 .Ip "\f(CW\*(C`hp\*(C'\fR" 4
215 .IX Item "hp"
216 the one used by the \s-1HP\s0 compiler
217 .Ip "\f(CW\*(C`edg\*(C'\fR" 4
218 .IX Item "edg"
219 the one used by the \s-1EDG\s0 compiler
220 .Ip "\f(CW\*(C`gnu\-new\-abi\*(C'\fR" 4
221 .IX Item "gnu-new-abi"
222 the one used by the \s-1GNU\s0 compiler with the new \s-1ABI\s0.
223 .RE
224 .RS 4
225 .RE
226 .Ip "\f(CW\*(C`\-\-help\*(C'\fR" 4
227 .IX Item "--help"
228 Print a summary of the options to \f(CW\*(C`c++filt\*(C'\fR and exit.
229 .Ip "\f(CW\*(C`\-\-version\*(C'\fR" 4
230 .IX Item "--version"
231 Print the version number of \f(CW\*(C`c++filt\*(C'\fR and exit.
232 .SH "FOOTNOTES"
233 .IX Header "FOOTNOTES"
234 .Ip "1." 4
235 \&\s-1MS-DOS\s0 does not allow \f(CW\*(C`+\*(C'\fR characters in file names, so on
236 \&\s-1MS-DOS\s0 this program is named \f(CW\*(C`cxxfilt\*(C'\fR.
237 .SH "SEE ALSO"
238 .IX Header "SEE ALSO"
239 the Info entries for \fIbinutils\fR.
240 .SH "COPYRIGHT"
241 .IX Header "COPYRIGHT"
242 Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc.
243 .PP
244 Permission is granted to copy, distribute and/or modify this document
245 under the terms of the \s-1GNU\s0 Free Documentation License, Version 1.1
246 or any later version published by the Free Software Foundation;
247 with no Invariant Sections, with no Front-Cover Texts, and with no
248 Back-Cover Texts. A copy of the license is included in the
249 section entitled \*(L"\s-1GNU\s0 Free Documentation License\*(R".