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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.