From: Phil Muldoon <pmuldoon@redhat.com>
To: iam ahal <hal9000ed2k@gmail.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [patch] GDB 7.2: new feature for "backtrace" that cuts path to file (remain filename)
Date: Sun, 26 Jun 2011 20:49:00 -0000 [thread overview]
Message-ID: <m3oc1kfheh.fsf@redhat.com> (raw)
In-Reply-To: <BANLkTinD+9_Mkug8o2VhZ03L6XSriL_RKQ@mail.gmail.com> (iam ahal's message of "Mon, 27 Jun 2011 00:00:28 +0400")
iam ahal <hal9000ed2k@gmail.com> writes:
You could use Python to write a custom backtrace to do this. But that
is neither here or there to this patch. I have no opinion on the patch
implementation itself, but a few nits.
> ChangeLog:
>
> 2011-06-26 Eldar Gaynetdinov <hal9000ed2k@gmail.com>:
No ":" at the end of that line.
> * stack.c (backtrace_command): Created new variable "nofull_path" for
> implementation of "backtrace nopath" command.
> It has similar logic as "fulltrace_arg"
> for "backtrace full" command.
> (backtrace_full_command): nofull_path is just zero (i.e.
> it's not used there).
> (backtrace_command_stub): just pass new argument
> ("args->nofull_path") to backtrace_command_1
> (backtrace_command_1): if "nofull_path" is enabled (by
> "backtrace nopath") then call print_frame_info with LOC_NO_FULLPATH.
> (print_frame_info): work with LOC_NO_FULLPATH same as
> LOCATION (because it's almost same thing).
> (print_frame): if LOC_NO_FULLPATH was passed then cut
> fullpath (if exist) and remain only filename.
> * frame.h (enum print_what): Added LOC_NO_FULLPATH with comment.
A few small things. The general rule of ChangeLog files is "what"
changed, not "why". Proper punctuation and capitalisation also. The
indenting seems off, too. Any continuation of a comment should continue
at the first "(" of the previous function in a ChangeLog.
> diff -rup -x configure gdb-7.2-orig/gdb/frame.h gdb-7.2/gdb/frame.h
> --- gdb-7.2-orig/gdb/frame.h 2010-01-01 10:31:32.000000000 +0300
> +++ gdb-7.2/gdb/frame.h 2011-06-26 21:56:52.000000000 +0400
> @@ -582,7 +582,10 @@ enum print_what
> /* Print both of the above. */
> SRC_AND_LOC,
> /* Print location only, but always include the address. */
> - LOC_AND_ADDRESS
> + LOC_AND_ADDRESS,
> + /* Print only the location but without the full path to file, *
> + * i.e. print only filename even if full path is defined in symtable. */
> + LOC_NO_FULLPATH
> };
Two spaces after "." even before the */.
> location_print = (print_what == LOCATION
> || print_what == LOC_AND_ADDRESS
> - || print_what == SRC_AND_LOC);
> + || print_what == SRC_AND_LOC
> + || print_what == LOC_NO_FULLPATH);
Not sure if this is an issue with your editor, mail, or just plain patch
weirdness, but this indention looks off. The first + line is indented
correctly, the second looks like it is missing a tab.
> - if (print_what != LOCATION)
> + if (print_what != LOCATION || print_what != LOC_NO_FULLPATH)
> set_default_breakpoint (1, sal.pspace,
> get_frame_pc (frame), sal.symtab, sal.line);
Indention, might be the patch interpretation too.
> - ui_out_field_string (uiout, "file", sal.symtab->filename);
> +
> + filename = NULL;
> + if (print_what == LOC_NO_FULLPATH)
> + {
> + filename = strrchr( sal.symtab->filename, '/' );
> + if (filename != NULL)
> + filename++;
> + }
Indention, and space between function name and (. IE, strrchr (.
> /* Stub for catch_errors. */
> @@ -1384,7 +1403,7 @@ backtrace_command_stub (void *data)
> {
> struct backtrace_command_args *args = data;
>
> - backtrace_command_1 (args->count_exp, args->show_locals, args->from_tty);
> + backtrace_command_1 (args->count_exp, args->show_locals, args->from_tty, args->nofull_path);
This function probably need to be wrapped onto the next line.
> if (fulltrace_arg < 0 && subset_compare (argv[i], "full"))
> fulltrace_arg = argc;
> + else if (nofull_path < 0 && subset_compare (argv[i], "nopath"))
> + nofull_path = argc;
> else
> {
Indention looks a little off. The "else" should match the preceding "if"
and "nofull_patch..." line match the indention of the "fulltrace_argc =
arg" line. Once again this may be a mailer issue on my part, but some
of your indention looks correct, while others look off. Anyway please
check.
You should have a testing statement indicating that it has not
regressed any existing functionality, as well as the architecture/distro
you tested it on. So you should run the GDB testsuite to test the
effects of your patch, before and after. Also as this patch introduces
new functionality, you should write tests that test that functionality.
This helps prove the patch, and help the maintainers catch future
regressions.
This patch probably need a documentation patch to document the new
backtrace option.
Finally, I am not a maintainer, so don't take anything I have said as
approval for the patch. ;) One of the maintainers will separately
comment on it.
Thanks for your effort, and your patch!
Cheers,
Phil
next prev parent reply other threads:[~2011-06-26 20:49 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 [this message]
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
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=m3oc1kfheh.fsf@redhat.com \
--to=pmuldoon@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=hal9000ed2k@gmail.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