summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorjoerg <joerg@NetBSD.org>2010-08-20 15:34:13 +0000
committerjoerg <joerg@NetBSD.org>2010-08-20 15:34:13 +0000
commita64143b682be6de3d1fb77ec89e20d8b8524dbb4 (patch)
tree2711060e017ead266d013174cbbb3721c646c7a1 /gnu
parent0e26070ea9ea6a088f7a87dd6d6b7978c2d09542 (diff)
PT_STEP historically ignores the argument. Indepent of whether this
behavior will be restored, pass down 0 for now to unbreak single stepping after the thread changes.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/dist/gdb6/gdb/inf-ptrace.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gnu/dist/gdb6/gdb/inf-ptrace.c b/gnu/dist/gdb6/gdb/inf-ptrace.c
index 04e6d477d2c..e1fda0a454c 100644
--- a/gnu/dist/gdb6/gdb/inf-ptrace.c
+++ b/gnu/dist/gdb6/gdb/inf-ptrace.c
@@ -317,7 +317,7 @@ static void
inf_ptrace_resume (ptid_t ptid, int step, enum target_signal signal)
{
pid_t pid = ptid_get_pid (ptid);
- int request = PT_CONTINUE;
+ int request = PT_CONTINUE, sig = target_signal_to_host (signal);
if (pid == -1)
/* Resume all threads. Traditionally ptrace() only supports
@@ -332,13 +332,14 @@ inf_ptrace_resume (ptid_t ptid, int step, enum target_signal signal)
all possible successor instructions), so we don't have to
worry about that here. */
request = PT_STEP;
+ sig = 0;
}
/* An address of (PTRACE_TYPE_ARG3)1 tells ptrace to continue from
where it was. If GDB wanted it to start some other way, we have
already written a new program counter value to the child. */
errno = 0;
- ptrace (request, pid, (PTRACE_TYPE_ARG3)1, target_signal_to_host (signal));
+ ptrace (request, pid, (PTRACE_TYPE_ARG3)1, sig);
if (errno != 0)
perror_with_name (("ptrace"));
}