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 13:27:00 -0000 [thread overview]
Message-ID: <20140530132659.GD4289@adacore.com> (raw)
In-Reply-To: <53887ED5.5050603@redhat.com>
> >> - 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?
>
> I admit I don't know what recommendation you're referring to. :-)
Sorry! This one:
| but we'll need to create/clone the location and its shadow buffer,
| and then still handle the issue in the "remove" path.
> For 7.8, I'm thinking it's really safer to avoid resending
> duplicate Z0 packets to stubs that don't support conditional
> breakpoint evaluation on the target end. So I think we should
> handle the "insert" path too.
OK - I will take care of that.
> BTW, did you try creating a test for the issue you discovered?
> I don't think we have anything that triggers this already in
> the tree, otherwise I think I'd have seen it with my
> software-single-step-on-x86 branch.
I am wondering how to create that test, because it would be
a little tricky. We need to set ourselves into a situation
where we single-step out of a breakpoint with the second SSS
breakpoint being at the same address as one of the user breakpoints,
that second SSS not being the one that gets hit during that
first single-step-out-of-breakpoint. The only way I can see
to achieve that, at the moment, is with a function call.
The only reliable way to do that, I think, is with an assembly
file, which means it'd be limited to a certain architecture.
> I have done that at least two or three times before, and I was
> never that happy with the result. This was before the patch
> that led to this regression, and that one and the surrounding
> patches were actually result of exactly wanting to modernize
> software single-step. :-) The main issue is that SSS breakpoints
> and all other breakpoints need to be inserted/removed at
> different times, and that is surprisingly tricky to handle.
> But I'm hoping/assuming the codebase is a little bit more
> ready now for the next attempt. My main motivation is to
> be able to enable non-stop without forcing displaced-stepping
> for all single-steps (even those that don't step over a bkpt).
Ugh! Much trickier than I thought! :-(
So, to summarize, I'll start by working on a new patch, which I'll
send here. I'll also try to put the new testcase on the list, but
today is a little bit of a full day for me, so that part might have
to wait until Monday depending on how well my day goes.
Thanks, Pedro!
--
Joel
next prev parent reply other threads:[~2014-05-30 13:27 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
2014-05-30 12:51 ` Pedro Alves
2014-05-30 13:27 ` Joel Brobecker [this message]
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=20140530132659.GD4289@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