ptrace.h 939 B

12345678910111213141516171819202122232425262728293031323334353637
  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. */
  10. #include <linux/ptrace.h>
  11. extern void ptrace_cancel_bpt(struct task_struct *);
  12. extern void ptrace_set_bpt(struct task_struct *);
  13. extern void ptrace_break(struct task_struct *, struct pt_regs *);
  14. /*
  15. * Send SIGTRAP if we're single-stepping
  16. */
  17. static inline void single_step_trap(struct task_struct *task)
  18. {
  19. if (task->ptrace & PT_SINGLESTEP) {
  20. ptrace_cancel_bpt(task);
  21. send_sig(SIGTRAP, task, 1);
  22. }
  23. }
  24. static inline void single_step_clear(struct task_struct *task)
  25. {
  26. if (task->ptrace & PT_SINGLESTEP)
  27. ptrace_cancel_bpt(task);
  28. }
  29. static inline void single_step_set(struct task_struct *task)
  30. {
  31. if (task->ptrace & PT_SINGLESTEP)
  32. ptrace_set_bpt(task);
  33. }