diff options
| author | Russell King <rmk@flint.arm.linux.org.uk> | 2003-05-13 20:58:01 +0100 |
|---|---|---|
| committer | Russell King <rmk@flint.arm.linux.org.uk> | 2003-05-13 20:58:01 +0100 |
| commit | 70ba5e7c64b7d22e1134ed0e597560bbfb5572ef (patch) | |
| tree | b355c0ea0527cd79f9a81ada66e52b3e2d1365e1 /include | |
| parent | 9a8185da7e5357132cf04a7d26b983b628f1f921 (diff) | |
[ARM] switch ptrace to use an undefined instruction
This avoids a problem with the original ptrace code using a system
call (SWI) to implement single stepping; programs such as ltrace
do not expect to receive system call trace traps when breakpoints
are hit.
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-arm/traps.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/include/asm-arm/traps.h b/include/asm-arm/traps.h new file mode 100644 index 000000000000..d4f34dc83eb0 --- /dev/null +++ b/include/asm-arm/traps.h @@ -0,0 +1,18 @@ +#ifndef _ASMARM_TRAP_H +#define _ASMARM_TRAP_H + +#include <linux/list.h> + +struct undef_hook { + struct list_head node; + u32 instr_mask; + u32 instr_val; + u32 cpsr_mask; + u32 cpsr_val; + int (*fn)(struct pt_regs *regs, unsigned int instr); +}; + +void register_undef_hook(struct undef_hook *hook); +void unregister_undef_hook(struct undef_hook *hook); + +#endif |
