Commit a8f1c677 authored by Ivan Kokshaysky's avatar Ivan Kokshaysky Committed by Arnaldo Carvalho de Melo

[PATCH] alpha: single-step breakpoints - updated fix

Restore 2.4 behavior when setting the single step breakpoints.
parent edddee1c
...@@ -366,8 +366,8 @@ do_sys_ptrace(long request, long pid, long addr, long data, ...@@ -366,8 +366,8 @@ do_sys_ptrace(long request, long pid, long addr, long data,
ret = -EIO; ret = -EIO;
if ((unsigned long) data > _NSIG) if ((unsigned long) data > _NSIG)
break; break;
/* Set single stepping. */ /* Mark single stepping. */
ptrace_set_bpt(child); child->thread_info->bpt_nsaved = -1;
clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE);
wake_up_process(child); wake_up_process(child);
child->exit_code = data; child->exit_code = data;
......
...@@ -619,7 +619,10 @@ do_signal(sigset_t *oldset, struct pt_regs * regs, struct switch_stack * sw, ...@@ -619,7 +619,10 @@ do_signal(sigset_t *oldset, struct pt_regs * regs, struct switch_stack * sw,
if (!oldset) if (!oldset)
oldset = &current->blocked; oldset = &current->blocked;
/* This lets the debugger run, ... */
signr = get_signal_to_deliver(&info, regs, NULL); signr = get_signal_to_deliver(&info, regs, NULL);
/* ... so re-check the single stepping. */
single_stepping |= ptrace_cancel_bpt(current);
if (signr > 0) { if (signr > 0) {
/* Whee! Actually deliver the signal. */ /* Whee! Actually deliver the signal. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment