From: Pedro Alves <palves@redhat.com>
To: Simon Marchi <simon.marchi@ericsson.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH v2 2/2] Only leave dprintf inserted if it is marked as persistent (PR breakpoints/17012)
Date: Tue, 15 Jul 2014 19:27:00 -0000 [thread overview]
Message-ID: <53C5642E.4010103@redhat.com> (raw)
In-Reply-To: <1404760664-17289-2-git-send-email-simon.marchi@ericsson.com>
On 07/07/2014 08:17 PM, Simon Marchi wrote:
> On Linux native, if dprintf are inserted when detaching, they are left
> in the inferior which causes it to crash from a SIGTRAP. It also happens
> with dprintfs on remote targets, when set disconnected-dprintf is off.
>
> I believe that the rationale of the line I modified was to leave dprinfs
> inserted in order to support disconnected dprintfs. This adds a check to
> see if the dprintf should actually stay inserted or not.
>
> bl->target_info.persist will be 1 only if disconnected-dprintf is on and
> we are debugging a remote target. On native, it will always be 0,
> regardless of the value of disconnected-dprintf. This makes sense, since
> disconnected dprintfs are not supported by the native target.
>
> gdb/Changelog:
>
> 2014-07-07 Simon Marchi <simon.marchi@ericsson.com>
>
> PR breakpoints/17012
> * breakpoint.c (remove_breakpoints_pid): Only skip removing
> dprintf if it is marked as persistent.
>
> ---
> gdb/breakpoint.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
> index 908a1ea..fb833d0 100644
> --- a/gdb/breakpoint.c
> +++ b/gdb/breakpoint.c
> @@ -3112,7 +3112,7 @@ remove_breakpoints_pid (int pid)
> if (bl->pspace != inf->pspace)
> continue;
>
> - if (bl->owner->type == bp_dprintf)
> + if (bl->owner->type == bp_dprintf && bl->target_info.persist == 1)
> continue;
I think that we don't really need the "bl->owner->type == bp_dprintf"
check anymore. persist" carries all the semantics we need here.
Also, this is a boolean, so best write:
if (bl->target_info.persist)
continue;
without the "== 1" part.
But ... most importantly. How do we end up with 'persist' set
on a call-style dprintf, given:
static void
build_target_command_list (struct bp_location *bl)
{
...
/* For now, limit to agent-style dprintf breakpoints. */
if (dprintf_style != dprintf_style_agent)
return;
I'm confused, as you say the test fails now, but nowhere in the
test are you setting the style to agent. I think I'm missing
something. :-)
--
Pedro Alves
next prev parent reply other threads:[~2014-07-15 17:26 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-07 19:17 [PATCH v2 1/2] Add dprintf and detach test " Simon Marchi
2014-07-07 19:17 ` [PATCH v2 2/2] Only leave dprintf inserted if it is marked as persistent " Simon Marchi
2014-07-15 16:08 ` Joel Brobecker
2014-07-15 19:27 ` Pedro Alves [this message]
2014-07-16 2:02 ` Pedro Alves
2014-07-15 17:19 ` [PATCH v2 1/2] Add dprintf and detach test " Pedro Alves
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=53C5642E.4010103@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
--cc=simon.marchi@ericsson.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