ptrace_user.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * Copyright (C) 2002 Jeff Dike (jdike@karaya.com)
  3. * Licensed under the GPL
  4. */
  5. #ifndef __SYSDEP_I386_PTRACE_USER_H__
  6. #define __SYSDEP_I386_PTRACE_USER_H__
  7. #include <sys/ptrace.h>
  8. #include <linux/ptrace.h>
  9. #include <asm/ptrace.h>
  10. #define PT_OFFSET(r) ((r) * sizeof(long))
  11. #define PT_SYSCALL_NR(regs) ((regs)[ORIG_EAX])
  12. #define PT_SYSCALL_NR_OFFSET PT_OFFSET(ORIG_EAX)
  13. #define PT_SYSCALL_ARG1_OFFSET PT_OFFSET(EBX)
  14. #define PT_SYSCALL_ARG2_OFFSET PT_OFFSET(ECX)
  15. #define PT_SYSCALL_ARG3_OFFSET PT_OFFSET(EDX)
  16. #define PT_SYSCALL_ARG4_OFFSET PT_OFFSET(ESI)
  17. #define PT_SYSCALL_ARG5_OFFSET PT_OFFSET(EDI)
  18. #define PT_SYSCALL_RET_OFFSET PT_OFFSET(EAX)
  19. #define PT_IP_OFFSET PT_OFFSET(EIP)
  20. #define PT_IP(regs) ((regs)[EIP])
  21. #define PT_SP(regs) ((regs)[UESP])
  22. #ifndef FRAME_SIZE
  23. #define FRAME_SIZE (17)
  24. #endif
  25. #define FRAME_SIZE_OFFSET (FRAME_SIZE * sizeof(unsigned long))
  26. #define FP_FRAME_SIZE (27)
  27. #define FPX_FRAME_SIZE (128)
  28. #ifdef PTRACE_GETREGS
  29. #define UM_HAVE_GETREGS
  30. #endif
  31. #ifdef PTRACE_SETREGS
  32. #define UM_HAVE_SETREGS
  33. #endif
  34. #ifdef PTRACE_GETFPREGS
  35. #define UM_HAVE_GETFPREGS
  36. #endif
  37. #ifdef PTRACE_SETFPREGS
  38. #define UM_HAVE_SETFPREGS
  39. #endif
  40. #ifdef PTRACE_GETFPXREGS
  41. #define UM_HAVE_GETFPXREGS
  42. #endif
  43. #ifdef PTRACE_SETFPXREGS
  44. #define UM_HAVE_SETFPXREGS
  45. #endif
  46. #endif