From: Doug Evans <dje@google.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH] "info source" now includes producer string
Date: Sat, 31 Jan 2015 22:29:00 -0000 [thread overview]
Message-ID: <21709.8975.854197.667552@ruffy2.mtv.corp.google.com> (raw)
In-Reply-To: <8361ck8tzx.fsf@gnu.org>
Eli Zaretskii writes:
> > Date: Mon, 5 Jan 2015 16:28:20 -0800
> > From: Doug Evans <dje@google.com>
> > Cc: gdb-patches <gdb-patches@sourceware.org>
> >
> > >> +* The "info source" command now displays the producer string if it was
> > >> + present in the debug info.
> > >
> > > I wonder whether we should replace "producer" with something less
> > > abstract. Would "compilation command line" be accurate enough?
> >
> > The producer string can be anything, it's whatever the compiler
> > decides, so I'm really hesitant to be specific here (and "command
> > line" is too specific for me), because often it will be wrong.
>
> We can always say "e.g." or "such as". That would at least describe
> the most frequent use cases. We don't have to be 110% accurate here,
> just clear enough to convey the intent.
Here is what I committed.
2015-01-30 Doug Evans <dje@google.com>
* NEWS: "info source" command now display producer string if present.
* source.c (source_info): Print producer string if present.
doc/
* gdb.texinfo (Symbols) <info source>: Output now contains producer
string if present.
diff --git a/gdb/NEWS b/gdb/NEWS
index bd85967..2fca5f2 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,10 @@
*** Changes since GDB 7.9
+* The "info source" command now displays the producer string if it was
+ present in the debug info. This typically includes the compiler version
+ and may include things like its command line arguments.
+
* Python Scripting
** gdb.Objfile objects have a new attribute "username",
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index 277df25..2e58a53 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -16300,6 +16300,9 @@ its length, in lines,
@item
which programming language it is written in,
@item
+if the debug information provides it, the program that compiled the file
+(which may include, e.g., the compiler version and command line arguments),
+@item
whether the executable includes debugging information for that file, and
if so, what format the information is in (e.g., STABS, Dwarf 2, etc.), and
@item
diff --git a/gdb/source.c b/gdb/source.c
index 574d9fa..49c9d83 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -654,12 +654,15 @@ static void
source_info (char *ignore, int from_tty)
{
struct symtab *s = current_source_symtab;
+ struct compunit_symtab *cust;
if (!s)
{
printf_filtered (_("No current source file.\n"));
return;
}
+
+ cust = SYMTAB_COMPUNIT (s);
printf_filtered (_("Current source file is %s\n"), s->filename);
if (SYMTAB_DIRNAME (s) != NULL)
printf_filtered (_("Compilation directory is %s\n"), SYMTAB_DIRNAME (s));
@@ -670,10 +673,13 @@ source_info (char *ignore, int from_tty)
s->nlines == 1 ? "" : "s");
printf_filtered (_("Source language is %s.\n"), language_str (s->language));
+ printf_filtered (_("Producer is %s.\n"),
+ COMPUNIT_PRODUCER (cust) != NULL
+ ? COMPUNIT_PRODUCER (cust) : _("unknown"));
printf_filtered (_("Compiled with %s debugging format.\n"),
- COMPUNIT_DEBUGFORMAT (SYMTAB_COMPUNIT (s)));
+ COMPUNIT_DEBUGFORMAT (cust));
printf_filtered (_("%s preprocessor macro info.\n"),
- COMPUNIT_MACRO_TABLE (SYMTAB_COMPUNIT (s)) != NULL
+ COMPUNIT_MACRO_TABLE (cust) != NULL
? "Includes" : "Does not include");
}
\f
prev parent reply other threads:[~2015-01-31 18:46 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-05 20:41 Doug Evans
2015-01-05 20:50 ` Eli Zaretskii
2015-01-06 0:28 ` Doug Evans
2015-01-06 3:31 ` Eli Zaretskii
2015-01-31 22:29 ` Doug Evans [this message]
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=21709.8975.854197.667552@ruffy2.mtv.corp.google.com \
--to=dje@google.com \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
/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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).