From: Tom Tromey <tom@tromey.com>
To: Tom Tromey <tom@tromey.com>
Cc: Philippe Waroquiers <philippe.waroquiers@skynet.be>,
Joel Brobecker <brobecker@adacore.com>,
gdb-patches@sourceware.org
Subject: Re: [RFA_v4 1/8] Add helper functions parse_flags and parse_flags_qcs
Date: Wed, 01 Aug 2018 04:34:00 -0000 [thread overview]
Message-ID: <87va8un1s9.fsf@tromey.com> (raw)
In-Reply-To: <87zhy6n35z.fsf@tromey.com> (Tom Tromey's message of "Tue, 31 Jul 2018 22:04:08 -0600")
>>>>> "Tom" == Tom Tromey <tom@tromey.com> writes:
>>>>> "Philippe" == Philippe Waroquiers <philippe.waroquiers@skynet.be> writes:
Philippe> I am wondering if the correct solution would not be to avoid
Philippe> having input lines memory being managed 'manually' like it is now,
Philippe> as having the 'input const char* arg' disappearing 'under the carpet'
Philippe> is quite tricky, and we might have other places where a previous
Philippe> line of input must be kept alive, while new lines of input have
Philippe> to be read.
Tom> Yeah, my approach has been to require the callers of
Tom> handle_line_of_input to handle the storage, so nothing relies on
Tom> saved_command_line surviving across reentrant calls.
The bug in my patch turns out to be this line in top.c:
if (repeat_arguments != NULL && cmd_start == saved_command_line)
... which relies on handle_line_of_input returning saved_command_line
exactly rather than a copy.
Fixing this in a good way will require passing a bit more information
through the maze of functions. This part of gdb sure seems complicated
for what it does.
A less principled way to fix this would be to stuff another global in
there somewhere, to indicate that the current command is a repeat. This
is "safe" in that nearly nothing ought to check the global. However, I
think I'd rather try not to introduce more globals, at least unless I
get too annoyed.
Tom
next prev parent reply other threads:[~2018-08-01 4:34 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-07-10 21:39 [RFA_v4 0/8] Implement 'frame apply COMMAND', enhance 'thread apply COMMAND' Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 7/8] Modify gdb.threads/pthreads.exp to test FLAG qcs arguments for thread apply. Also, add prefixes to make some non unique tests unique Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 2/8] Implement frame apply [all | COUNT | -COUNT | level LEVEL... ] [FLAG]... COMMAND Philippe Waroquiers
2018-07-14 1:49 ` Simon Marchi
2018-07-14 12:37 ` Tom Tromey
2018-07-10 21:39 ` [RFA_v4 3/8] Add [FLAG]... arguments to 'thread apply' Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 8/8] Add a self-test for cli-utils.c Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 4/8] Documents the new commands 'frame apply', faas, taas, tfaas Philippe Waroquiers
2018-07-11 3:06 ` Eli Zaretskii
2018-07-11 5:57 ` Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 1/8] Add helper functions parse_flags and parse_flags_qcs Philippe Waroquiers
2018-07-30 20:16 ` Joel Brobecker
2018-07-30 21:10 ` Tom Tromey
2018-07-31 13:52 ` Joel Brobecker
2018-07-31 15:41 ` Tom Tromey
2018-07-31 21:13 ` Philippe Waroquiers
2018-08-01 4:04 ` Tom Tromey
2018-08-01 4:34 ` Tom Tromey [this message]
2018-07-30 21:48 ` Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 6/8] Add a test for 'frame apply' Philippe Waroquiers
2018-07-10 21:39 ` [RFA_v4 5/8] Announce the user visible changes for frame/thread apply in NEWS Philippe Waroquiers
2018-07-11 10:58 ` [RFA_v4 0/8] Implement 'frame apply COMMAND', enhance 'thread apply COMMAND' Pedro Alves
2018-07-12 21:12 ` Philippe Waroquiers
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=87va8un1s9.fsf@tromey.com \
--to=tom@tromey.com \
--cc=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=philippe.waroquiers@skynet.be \
/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