Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | /* |
2 | * linux/arch/arm/kernel/ptrace.h | |
3 | * | |
4 | * Copyright (C) 2000-2003 Russell King | |
5 | * | |
6 | * This program is free software; you can redistribute it and/or modify | |
7 | * it under the terms of the GNU General Public License version 2 as | |
8 | * published by the Free Software Foundation. | |
9 | */ | |
b2a0d36f RK |
10 | #include <linux/ptrace.h> |
11 | ||
1da177e4 LT |
12 | extern void ptrace_cancel_bpt(struct task_struct *); |
13 | extern void ptrace_set_bpt(struct task_struct *); | |
14 | extern void ptrace_break(struct task_struct *, struct pt_regs *); | |
b2a0d36f | 15 | |
b2a0d36f RK |
16 | /* |
17 | * Send SIGTRAP if we're single-stepping | |
18 | */ | |
19 | static inline void single_step_trap(struct task_struct *task) | |
20 | { | |
21 | if (task->ptrace & PT_SINGLESTEP) { | |
22 | ptrace_cancel_bpt(task); | |
23 | send_sig(SIGTRAP, task, 1); | |
24 | } | |
25 | } | |
26 | ||
27 | static inline void single_step_clear(struct task_struct *task) | |
28 | { | |
29 | if (task->ptrace & PT_SINGLESTEP) | |
30 | ptrace_cancel_bpt(task); | |
31 | } | |
32 | ||
33 | static inline void single_step_set(struct task_struct *task) | |
34 | { | |
35 | if (task->ptrace & PT_SINGLESTEP) | |
36 | ptrace_set_bpt(task); | |
37 | } |