m32r: PTRACE_SINGLESTEP sets PT_DTRACE, it is never used except cleared after do_execve(). --- PTRACE/arch/m32r/kernel/process.c~DT_4_m32r 2009-04-06 00:03:35.000000000 +0200 +++ PTRACE/arch/m32r/kernel/process.c 2009-04-22 22:01:44.000000000 +0200 @@ -302,11 +302,6 @@ asmlinkage int sys_execve(char __user *u goto out; error = do_execve(filename, uargv, uenvp, ®s); - if (error == 0) { - task_lock(current); - current->ptrace &= ~PT_DTRACE; - task_unlock(current); - } putname(filename); out: return error; --- PTRACE/arch/m32r/kernel/ptrace.c~DT_4_m32r 2009-04-06 00:03:35.000000000 +0200 +++ PTRACE/arch/m32r/kernel/ptrace.c 2009-04-22 22:00:13.000000000 +0200 @@ -676,10 +676,6 @@ arch_ptrace(struct task_struct *child, l if (!valid_signal(data)) break; clear_tsk_thread_flag(child, TIF_SYSCALL_TRACE); - if ((child->ptrace & PT_DTRACE) == 0) { - /* Spurious delayed TF traps may occur */ - child->ptrace |= PT_DTRACE; - } /* Compute next pc. */ pc = get_stack_long(child, PT_BPC);