Commit | Line | Data |
---|---|---|
0285c67d NC |
1 | .rn '' }` |
2 | ''' $RCSfile$$Revision$$Date$ | |
3 | ''' | |
4 | ''' $Log$ | |
5 | ''' Revision 1.3 2001/03/25 20:32:25 nickc | |
6 | ''' Automate generate on man pages | |
7 | ''' | |
8 | ''' | |
9 | .de Sh | |
10 | .br | |
11 | .if t .Sp | |
12 | .ne 5 | |
13 | .PP | |
14 | \fB\\$1\fR | |
15 | .PP | |
16 | .. | |
17 | .de Sp | |
18 | .if t .sp .5v | |
19 | .if n .sp | |
20 | .. | |
21 | .de Ip | |
22 | .br | |
23 | .ie \\n(.$>=3 .ne \\$3 | |
24 | .el .ne 3 | |
25 | .IP "\\$1" \\$2 | |
26 | .. | |
27 | .de Vb | |
28 | .ft CW | |
29 | .nf | |
30 | .ne \\$1 | |
252b5132 | 31 | .. |
0285c67d NC |
32 | .de Ve |
33 | .ft R | |
252b5132 | 34 | |
0285c67d NC |
35 | .fi |
36 | .. | |
37 | ''' | |
38 | ''' | |
39 | ''' Set up \*(-- to give an unbreakable dash; | |
40 | ''' string Tr holds user defined translation string. | |
41 | ''' Bell System Logo is used as a dummy character. | |
42 | ''' | |
43 | .tr \(*W-|\(bv\*(Tr | |
44 | .ie n \{\ | |
45 | .ds -- \(*W- | |
46 | .ds PI pi | |
47 | .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch | |
48 | .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch | |
49 | .ds L" "" | |
50 | .ds R" "" | |
51 | ''' \*(M", \*(S", \*(N" and \*(T" are the equivalent of | |
52 | ''' \*(L" and \*(R", except that they are used on ".xx" lines, | |
53 | ''' such as .IP and .SH, which do another additional levels of | |
54 | ''' double-quote interpretation | |
55 | .ds M" """ | |
56 | .ds S" """ | |
57 | .ds N" """"" | |
58 | .ds T" """"" | |
59 | .ds L' ' | |
60 | .ds R' ' | |
61 | .ds M' ' | |
62 | .ds S' ' | |
63 | .ds N' ' | |
64 | .ds T' ' | |
65 | 'br\} | |
66 | .el\{\ | |
67 | .ds -- \(em\| | |
68 | .tr \*(Tr | |
69 | .ds L" `` | |
70 | .ds R" '' | |
71 | .ds M" `` | |
72 | .ds S" '' | |
73 | .ds N" `` | |
74 | .ds T" '' | |
75 | .ds L' ` | |
76 | .ds R' ' | |
77 | .ds M' ` | |
78 | .ds S' ' | |
79 | .ds N' ` | |
80 | .ds T' ' | |
81 | .ds PI \(*p | |
82 | 'br\} | |
83 | .\" If the F register is turned on, we'll generate | |
84 | .\" index entries out stderr for the following things: | |
85 | .\" TH Title | |
86 | .\" SH Header | |
87 | .\" Sh Subsection | |
88 | .\" Ip Item | |
89 | .\" X<> Xref (embedded | |
90 | .\" Of course, you have to process the output yourself | |
91 | .\" in some meaninful fashion. | |
92 | .if \nF \{ | |
93 | .de IX | |
94 | .tm Index:\\$1\t\\n%\t"\\$2" | |
95 | .. | |
96 | .nr % 0 | |
97 | .rr F | |
98 | .\} | |
99 | .TH CXXFILT.MAN 1 "binutils-2.11.90" "23/Mar/101" "GNU" | |
100 | .UC | |
101 | .if n .hy 0 | |
102 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | |
103 | .de CQ \" put $1 in typewriter font | |
104 | .ft CW | |
105 | 'if n "\c | |
106 | 'if t \\&\\$1\c | |
107 | 'if n \\&\\$1\c | |
108 | 'if n \&" | |
109 | \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7 | |
110 | '.ft R | |
111 | .. | |
112 | .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2 | |
113 | . \" AM - accent mark definitions | |
114 | .bd B 3 | |
115 | . \" fudge factors for nroff and troff | |
116 | .if n \{\ | |
117 | . ds #H 0 | |
118 | . ds #V .8m | |
119 | . ds #F .3m | |
120 | . ds #[ \f1 | |
121 | . ds #] \fP | |
122 | .\} | |
123 | .if t \{\ | |
124 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | |
125 | . ds #V .6m | |
126 | . ds #F 0 | |
127 | . ds #[ \& | |
128 | . ds #] \& | |
129 | .\} | |
130 | . \" simple accents for nroff and troff | |
131 | .if n \{\ | |
132 | . ds ' \& | |
133 | . ds ` \& | |
134 | . ds ^ \& | |
135 | . ds , \& | |
136 | . ds ~ ~ | |
137 | . ds ? ? | |
138 | . ds ! ! | |
139 | . ds / | |
140 | . ds q | |
141 | .\} | |
142 | .if t \{\ | |
143 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | |
144 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | |
145 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | |
146 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | |
147 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | |
148 | . ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10' | |
149 | . ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m' | |
150 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | |
151 | . ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10' | |
152 | .\} | |
153 | . \" troff and (daisy-wheel) nroff accents | |
154 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | |
155 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | |
156 | .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#] | |
157 | .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u' | |
158 | .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u' | |
159 | .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#] | |
160 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | |
161 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | |
162 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | |
163 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | |
164 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | |
165 | .ds ae a\h'-(\w'a'u*4/10)'e | |
166 | .ds Ae A\h'-(\w'A'u*4/10)'E | |
167 | .ds oe o\h'-(\w'o'u*4/10)'e | |
168 | .ds Oe O\h'-(\w'O'u*4/10)'E | |
169 | . \" corrections for vroff | |
170 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | |
171 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | |
172 | . \" for low resolution devices (crt and lpr) | |
173 | .if \n(.H>23 .if \n(.V>19 \ | |
174 | \{\ | |
175 | . ds : e | |
176 | . ds 8 ss | |
177 | . ds v \h'-1'\o'\(aa\(ga' | |
178 | . ds _ \h'-1'^ | |
179 | . ds . \h'-1'. | |
180 | . ds 3 3 | |
181 | . ds o a | |
182 | . ds d- d\h'-1'\(ga | |
183 | . ds D- D\h'-1'\(hy | |
184 | . ds th \o'bp' | |
185 | . ds Th \o'LP' | |
186 | . ds ae ae | |
187 | . ds Ae AE | |
188 | . ds oe oe | |
189 | . ds Oe OE | |
190 | .\} | |
191 | .rm #[ #] #H #V #F C | |
192 | .SH "NAME" | |
193 | cxxfilt \- Demangle \*(C+ and Java symbols. | |
194 | .SH "SYNOPSIS" | |
195 | c++filt [ \-_ | --strip-underscores ] | |
196 | [ \-j | --java ] | |
197 | [ \-n | --no-strip-underscores ] | |
198 | [ \-s \fIformat\fR | --format=\fIformat\fR ] | |
199 | [ --help ] [ --version ] [ \fIsymbol\fR... ] | |
200 | .SH "DESCRIPTION" | |
201 | The \*(C+ and Java languages provides function overloading, which means | |
202 | that you can write many functions with the same name (providing each | |
203 | takes parameters of different types). All \*(C+ and Java function names | |
204 | are encoded into a low-level assembly label (this process is known as | |
205 | \fImangling\fR). The \f(CWc++filt\fR | |
206 | [1] | |
207 | program does the inverse mapping: it decodes (\fIdemangles\fR) low-level | |
208 | names into user-level names so that the linker can keep these overloaded | |
209 | functions from clashing. | |
252b5132 RH |
210 | .PP |
211 | Every alphanumeric word (consisting of letters, digits, underscores, | |
212 | dollars, or periods) seen in the input is a potential label. If the | |
0285c67d | 213 | label decodes into a \*(C+ name, the \*(C+ name replaces the low-level |
252b5132 RH |
214 | name in the output. |
215 | .PP | |
0285c67d | 216 | You can use \f(CWc++filt\fR to decipher individual symbols: |
252b5132 | 217 | .PP |
0285c67d NC |
218 | .Vb 2 |
219 | \& | |
220 | \& c++filt I<symbol> | |
221 | .Ve | |
222 | If no \fIsymbol\fR arguments are given, \f(CWc++filt\fR reads symbol | |
223 | names from the standard input and writes the demangled names to the | |
224 | standard output. All results are printed on the standard output. | |
225 | .SH "OPTIONS" | |
226 | .Ip "\f(CW-_\fR" 4 | |
227 | .Ip "\f(CW--strip-underscores\fR" 4 | |
228 | On some systems, both the C and \*(C+ compilers put an underscore in front | |
229 | of every name. For example, the C name \f(CWfoo\fR gets the low-level | |
230 | name \f(CW_foo\fR. This option removes the initial underscore. Whether | |
231 | \f(CWc++filt\fR removes the underscore by default is target dependent. | |
232 | .Ip "\f(CW-j\fR" 4 | |
233 | .Ip "\f(CW--java\fR" 4 | |
234 | Prints demangled names using Java syntax. The default is to use \*(C+ | |
235 | syntax. | |
236 | .Ip "\f(CW-n\fR" 4 | |
237 | .Ip "\f(CW--no-strip-underscores\fR" 4 | |
238 | Do not remove the initial underscore. | |
239 | .Ip "\f(CW-s \fIformat\fR\fR" 4 | |
240 | .Ip "\f(CW--format=\fIformat\fR\fR" 4 | |
241 | \s-1GNU\s0 \f(CWnm\fR can decode three different methods of mangling, used by | |
242 | different \*(C+ compilers. The argument to this option selects which | |
243 | method it uses: | |
244 | .Ip "\f(CWgnu\fR" 8 | |
245 | the one used by the \s-1GNU\s0 compiler (the default method) | |
246 | .Ip "\f(CWlucid\fR" 8 | |
247 | the one used by the Lucid compiler | |
248 | .Ip "\f(CWarm\fR" 8 | |
249 | the one specified by the \*(C+ Annotated Reference Manual | |
250 | .Ip "\f(CWhp\fR" 8 | |
251 | the one used by the \s-1HP\s0 compiler | |
252 | .Ip "\f(CWedg\fR" 8 | |
253 | the one used by the \s-1EDG\s0 compiler | |
254 | .Ip "\f(CWgnu-new-abi\fR" 8 | |
255 | the one used by the \s-1GNU\s0 compiler with the new \s-1ABI\s0. | |
256 | .Ip "\f(CW--help\fR" 4 | |
257 | Print a summary of the options to \f(CWc++filt\fR and exit. | |
258 | .Ip "\f(CW--version\fR" 4 | |
259 | Print the version number of \f(CWc++filt\fR and exit. | |
260 | .SH "FOOTNOTES" | |
261 | .Ip "1." 4 | |
262 | \s-1MS\s0\-\s-1DOS\s0 does not allow \f(CW+\fR characters in file names, so on | |
263 | \s-1MS\s0\-\s-1DOS\s0 this program is named \f(CWcxxfilt\fR. | |
252b5132 | 264 | .SH "SEE ALSO" |
0285c67d NC |
265 | the Info entries for \fIbinutils\fR. |
266 | .SH "COPYRIGHT" | |
267 | Copyright (c) 1991, 92, 93, 94, 95, 96, 97, 98, 99, 2000, 2001 Free Software Foundation, Inc. | |
252b5132 | 268 | .PP |
0285c67d NC |
269 | Permission is granted to copy, distribute and/or modify this document |
270 | under the terms of the GNU Free Documentation License, Version 1.1 | |
271 | or any later version published by the Free Software Foundation; | |
272 | with no Invariant Sections, with no Front-Cover Texts, and with no | |
273 | Back-Cover Texts. A copy of the license is included in the | |
274 | section entitled \*(L"GNU Free Documentation License\*(R". | |
275 | ||
276 | .rn }` '' | |
277 | .IX Title "CXXFILT.MAN 1" | |
278 | .IX Name "cxxfilt - Demangle C++ and Java symbols." | |
279 | ||
280 | .IX Header "NAME" | |
281 | ||
282 | .IX Header "SYNOPSIS" | |
283 | ||
284 | .IX Header "DESCRIPTION" | |
285 | ||
286 | .IX Header "OPTIONS" | |
287 | ||
288 | .IX Item "\f(CW-_\fR" | |
289 | ||
290 | .IX Item "\f(CW--strip-underscores\fR" | |
291 | ||
292 | .IX Item "\f(CW-j\fR" | |
293 | ||
294 | .IX Item "\f(CW--java\fR" | |
295 | ||
296 | .IX Item "\f(CW-n\fR" | |
297 | ||
298 | .IX Item "\f(CW--no-strip-underscores\fR" | |
299 | ||
300 | .IX Item "\f(CW-s \fIformat\fR\fR" | |
301 | ||
302 | .IX Item "\f(CW--format=\fIformat\fR\fR" | |
303 | ||
304 | .IX Item "\f(CWgnu\fR" | |
305 | ||
306 | .IX Item "\f(CWlucid\fR" | |
307 | ||
308 | .IX Item "\f(CWarm\fR" | |
309 | ||
310 | .IX Item "\f(CWhp\fR" | |
311 | ||
312 | .IX Item "\f(CWedg\fR" | |
313 | ||
314 | .IX Item "\f(CWgnu-new-abi\fR" | |
315 | ||
316 | .IX Item "\f(CW--help\fR" | |
317 | ||
318 | .IX Item "\f(CW--version\fR" | |
319 | ||
320 | .IX Header "FOOTNOTES" | |
321 | ||
322 | .IX Item "1." | |
323 | ||
324 | .IX Header "SEE ALSO" | |
325 | ||
326 | .IX Header "COPYRIGHT" | |
327 |