Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
To: gdb@sources.redhat.com
Subject: PTRACE_SINGLESTEP into signal handler
Date: Sat, 27 Nov 2004 23:28:00 -0000	[thread overview]
Message-ID: <OF7583C4BD.F239F075-ON41256F58.005E2ABB-41256F58.005FB691@de.ibm.com> (raw)





Hello,

I'm seeing failures in the sigstep.exp test case on s390:
FAIL: gdb.base/sigstep.exp: step on breakpoint, to handler entry; performing step
FAIL: gdb.base/sigstep.exp: next on breakpoint, to handler entry; performing next
FAIL: gdb.base/sigstep.exp: continue on breakpoint, to handler entry; performing continue

The reason for this appears to be that they set a breakpoint on the
very first instruction of a signal handler that is being stepped into
via PTRACE_SINGLESTEP.  For some reason, while this is done, the
breakpoints are not actually inserted.

When the debugger next gets control, the first instruction of the
handler was already executed.  Thus, while it now does insert the
breakpoint instructions, it is too late ...

Does gdb assume PTRACE_SINGLESTEP into a handle returns *before*
the first instruction of the handler was executed?

We could change the kernel to do that, and this fixes the test case
failures, but I'm not sure if this is the right thing to do --
the ptrace documentation says "arranges for the child to be stopped
after execution of a single instruction", which would appear to
indicate the current behaviour is correct.

How does this work on other platforms?


Mit freundlichen Gruessen / Best Regards

Ulrich Weigand

--
  Dr. Ulrich Weigand
  Linux for S/390 Design & Development
  IBM Deutschland Entwicklung GmbH, Schoenaicher Str. 220, 71032 Boeblingen
  Phone: +49-7031/16-3727   ---   Email: Ulrich.Weigand@de.ibm.com


             reply	other threads:[~2004-11-26 17:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-11-27 23:28 Ulrich Weigand [this message]
2004-11-28  1:26 ` Daniel Jacobowitz
2004-11-29 14:43   ` Ulrich Weigand
2004-11-29 15:45     ` Andrew Cagney

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=OF7583C4BD.F239F075-ON41256F58.005E2ABB-41256F58.005FB691@de.ibm.com \
    --to=ulrich.weigand@de.ibm.com \
    --cc=gdb@sources.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