1 | .\" Copyright (c) 1991 Free Software Foundation
|
---|
2 | .\" See section COPYING for conditions for redistribution
|
---|
3 | .TH @PROGRAM@ 1 "June 1993" "cygnus support" "GNU Development Tools"
|
---|
4 | .de BP
|
---|
5 | .sp
|
---|
6 | .ti \-.2i
|
---|
7 | \(**
|
---|
8 | ..
|
---|
9 |
|
---|
10 | .SH NAME
|
---|
11 | @PROGRAM@ \- demangle C++ symbols
|
---|
12 |
|
---|
13 | .SH SYNOPSIS
|
---|
14 | .hy 0
|
---|
15 | .na
|
---|
16 | .TP
|
---|
17 | .B @PROGRAM@
|
---|
18 | .RB "[\|" \-_ | \-\-strip-underscores "\|]"
|
---|
19 | .RB "[\|" "\-s {gnu,lucid,arm} " | " \-\-format={gnu,lucid,arm}" "\|]"
|
---|
20 | .RB "[\|" \-\-help "\|]"
|
---|
21 | .RB "[\|" \-\-version "\|]"
|
---|
22 | .RB "[\|" symbol "...\|]"
|
---|
23 | .SH DESCRIPTION
|
---|
24 | The C++ language provides function overloading, which means that you can
|
---|
25 | write many functions with the same name (providing each takes parameters
|
---|
26 | of different types). All C++ function names are encoded into a
|
---|
27 | low-level assembly label (this process is known as
|
---|
28 | .I mangling\c
|
---|
29 | ). The
|
---|
30 | .B @PROGRAM@
|
---|
31 | program does the inverse mapping: it decodes (\fIdemangles\fR)
|
---|
32 | low-level names into user-level names so that the linker can keep
|
---|
33 | these overloaded functions from clashing.
|
---|
34 | .PP
|
---|
35 | Every alphanumeric word (consisting of letters, digits, underscores,
|
---|
36 | dollars, or periods) seen in the input is a potential label. If the
|
---|
37 | label decodes into a C++ name, the C++ name replaces the low-level
|
---|
38 | name in the output.
|
---|
39 | .PP
|
---|
40 | You can use
|
---|
41 | .B @PROGRAM@
|
---|
42 | to decipher individual symbols by specifying these symbols on the
|
---|
43 | command line.
|
---|
44 | .PP
|
---|
45 | If no
|
---|
46 | .B symbol
|
---|
47 | arguments are given,
|
---|
48 | .B @PROGRAM@
|
---|
49 | reads symbol names from the standard input and writes the demangled
|
---|
50 | names to the standard output. All results are printed on the standard
|
---|
51 | output.
|
---|
52 | .SH OPTIONS
|
---|
53 | .TP
|
---|
54 | .B \-_
|
---|
55 | .TP
|
---|
56 | .B \-\-strip\-underscores
|
---|
57 | On some systems, both the C and C++ compilers put an
|
---|
58 | underscore in front of every name. For example, the C name
|
---|
59 | .B foo
|
---|
60 | gets the low-level name
|
---|
61 | .BR _foo .
|
---|
62 | This option removes the leading underscore.
|
---|
63 |
|
---|
64 | .TP
|
---|
65 | .B "\-s {gnu,lucid,arm}"
|
---|
66 | .TP
|
---|
67 | .B \-\-format={gnu,lucid,arm}
|
---|
68 | GNU
|
---|
69 | .B nm
|
---|
70 | can decode three different methods of mangling, used by different C++
|
---|
71 | compilers. This option selects which method it uses: the one used by
|
---|
72 | the GNU compiler, the one used by the Lucid compiler, or the one
|
---|
73 | specified by the C++ Annotated Reference Manual. The default is the
|
---|
74 | GNU style.
|
---|
75 |
|
---|
76 | .TP
|
---|
77 | .B \-\-help
|
---|
78 | Print a summary of the options to
|
---|
79 | .B @PROGRAM@
|
---|
80 | and exit.
|
---|
81 |
|
---|
82 | .TP
|
---|
83 | .B \-\-version
|
---|
84 | Print the version number of
|
---|
85 | .B @PROGRAM@
|
---|
86 | and exit.
|
---|
87 |
|
---|
88 | .SH "SEE ALSO"
|
---|
89 | .RB "`\|" binutils "\|'"
|
---|
90 | entry in
|
---|
91 | .B
|
---|
92 | info\c
|
---|
93 | \&;
|
---|
94 | .I
|
---|
95 | The GNU Binary Utilities\c
|
---|
96 | \&, Roland H. Pesch (June 1993).
|
---|
97 |
|
---|
98 | .SH COPYING
|
---|
99 | Copyright (c) 1993 Free Software Foundation, Inc.
|
---|
100 | .PP
|
---|
101 | Permission is granted to make and distribute verbatim copies of
|
---|
102 | this manual provided the copyright notice and this permission notice
|
---|
103 | are preserved on all copies.
|
---|
104 | .PP
|
---|
105 | Permission is granted to copy and distribute modified versions of this
|
---|
106 | manual under the conditions for verbatim copying, provided that the
|
---|
107 | entire resulting derived work is distributed under the terms of a
|
---|
108 | permission notice identical to this one.
|
---|
109 | .PP
|
---|
110 | Permission is granted to copy and distribute translations of this
|
---|
111 | manual into another language, under the above conditions for modified
|
---|
112 | versions, except that this permission notice may be included in
|
---|
113 | translations approved by the Free Software Foundation instead of in
|
---|
114 | the original English.
|
---|