| 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. |