From: Daniel Jacobowitz <dan@debian.org>
To: Roland McGrath <roland@redhat.com>
Cc: Linus Torvalds <torvalds@osdl.org>,
Kernel Mailing List <linux-kernel@vger.kernel.org>,
Andrew Cagney <cagney@redhat.com>
Subject: Re: More trouble with i386 EFLAGS and ptrace
Date: Sun, 6 Mar 2005 17:13:47 -0500 [thread overview]
Message-ID: <20050306221347.GA14194@nevyn.them.org> (raw)
In-Reply-To: <200503062122.j26LMP5F021846@magilla.sf.frob.com>
On Sun, Mar 06, 2005 at 01:22:25PM -0800, Roland McGrath wrote:
> > I _think_ your test-case would work right if you just moved that code from
> > the special-case in do_debug(), and moved it to the top of
> > setup_sigcontext() instead. I've not tested it, though, and haven't really
> > given it any "deep thought". Maybe somebody smarter can say "yeah, that's
> > obviously the right thing to do" or "no, that won't work because.."
>
> Indeed, this is what my original changes for this did, before you started
> cleaning things up to be nice to TF users other than PTRACE_SINGLESTEP.
>
> I note, btw, that the x86_64 code is still at that prior stage. So I think
> it doesn't have this new wrinkle, but it also doesn't have the advantages
> of the more recent i386 changes. Once we're sure about the i386 state, we
> should update the x86_64 code to match.
>
> I'm not sure what kind of smart this makes me, but I'll say that your plan
> would work and no, it's obviously not the right thing to do. ;-) I haven't
> tested the following, not having tracked down the specific problem case you
> folks are talking about. But I think this is the right solution. The
> difference is that when we stop for some signal and report to the debugger,
> the debugger looking at our registers will see TF clear instead of set,
> before it decides whether to continue us with the signal or what to do.
> With the change yo suggested, (I think) if the debugger decides to eat the
> signal and resume, we would get a spurious single-step trap after executing
> the next instruction, instead of resuming normally as requested.
Roland, the sigstep.exp test in the GDB testsuite will show this
problem; if your patch monotonically improves GDB HEAD testsuite
results and removes all the FAILs for sigstep.exp, then it's probably
equivalent to the one I just posted for this testcase.
I think mine is more correct; the problem doesn't occur because the
debugger cancelled a signal, it occurs because a bogus TF bit was saved
to the signal context. I like keeping solutions close to their
problems. But that's just aesthetic.
--
Daniel Jacobowitz
CodeSourcery, LLC
next prev parent reply other threads:[~2005-03-06 22:13 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-03-06 19:38 More trouble with i386 EFLAGS and ptrace Daniel Jacobowitz
2005-03-06 20:03 ` Linus Torvalds
2005-03-06 21:14 ` Daniel Jacobowitz
2005-03-07 0:46 ` Linus Torvalds
2005-03-06 21:22 ` Roland McGrath
2005-03-06 22:13 ` Daniel Jacobowitz [this message]
[not found] ` <200503070316.j273Gb4G027048@magilla.sf.frob.com>
2005-03-07 4:49 ` Daniel Jacobowitz
2005-03-07 21:29 ` Roland McGrath
2005-03-09 0:12 ` Daniel Jacobowitz
2005-03-13 8:27 ` Roland McGrath
2005-03-13 20:06 ` Daniel Jacobowitz
2005-03-07 19:13 ` Andi Kleen
2005-03-06 20:26 ` Daniel Jacobowitz
-- strict thread matches above, loose matches on Subject: below --
2005-03-14 4:06 Jesse Allen
2005-03-14 4:12 Jesse Allen
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=20050306221347.GA14194@nevyn.them.org \
--to=dan@debian.org \
--cc=cagney@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=roland@redhat.com \
--cc=torvalds@osdl.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