summaryrefslogtreecommitdiff
path: root/arch/m32r/include/asm/ptrace.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-03-10 23:23:01 (GMT)
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-12 23:52:39 (GMT)
commite34112e3966fc466ced2698e6c196bb50b1ee20e (patch)
treec013322641861cb4a41cd322f38efaf2ff0f8160 /arch/m32r/include/asm/ptrace.h
parent290ba3aef58ff21c977585ff6b687e457f80bf54 (diff)
downloadlinux-fsl-qoriq-e34112e3966fc466ced2698e6c196bb50b1ee20e.tar.xz
m32r: use generic ptrace_resume code
Use the generic ptrace_resume code for PTRACE_SYSCALL, PTRACE_CONT, PTRACE_KILL and PTRACE_SINGLESTEP. This implies defining arch_has_single_step in <asm/ptrace.h> and implementing the user_enable_single_step and user_disable_single_step functions, which also causes the breakpoint information to be cleared on fork, which could be considered a bug fix. Also the TIF_SYSCALL_TRACE thread flag is now cleared on PTRACE_KILL which it previously wasn't, which is consistent with all architectures using the modern ptrace code. The old code only disables the breakpoints on PTRACE_KILL, while after this patch this also happens for PTRACE_CONT and PTRACE_SYSCALL which matches the behaviour of the other architetures. I think this is a bugfixes, but please double verify this is correct. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Roland McGrath <roland@redhat.com> Cc: Hirokazu Takata <takata@linux-m32r.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/m32r/include/asm/ptrace.h')
-rw-r--r--arch/m32r/include/asm/ptrace.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/m32r/include/asm/ptrace.h b/arch/m32r/include/asm/ptrace.h
index a0755b9..840a123 100644
--- a/arch/m32r/include/asm/ptrace.h
+++ b/arch/m32r/include/asm/ptrace.h
@@ -120,6 +120,8 @@ struct pt_regs {
#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */
+#define arch_has_single_step() (1)
+
struct task_struct;
extern void init_debug_traps(struct task_struct *);
#define arch_ptrace_attach(child) \