aboutsummaryrefslogtreecommitdiff
path: root/binutils/c++filt.1
diff options
context:
space:
mode:
authorJeffrey Osier <jeffrey@cygnus>1993-06-03 01:31:51 +0000
committerJeffrey Osier <jeffrey@cygnus>1993-06-03 01:31:51 +0000
commit08ad992164608b882e7532ae82db721062091737 (patch)
tree136dc01af8da0738ae6bdcadc16bc9aed1a11801 /binutils/c++filt.1
parent84aa54e2b488cf4011a1e293025ad51ce821ac41 (diff)
downloadgdb-08ad992164608b882e7532ae82db721062091737.zip
gdb-08ad992164608b882e7532ae82db721062091737.tar.gz
gdb-08ad992164608b882e7532ae82db721062091737.tar.bz2
* c++filt.1, objcopy.1: new man pages
Diffstat (limited to 'binutils/c++filt.1')
-rw-r--r--binutils/c++filt.188
1 files changed, 88 insertions, 0 deletions
diff --git a/binutils/c++filt.1 b/binutils/c++filt.1
new file mode 100644
index 0000000..1fc8241
--- /dev/null
+++ b/binutils/c++filt.1
@@ -0,0 +1,88 @@
+.\" Copyright (c) 1991 Free Software Foundation
+.\" See section COPYING for conditions for redistribution
+.TH c++filt 1 "June 1993" "cygnus support" "GNU Development Tools"
+.de BP
+.sp
+.ti \-.2i
+\(**
+..
+
+.SH NAME
+c++filt\(em\&demangles C++ symbols
+
+.SH SYNOPSIS
+.B c++filt
+[
+.B -_
+]
+
+.SH DESCRIPTION
+The C++ language provides function overloading, which means that you can
+write many functions with the same name (providing each takes parameters
+of different types). All C++ function names are encoded into a
+low-level assembly label (in some circles this is described as
+@dfn{mangling}). The
+.B c++filt
+program does the inverse mapping: it decodes (\fIdemangles\fR)
+low-level names into user-level names so that the linker can keep
+these overloaded functions from clashing.
+
+Every alphanumeric word (consisting of letters, digits, underscores,
+dollars, or periods) seen in the input is a potential label. If the
+label decodes into a C++ name, the C++ name replaces the low-level
+name in the output.
+
+A typical use of
+.B c++filt
+is to pipe the output of
+.B nm
+though it, using
+.B c++filt
+as a filter:
+.RS
+.B nm \fIobjfile\fB | c++filt
+.RE
+
+You can also use
+.B c++filt
+to decipher individual symbols by specifying these symbols on the
+command line.
+
+All results are printed on the standard output.
+
+Note that on some systems, both the C and C++ compilers put an
+underscore in front of every name. (I.e. the C name
+.B foo
+gets the low-level name
+.BR _foo .)
+To remove the leading underscore, specify the option
+.B -_
+on the command line.
+
+.SH "SEE ALSO"
+.RB "`\|" binutils "\|'"
+entry in
+.B
+info\c
+\&;
+.I
+The GNU Binary Utilities\c
+\&, Roland H. Pesch (June 1993).
+
+.SH COPYING
+Copyright (c) 1993 Free Software Foundation, Inc.
+.PP
+Permission is granted to make and distribute verbatim copies of
+this manual provided the copyright notice and this permission notice
+are preserved on all copies.
+.PP
+Permission is granted to copy and distribute modified versions of this
+manual under the conditions for verbatim copying, provided that the
+entire resulting derived work is distributed under the terms of a
+permission notice identical to this one.
+.PP
+Permission is granted to copy and distribute translations of this
+manual into another language, under the above conditions for modified
+versions, except that this permission notice may be included in
+translations approved by the Free Software Foundation instead of in
+the original English.