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