From: Doug Evans <dje@google.com>
To: iam ahal <hal9000ed2k@gmail.com>
Cc: Tom Tromey <tromey@redhat.com>,
gdb-patches@sourceware.org, eliz@gnu.org, pmuldoon@redhat.com,
brobecker@adacore.com, pedro@codesourcery.com, drow@false.org,
jan.kratochvil@redhat.com
Subject: Re: [patch] GDB 7.2: new feature for "backtrace" that cuts path to file (remain filename)
Date: Wed, 02 Nov 2011 22:53:00 -0000 [thread overview]
Message-ID: <CADPb22TT2eP+pkdTu50EyTsctzWskDz=oShoTDTsrtzF0Qdnzw@mail.gmail.com> (raw)
In-Reply-To: <CAA18ubL9TG7we7bi3U_0DQw8KLXNaYCfGa91KQrvC2jM=6DsBw@mail.gmail.com>
On Sun, Oct 30, 2011 at 11:16 AM, iam ahal <hal9000ed2k@gmail.com> wrote:
> Copyright assignment by [gnu.org #703515] is completed.
> I've corrected some pieces of the patch by your notes.
> Also, I've attached the change log.
>
> Please, check it.
>
> Thank you.
>
> ~Eldar.
Hi.
Here's my $0.02 review.
These are all nits.
---
For your changelog entry:
[these are all for consistency with existing entries]
Add a new variable that controls a way in which filenames in
backtraces is displayed.
For this entry:
* gdb.texinfo: Added description of 'filename-display' variable in
'set/show backtrace' section.
Specify which @node the gdb.texinfo entry is for.
Existing example:
* gdb.texinfo (Values From Inferior): Add is_lazy attribute,
fetch_lazy method.
For this entry:
* frame.c: Added including of a header file. Added definition of
three global string variables and global array of string variables.
Added definition of one global string variable.
Specify what the variable names are.
Existing example:
* infrun.c (disable_randomization): New global variable.
(show_filename_display_string): New function.
For this entry:
(get_filename_display_from_sal): New function with commentary.
No need to write "with commentary" here or below.
(_initialize_frame): Added initialization of 'filename-display'
variable.
For this entry:
* frame.h: Added declaration of a new function with commentary.
You need to write the name of the function here.
Existing example:
* value.h (read_frame_register_value): Add declaration.
* stack.c (print_frame): Added new variable and calling of a new
function and condition with this variable. Changed third argument of
calling of a function.
---
For your patch:
I wish I could think of a shorter name than
"without-compile-directory", but I can't.
OTOH gdb uses "compilation directory" everywhere"
$ grep "compile.*directory" *.[ch] | wc
0 ...
$ grep "compilation.*directory" *.[ch] | wc
9 ...
Can we change this to without-compilation-directory?
[It's already long, and it still tab-completes in one character. :-)]
In get_filename_display_from_sal:
+const char *
+get_filename_display_from_sal (struct symtab_and_line *sal)
+{
+ const char *filename = sal->symtab->filename;
+ const char *dirname = sal->symtab->dirname;
+ size_t dlen = dirname ? strlen (dirname) : 0;
+
+ if (filename_display_string == filename_display_basename
+ && filename)
+ {
+ return lbasename (filename);
+ }
[...]
There are a few "&& filename" checks.
The code would be easier to read if you did
if (filename == NULL)
return NULL;
at the start.
+ else
+ if (filename_display_string == filename_display_without_comp_directory
"else" and "if" go on the same line.
In stack.c:
diff -rup gdb-7.3.1-orig/gdb/stack.c gdb-7.3.1/gdb/stack.c
--- gdb-7.3.1-orig/gdb/stack.c 2011-03-18 21:48:56.000000000 +0300
+++ gdb-7.3.1/gdb/stack.c 2011-10-30 20:53:23.182333185 +0400
@@ -835,11 +835,15 @@ print_frame (struct frame_info *frame, i
ui_out_text (uiout, ")");
if (sal.symtab && sal.symtab->filename)
{
+ const char *filename_display = get_filename_display_from_sal (&sal);
+ if (filename_display == NULL)
+ filename_display = sal.symtab->filename;
+
annotate_frame_source_begin ();
ui_out_wrap_hint (uiout, " ");
ui_out_text (uiout, " at ");
annotate_frame_source_file ();
- ui_out_field_string (uiout, "file", sal.symtab->filename);
+ ui_out_field_string (uiout, "file", filename_display);
if (ui_out_is_mi_like_p (uiout))
{
const char *fullname = symtab_to_fullname (sal.symtab);
If filename_display is NULL it's because sal.symtab->filename was NULL.
[right?]
This is confusing.
I suggest removing this code:
+ if (filename_display == NULL)
+ filename_display = sal.symtab->filename;
next prev parent reply other threads:[~2011-11-02 22:53 UTC|newest]
Thread overview: 69+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-26 20:00 iam ahal
2011-06-26 20:49 ` Phil Muldoon
2011-06-27 16:00 ` Joel Brobecker
2011-06-27 16:18 ` Phil Muldoon
2011-06-28 20:08 ` Tom Tromey
2011-06-28 22:36 ` Phil Muldoon
2011-07-03 18:12 ` iam ahal
2011-07-03 21:13 ` Eli Zaretskii
2011-07-04 11:26 ` iam ahal
2011-07-04 12:05 ` Eli Zaretskii
2011-07-04 21:47 ` Joel Brobecker
2011-07-05 4:35 ` Eli Zaretskii
2011-07-19 14:43 ` Pedro Alves
2011-07-05 8:38 ` iam ahal
2011-07-19 14:19 ` Pedro Alves
2011-07-17 19:24 ` iam ahal
2011-07-19 13:28 ` iam ahal
2011-07-19 17:04 ` Eli Zaretskii
2011-07-24 21:12 ` iam ahal
2011-07-26 14:17 ` iam ahal
2011-07-28 15:34 ` Tom Tromey
2011-07-28 15:57 ` Tom Tromey
2011-07-28 16:36 ` Joel Brobecker
2011-07-28 17:39 ` Tom Tromey
2011-07-28 17:51 ` Tom Tromey
2011-07-29 12:01 ` Joel Brobecker
2011-07-29 12:36 ` Eli Zaretskii
2011-08-02 19:41 ` iam ahal
2011-08-03 17:45 ` Tom Tromey
2011-10-30 19:52 ` iam ahal
2011-11-02 19:06 ` Tom Tromey
2011-11-02 22:53 ` Doug Evans [this message]
2011-12-04 15:52 ` iam ahal
2011-12-04 16:55 ` Eli Zaretskii
2011-12-04 18:41 ` iam ahal
2011-12-04 19:01 ` Pedro Alves
2011-12-04 19:56 ` Eli Zaretskii
2011-12-04 21:00 ` Pedro Alves
2011-12-05 3:54 ` Eli Zaretskii
2011-12-05 5:17 ` Eli Zaretskii
2011-12-06 13:03 ` Pedro Alves
2011-12-06 14:04 ` Eli Zaretskii
2011-12-06 18:00 ` Doug Evans
2011-12-06 20:45 ` Tom Tromey
2011-12-07 8:00 ` Eli Zaretskii
2012-03-10 20:15 ` iam ahal
2012-03-11 1:22 ` asmwarrior
2012-03-12 13:10 ` iam ahal
2012-03-14 16:11 ` Tom Tromey
2012-03-14 16:27 ` Jan Kratochvil
2012-03-14 17:40 ` Eli Zaretskii
2012-03-15 22:46 ` Jan Kratochvil
2012-03-18 18:30 ` iam ahal
2012-03-18 18:35 ` Jan Kratochvil
2012-04-06 14:22 ` Jan Kratochvil
2012-03-18 20:46 ` Eli Zaretskii
2012-03-25 19:27 ` iam ahal
2012-03-25 19:31 ` Jan Kratochvil
2012-03-25 21:23 ` Eli Zaretskii
2011-12-06 12:50 ` Pedro Alves
2011-12-06 20:40 ` Tom Tromey
2011-12-06 23:02 ` Jan Kratochvil
2011-07-29 13:35 ` Jan Kratochvil
2011-08-01 18:04 ` Tom Tromey
2011-06-29 10:09 ` Andrew Burgess
2011-06-29 16:06 ` Joel Brobecker
2011-07-03 18:15 ` Daniel Jacobowitz
2011-06-28 20:08 ` Tom Tromey
2012-04-09 15:39 ` Jan Kratochvil
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='CADPb22TT2eP+pkdTu50EyTsctzWskDz=oShoTDTsrtzF0Qdnzw@mail.gmail.com' \
--to=dje@google.com \
--cc=brobecker@adacore.com \
--cc=drow@false.org \
--cc=eliz@gnu.org \
--cc=gdb-patches@sourceware.org \
--cc=hal9000ed2k@gmail.com \
--cc=jan.kratochvil@redhat.com \
--cc=pedro@codesourcery.com \
--cc=pmuldoon@redhat.com \
--cc=tromey@redhat.com \
/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