Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: David Carlton <carlton@math.stanford.edu>
To: Michael Elizabeth Chastain <mec@shout.net>
Cc: drow@mvista.com, eliz@gnu.org, gdb-patches@sources.redhat.com
Subject: Re: [rfa/doc] correct info about best C++ compilers/debug formats
Date: Mon, 03 Feb 2003 20:14:00 -0000	[thread overview]
Message-ID: <ro1lm0x86kv.fsf@jackfruit.Stanford.EDU> (raw)
In-Reply-To: <200302032008.h13K8M230404@duracef.shout.net>

On Mon, 3 Feb 2003 14:08:22 -0600, Michael Elizabeth Chastain <mec@shout.net> said:
> Hi David,

>> Well, I wanted to include some sort of sentence that reassured users
>> that they probably didn't have to specify the debug format explicitly.

> How about:

>   Most configurations of @value{NGCC} emit either DWARF2 or stabs+
>   as their default debug format, so you usually don't need to specify a
>   debug format explicitly.

I can go with that.  I would assume that the + in 'stabs+' has to be
set off by @t, but TeXinfo doesn't complain; Eli, should I use stabs+
or stabs@t{+}?

Here's the next version of the patch; it changes this sentence, and
also replaces some uses of @samp{-gsomething} by @option{-gsomething},
which I assume is preferred.

David Carlton
carlton@math.stanford.edu

2003-02-03  David Carlton  <carlton@math.stanford.edu>

	* gdb.texinfo (C@t{++}): Recommend DWARF2, then stabs+.
	(Variables): Recommend stabs+ and DWARF2.
	(C plus plus expressions): Correct info about
	compiler versions, debug formats.
	PR symtab/874.

Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.145
diff -u -p -r1.145 gdb.texinfo
--- gdb.texinfo	1 Feb 2003 20:51:06 -0000	1.145
+++ gdb.texinfo	3 Feb 2003 20:13:22 -0000
@@ -4711,13 +4711,13 @@ No symbol "foo" in current context.
 
 To solve such problems, either recompile without optimizations, or use a
 different debug info format, if the compiler supports several such
-formats.  For example, @value{NGCC}, the @sc{gnu} C/C@t{++} compiler usually
-supports the @samp{-gstabs} option.  @samp{-gstabs} produces debug info
-in a format that is superior to formats such as COFF.  You may be able
-to use DWARF2 (@samp{-gdwarf-2}), which is also an effective form for
-debug info.  See @ref{Debugging Options,,Options for Debugging Your
-Program or @sc{gnu} CC, gcc.info, Using @sc{gnu} CC}, for more
-information.
+formats.  For example, @value{NGCC}, the @sc{gnu} C/C@t{++} compiler
+usually supports the @option{-gstabs+} option.  @option{-gstabs+}
+produces debug info in a format that is superior to formats such as
+COFF.  You may be able to use DWARF2 (@option{-gdwarf-2}), which is also
+an effective form for debug info.  See @ref{Debugging Options,,Options
+for Debugging Your Program or @sc{gnu} CC, gcc.info, Using @sc{gnu} CC},
+for more information.
 
 
 @node Arrays
@@ -7812,9 +7812,10 @@ effectively, you must compile your C@t{+
 C@t{++} compiler, such as @sc{gnu} @code{g++}, or the HP ANSI C@t{++}
 compiler (@code{aCC}).
 
-For best results when using @sc{gnu} C@t{++}, use the stabs debugging
-format.  You can select that format explicitly with the @code{g++}
-command-line options @samp{-gstabs} or @samp{-gstabs+}.  See
+For best results when using @sc{gnu} C@t{++}, use the DWARF2 debugging
+format; if it doesn't work on your system, try the stabs@t{+} debugging
+format.  You can select those formats explicitly with the @code{g++}
+command-line options @option{-gdwarf-2} and @option{-gstabs+}.  See
 @ref{Debugging Options,,Options for Debugging Your Program or @sc{gnu}
 CC, gcc.info, Using @sc{gnu} CC}, for more information.
 
@@ -8062,28 +8063,21 @@ and @samp{@{&"hi", &"there", &"fred"@}} 
 @cindex expressions in C@t{++}
 @value{GDBN} expression handling can interpret most C@t{++} expressions.
 
-@cindex C@t{++} support, not in @sc{coff}
-@cindex @sc{coff} versus C@t{++}
-@cindex C@t{++} and object formats
-@cindex object formats and C@t{++}
-@cindex a.out and C@t{++}
-@cindex @sc{ecoff} and C@t{++}
-@cindex @sc{xcoff} and C@t{++}
-@cindex @sc{elf}/stabs and C@t{++}
-@cindex @sc{elf}/@sc{dwarf} and C@t{++}
-@c FIXME!! GDB may eventually be able to debug C++ using DWARF; check
-@c periodically whether this has happened...
+@cindex debugging C@t{++} programs
+@cindex C@t{++} compilers
+@cindex debug formats and C@t{++}
+@cindex @value{NGCC} and C@t{++}
 @quotation
 @emph{Warning:} @value{GDBN} can only debug C@t{++} code if you use the
-proper compiler.  Typically, C@t{++} debugging depends on the use of
-additional debugging information in the symbol table, and thus requires
-special support.  In particular, if your compiler generates a.out, MIPS
-@sc{ecoff}, RS/6000 @sc{xcoff}, or @sc{elf} with stabs extensions to the
-symbol table, these facilities are all available.  (With @sc{gnu} CC,
-you can use the @samp{-gstabs} option to request stabs debugging
-extensions explicitly.)  Where the object code format is standard
-@sc{coff} or @sc{dwarf} in @sc{elf}, on the other hand, most of the C@t{++}
-support in @value{GDBN} does @emph{not} work.
+proper compiler and the proper debug format.  Currently, @value{GDBN}
+works best when debugging C@t{++} code that is compiled with
+@value{NGCC} 2.95.3 or with @value{NGCC} 3.1 or newer, using the options
+@option{-gdwarf-2} or @option{-gstabs+}.  DWARF2 is preferred over
+stabs@t{+}.  Most configurations of @value{NGCC} emit either DWARF2 or
+stabs@t{+} as their default debug format, so you usually don't need to
+specify a debug format explicitly.  Other compilers and/or debug formats
+are likely to work badly or not at all when using @value{GDBN} to debug
+C@t{++} code.
 @end quotation
 
 @enumerate


       reply	other threads:[~2003-02-03 20:14 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <200302032008.h13K8M230404@duracef.shout.net>
2003-02-03 20:14 ` David Carlton [this message]
2003-02-04  6:08   ` Eli Zaretskii
2003-02-04  7:04     ` Andrew Cagney
2003-02-04 21:17     ` David Carlton
2003-02-05  5:54       ` Eli Zaretskii
2003-02-04 14:41 Michael Elizabeth Chastain
  -- strict thread matches above, loose matches on Subject: below --
2003-02-04  6:24 Michael Elizabeth Chastain
2003-02-04  8:08 ` Eli Zaretskii
2003-02-03 21:21 Michael Elizabeth Chastain
2003-02-04  6:16 ` Eli Zaretskii
2003-02-03 19:29 David Carlton
2003-02-03 18:27 David Carlton
2003-02-03 18:37 ` Daniel Jacobowitz
2003-02-03 19:23 ` Eli Zaretskii
2003-02-03 20:09   ` David Carlton
2003-02-03 20:49     ` Andrew Cagney
2003-02-04  6:14       ` Eli Zaretskii
2003-02-04  5:59     ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=ro1lm0x86kv.fsf@jackfruit.Stanford.EDU \
    --to=carlton@math.stanford.edu \
    --cc=drow@mvista.com \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    --cc=mec@shout.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox