From: Joel Brobecker <brobecker@adacore.com>
To: Pedro Alves <palves@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA/7.8] user breakpoint not inserted if software-single-step at same location
Date: Fri, 30 May 2014 12:22:00 -0000 [thread overview]
Message-ID: <20140530122253.GC4289@adacore.com> (raw)
In-Reply-To: <5387BFF0.6010208@redhat.com>
Hi Pedro,
Thanks for the super quick review!
> Async/background execution breaks that assumption though.
Hmmm, you are right. I had a feeling that this assumption was
going to come back to bite us one day. I didn't realize that
it was going to be today! ;-)
> We can still bypass actually inserting the sss breakpoint in
> the "insert" path if there's already another breakpoint there,
> but we'll need to create/clone the location and its shadow buffer,
> and then still handle the issue in the "remove" path.
[...]
> In sum, in the "insert" path:
>
> - if !target_supports_evaluation_of_breakpoint_conditions; then
> optimize out the sss breakpoint if there's already a
> non-sss breakpoint inserted at the same address.
> else
> make sure to resend/reinsert the breakpoint sss breakpoint,
> even if there's already a non-sss in place, in case that other
> breakpoint was conditional.
> fi
>
> And in the "remove" path:
>
> - if there's still a non-sss breakpoint inserted at the
> same address, then don't actually remove the breakpoint
> off of the target, just wipe it from gdb's list.
It seems to me that we'd need to merge your initial recommendation
into your summary above, right? Otherwise, wouldn't we fail in
the async example you provided? Actually, wouldn't it fail
regardless? Even if we inserted the SSS breakpoint, when the user
deletes his breakpoints, since the breakpoint chain doesn't know
about the SSS breakpoint, wouldn't it remove our SSS breakpoint
insn?
I am wondering whether the simpler approach that you initially
suggested, which is to just handle the issue in the "remove"
path for 7.8 wouldn't be a little safer, while we also look
at actually enhancing SSS breakpoints via the normal breakpoint
chain. I am wondering what's going to be needed for that...
WDYT?
Thanks!
--
Joel
next prev parent reply other threads:[~2014-05-30 12:22 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-29 20:11 Joel Brobecker
2014-05-29 23:17 ` Pedro Alves
2014-05-30 12:22 ` Joel Brobecker [this message]
2014-05-30 12:51 ` Pedro Alves
2014-05-30 13:27 ` Joel Brobecker
2014-05-30 15:57 ` Pedro Alves
2014-05-30 16:19 ` Joel Brobecker
2014-05-30 16:23 ` Pedro Alves
2014-05-30 16:23 ` Pedro Alves
2014-06-03 11:55 ` Yao Qi
2014-06-03 12:00 ` Pedro Alves
2014-06-03 12:12 ` Andreas Schwab
2014-06-03 12:19 ` Pedro Alves
2014-06-04 5:14 ` Yao Qi
2014-06-04 8:01 ` Pedro Alves
2014-06-04 12:58 ` Yao Qi
2014-05-30 19:35 ` Joel Brobecker
2014-06-02 23:16 ` Pedro Alves
2014-06-03 8:22 ` Pedro Alves
2014-06-03 11:53 ` [pushed] PR breakpoints/17000: user breakpoint not inserted if software-single-step at same location - another test Pedro Alves
2014-06-03 13:08 ` Pedro Alves
2014-06-06 19:05 ` [pushed] sss-bp-on-user-bp-2.exp sometimes fails on native GNU/Linux. (was: [pushed] PR breakpoints/17000: user breakpoint not inserted if software-single-step at same location - another test) Pedro Alves
2014-06-09 14:26 ` [pushed] sss-bp-on-user-bp-2.exp sometimes fails on native GNU/Linux Pedro Alves
2014-06-03 13:11 ` [RFA/7.8] user breakpoint not inserted if software-single-step at same location Pedro Alves
2014-06-03 13:35 ` Joel Brobecker
2014-06-03 15:41 ` Pedro Alves
2014-06-03 16:23 ` Joel Brobecker
2014-06-03 16:51 ` Pedro Alves
2014-06-03 17:27 ` Joel Brobecker
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=20140530122253.GC4289@adacore.com \
--to=brobecker@adacore.com \
--cc=gdb-patches@sourceware.org \
--cc=palves@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