xref: /freebsd/contrib/elftoolchain/cxxfilt/c++filt.1 (revision ae500c1ff8974130f7f2692772cf288b90349e0d)
1a85fe12eSEd Maste.\" Copyright (c) 2009-2011 Joseph Koshy <jkoshy@users.sourceforge.net>
2a85fe12eSEd Maste.\" All rights reserved.
3a85fe12eSEd Maste.\"
4a85fe12eSEd Maste.\" Redistribution and use in source and binary forms, with or without
5a85fe12eSEd Maste.\" modification, are permitted provided that the following conditions
6a85fe12eSEd Maste.\" are met:
7a85fe12eSEd Maste.\" 1. Redistributions of source code must retain the above copyright
8a85fe12eSEd Maste.\"    notice, this list of conditions and the following disclaimer
9a85fe12eSEd Maste.\"    in this position and unchanged.
10a85fe12eSEd Maste.\" 2. Redistributions in binary form must reproduce the above copyright
11a85fe12eSEd Maste.\"    notice, this list of conditions and the following disclaimer in the
12a85fe12eSEd Maste.\"    documentation and/or other materials provided with the distribution.
13a85fe12eSEd Maste.\"
14a85fe12eSEd Maste.\" THIS SOFTWARE IS PROVIDED BY THE AUTHORS ``AS IS'' AND ANY EXPRESS OR
15a85fe12eSEd Maste.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16a85fe12eSEd Maste.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17a85fe12eSEd Maste.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18a85fe12eSEd Maste.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19a85fe12eSEd Maste.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20a85fe12eSEd Maste.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21a85fe12eSEd Maste.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22a85fe12eSEd Maste.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23a85fe12eSEd Maste.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24a85fe12eSEd Maste.\"
25*ae500c1fSEd Maste.\" $Id: c++filt.1 3642 2018-10-14 14:24:28Z jkoshy $
26a85fe12eSEd Maste.\"
27a85fe12eSEd Maste.Dd August 24, 2011
28a85fe12eSEd Maste.Dt C++FILT 1
29*ae500c1fSEd Maste.Os
30a85fe12eSEd Maste.Sh NAME
31a85fe12eSEd Maste.Nm c++filt
32a85fe12eSEd Maste.Nd decode C++ symbols
33a85fe12eSEd Maste.Sh SYNOPSIS
34a85fe12eSEd Maste.Nm
35a85fe12eSEd Maste.Op Fl -help
36a85fe12eSEd Maste.Op Fl _ | Fl -strip-underscores
37a85fe12eSEd Maste.Op Fl n | Fl -no-strip-underscores
38a85fe12eSEd Maste.Op Fl p | Fl -no-params
39a85fe12eSEd Maste.Op Fl s Ar scheme | Fl -format Ns = Ns Ar scheme
40a85fe12eSEd Maste.Op Fl V | Fl -version
41a85fe12eSEd Maste.Op Ar encoded-names ...
42a85fe12eSEd Maste.Sh DESCRIPTION
43a85fe12eSEd MasteThe
44a85fe12eSEd Maste.Nm
45a85fe12eSEd Masteutility translates encoded C++ symbol names to human-readable form.
46a85fe12eSEd Maste.Pp
47a85fe12eSEd MasteThe
48a85fe12eSEd Maste.Nm
49a85fe12eSEd Masteutility has two operating modes.
50a85fe12eSEd Maste.Bl -bullet
51a85fe12eSEd Maste.It
52a85fe12eSEd MasteIf arguments
53a85fe12eSEd Maste.Ar encoded-names
54a85fe12eSEd Masteare not specified, then
55a85fe12eSEd Maste.Nm
56a85fe12eSEd Mastewill act as a filter, reading from standard input
57a85fe12eSEd Masteand writing to standard output.
58a85fe12eSEd Maste.It
59a85fe12eSEd MasteIf arguments
60a85fe12eSEd Maste.Ar encoded-names
61a85fe12eSEd Masteare specified, then
62a85fe12eSEd Maste.Nm
63a85fe12eSEd Mastewill decode each such argument in turn, writing its decoded form
64a85fe12eSEd Masteto standard output.
65a85fe12eSEd Maste.El
66a85fe12eSEd Maste.Pp
67a85fe12eSEd MasteThe
68a85fe12eSEd Maste.Nm
69a85fe12eSEd Masteutility recognizes the following options:
70a85fe12eSEd Maste.Bl -tag -width indent
71a85fe12eSEd Maste.It Fl -help
72a85fe12eSEd MastePrint a help message and exit.
73a85fe12eSEd Maste.It Fl _ | Fl -strip-underscores
74a85fe12eSEd MasteRemove a leading underscore from symbol names prior to decoding them.
75a85fe12eSEd Maste.It Fl n | Fl -no-strip-underscores
76a85fe12eSEd MasteDo not remove leading underscores from names.
77a85fe12eSEd Maste.It Fl p | Fl -no-params
78a85fe12eSEd MasteThis option is recognized but ignored.
79a85fe12eSEd Maste.It Fl s Ar scheme | Fl -format Ns = Ns Ar scheme
80a85fe12eSEd MasteSelect the encoding scheme to use.
81a85fe12eSEd MasteArgument
82a85fe12eSEd Maste.Ar scheme
83a85fe12eSEd Mastecan be one of the following:
84a85fe12eSEd Maste.Bl -tag -width "gnu-v5"
85a85fe12eSEd Maste.It Ar arm
86a85fe12eSEd MasteUse the encoding scheme specified by the C++ Annotated Reference Manual.
87a85fe12eSEd Maste.It Ar auto
88a85fe12eSEd MasteGuess the encoding scheme from the input.
89a85fe12eSEd Maste.It Ar gnu
90a85fe12eSEd MasteUse the encoding scheme used by the GNU C++ compiler.
91a85fe12eSEd Maste.It Ar gnu-v3
92a85fe12eSEd MasteUse the encoding scheme used by the GNU C++ compiler, version 3.
93a85fe12eSEd Maste.El
94a85fe12eSEd Maste.It Fl V | Fl -version
95a85fe12eSEd MastePrint a version identifier for
96a85fe12eSEd Maste.Nm
97a85fe12eSEd Masteand exit.
98a85fe12eSEd Maste.El
99a85fe12eSEd Maste.Sh EXIT STATUS
100a85fe12eSEd Maste.Ex -std
101a85fe12eSEd Maste.Sh SEE ALSO
102a85fe12eSEd Maste.Xr nm 1 ,
103a85fe12eSEd Maste.Xr strip 1 ,
104a85fe12eSEd Maste.Xr elftc_demangle 3
105a85fe12eSEd Maste.Sh AUTHORS
106a85fe12eSEd MasteThe
107a85fe12eSEd Maste.Nm
108a85fe12eSEd Masteutility was written by
109b00fe64fSEd Maste.An Kai Wang Aq Mt kaiwang27@users.sourceforge.net .
110