This is the mail archive of the
binutils@sourceware.cygnus.com
mailing list for the binutils project.
Re: Patch to build cxxfilt for DOS
- To: "Mark E." <snowball3@bigfoot.com>
- Subject: Re: Patch to build cxxfilt for DOS
- From: Eli Zaretskii <eliz@gnu.org>
- Date: Mon, 2 Aug 1999 09:43:19 -0400
- CC: binutils@sourceware.cygnus.com
- References: <199907282113.VAA09028@out5.ibm.net>
From: "Mark E." <snowball3@bigfoot.com>
Date: Wed, 28 Jul 1999 17:13:19 -0400
> Since the plus character isn't a valid character under plain DOS,
> DJGPP uses cxxfilt.exe instead of c++filt.exe. This patch makes it so
> cxxfilt.exe is built for DJGPP while leaving it c++filt and c++filt.exe for
> everyone else.
There's one more place where c++filt is mentioned: in
libiberty/Makefile.in, under the demangle: target. It's there only to
print a message, but perhaps it would be possible to say cxxfilt there
as well?
Also, I think if cxxfilt is now official, the docs should reflect that
as well. So here's a suggested change for binutils.texi:
*** binutils/binutils.t~0 Fri May 1 18:49:30 1998
--- binutils/binutils.texi Sun Aug 1 21:00:50 1999
***************
*** 114,120 ****
@item strip
Discard symbols
! @item c++filt
Demangle encoded C++ symbols
@item addr2line
--- 114,120 ----
@item strip
Discard symbols
! @item c++filt@r{ (called }cxxfilt@r{ on MS-DOS})
Demangle encoded C++ symbols
@item addr2line
***************
*** 138,143 ****
--- 138,144 ----
* strings:: List printable strings from files
* strip:: Discard symbols
* c++filt:: Filter to demangle encoded C++ symbols
+ * cxxfilt: c++filt. MS-DOS alias for the c++filt program
* addr2line:: Convert addresses to file and line
* nlmconv:: Converts object code into an NLM
* windres:: Manipulate Windows resources
***************
*** 1630,1636 ****
archives, @samp{strip -v} lists all members of the archive.
@end table
! @node c++filt
@chapter c++filt
@kindex c++filt
--- 1631,1637 ----
archives, @samp{strip -v} lists all members of the archive.
@end table
! @node c++filt, addr2line, strip, Top
@chapter c++filt
@kindex c++filt
***************
*** 1643,1653 ****
[ --help ] [ --version ] [ @var{symbol}@dots{} ]
@end smallexample
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 (this process is known as
! @dfn{mangling}). The @code{c++filt} program does the inverse mapping: it
decodes (@dfn{demangles}) low-level names into user-level names so that
the linker can keep these overloaded functions from clashing.
--- 1644,1658 ----
[ --help ] [ --version ] [ @var{symbol}@dots{} ]
@end smallexample
+ @kindex cxxfilt@r{, on MS-DOS}
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 (this process is known as
! @dfn{mangling}). The @code{c++filt}@footnote{
! MS-DOS doesn't allow @file{+} characters in file names, which makes
! @file{c++filt} an invalid file name. Therefore, on MS-DOS systems this
! program is called @file{cxxfilt}.} program does the inverse mapping: it
decodes (@dfn{demangles}) low-level names into user-level names so that
the linker can keep these overloaded functions from clashing.