This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Patch to build cxxfilt for DOS



  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.
  

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]