From: Pedro Alves <palves@redhat.com>
To: Pedro Alves <palves@redhat.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [PATCH 4/6] Fix for even more missed events; eliminate thread-hop code.
Date: Wed, 05 Mar 2014 15:45:00 -0000 [thread overview]
Message-ID: <53174687.2000002@redhat.com> (raw)
In-Reply-To: <1393360363-5603-5-git-send-email-palves@redhat.com>
On 02/25/2014 08:32 PM, Pedro Alves wrote:
> But in order to do that, we need to make bpstat aware of single-step
> breakpoints. So this patch starts convering the single-step
> breakpoints to real breakpoints. It doesn't put them in the regular
> breakpoint chain yet though. More changes would be needed for that.
Unfortunately we're still not ready for this. watch-cond-infcall.exp
revealed that we need to remove single-step breakpoints before running
the infcall for the condition, otherwise nasty things happen, like
GDB referencing already deleted breakpoints following the bpstat
struct. I didn't notice this before as the failure is intermittent,
but valgrind showed it clearly. Also, patch #5's thread_still_needs_step_over
function call from keep_going meant that the end result of the series
would be that we'd no longer move the thread past the single-step
breakpoint, actually, as the single-step breakpoint (for the other
thread) was always removed before keep_going was reached...
int
thread_still_needs_step_over (struct thread_info *tp)
{
if (tp->stepping_over_breakpoint)
{
struct regcache *regcache = get_thread_regcache (tp->ptid);
if (breakpoint_here_p (get_regcache_aspace (regcache),
regcache_read_pc (regcache)))
v2 simplifies the patch further, and no longer needs to convert
single-step breakpoints to real breakpoints. I'll get back to
that separately...
--
Pedro Alves
next prev parent reply other threads:[~2014-03-05 15:45 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-25 20:32 [PATCH 0/6] Fix a bunch of run control bugs Pedro Alves
2014-02-25 20:32 ` [PATCH 1/6] PR gdb/16575: stale breakpoint instructions in the code cache Pedro Alves
2014-03-04 4:02 ` Yao Qi
2014-03-05 15:13 ` Pedro Alves
2014-03-05 15:14 ` Pedro Alves
2014-02-25 20:32 ` [PATCH 2/6] PR breakpoints/7143 - Watchpoint does not trigger when first set Pedro Alves
2014-03-05 15:35 ` Pedro Alves
2014-02-25 20:32 ` [PATCH 3/6] Fix missing breakpoing/watchpoint hits, eliminate deferred_step_ptid Pedro Alves
2014-03-04 6:05 ` Yao Qi
2014-03-05 16:10 ` Pedro Alves
2014-02-25 20:33 ` [PATCH 5/6] Handle multiple step-overs Pedro Alves
2014-02-25 20:33 ` [PATCH 4/6] Fix for even more missed events; eliminate thread-hop code Pedro Alves
2014-03-05 15:45 ` Pedro Alves [this message]
2014-02-25 21:08 ` [PATCH 6/6] Make signal-while-stepping-over-bp-other-thread.exp run against remote targets too Pedro Alves
2014-02-26 13:36 ` [PATCH 3.5/6] Multiple Ada task-specific breakpoints at the same address Pedro Alves
2014-02-26 14:19 ` Joel Brobecker
2014-02-26 14:27 ` 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=53174687.2000002@redhat.com \
--to=palves@redhat.com \
--cc=gdb-patches@sourceware.org \
/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