summaryrefslogtreecommitdiff
path: root/arch/h8300/include
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2010-03-10 15:22:52 -0800
committerLinus Torvalds <torvalds@linux-foundation.org>2010-03-12 15:52:38 -0800
commit857fb252a1858ccded2e31ee98c6c0ab79c07999 (patch)
tree6ba59a7170344b952758b019801d41771e872457 /arch/h8300/include
parent1d8393171b1f6c30a889fd7cb16fc193f689923c (diff)
downloadlinux-3.10-857fb252a1858ccded2e31ee98c6c0ab79c07999.tar.gz
linux-3.10-857fb252a1858ccded2e31ee98c6c0ab79c07999.tar.bz2
linux-3.10-857fb252a1858ccded2e31ee98c6c0ab79c07999.zip
h8300: 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. Signed-off-by: Christoph Hellwig <hch@lst.de> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Roland McGrath <roland@redhat.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/h8300/include')
-rw-r--r--arch/h8300/include/asm/ptrace.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/h8300/include/asm/ptrace.h b/arch/h8300/include/asm/ptrace.h
index c2e05e4b512..d866c0efba8 100644
--- a/arch/h8300/include/asm/ptrace.h
+++ b/arch/h8300/include/asm/ptrace.h
@@ -55,6 +55,8 @@ struct pt_regs {
/* Find the stack offset for a register, relative to thread.esp0. */
#define PT_REG(reg) ((long)&((struct pt_regs *)0)->reg)
+#define arch_has_single_step() (1)
+
#define user_mode(regs) (!((regs)->ccr & PS_S))
#define instruction_pointer(regs) ((regs)->pc)
#define profile_pc(regs) instruction_pointer(regs)