mk_sc.c 917 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /* Copyright (C) 2003 - 2004 PathScale, Inc
  2. * Released under the GPL
  3. */
  4. #include <stdio.h>
  5. #include <user-offsets.h>
  6. #define SC_OFFSET(name) \
  7. printf("#define " #name \
  8. "(sc) *((unsigned long *) &(((char *) (sc))[%d]))\n",\
  9. name)
  10. int main(int argc, char **argv)
  11. {
  12. SC_OFFSET(SC_RBX);
  13. SC_OFFSET(SC_RCX);
  14. SC_OFFSET(SC_RDX);
  15. SC_OFFSET(SC_RSI);
  16. SC_OFFSET(SC_RDI);
  17. SC_OFFSET(SC_RBP);
  18. SC_OFFSET(SC_RAX);
  19. SC_OFFSET(SC_R8);
  20. SC_OFFSET(SC_R9);
  21. SC_OFFSET(SC_R10);
  22. SC_OFFSET(SC_R11);
  23. SC_OFFSET(SC_R12);
  24. SC_OFFSET(SC_R13);
  25. SC_OFFSET(SC_R14);
  26. SC_OFFSET(SC_R15);
  27. SC_OFFSET(SC_IP);
  28. SC_OFFSET(SC_SP);
  29. SC_OFFSET(SC_CR2);
  30. SC_OFFSET(SC_ERR);
  31. SC_OFFSET(SC_TRAPNO);
  32. SC_OFFSET(SC_CS);
  33. SC_OFFSET(SC_FS);
  34. SC_OFFSET(SC_GS);
  35. SC_OFFSET(SC_EFLAGS);
  36. SC_OFFSET(SC_SIGMASK);
  37. #if 0
  38. SC_OFFSET(SC_ORIG_RAX);
  39. SC_OFFSET(SC_DS);
  40. SC_OFFSET(SC_ES);
  41. SC_OFFSET(SC_SS);
  42. #endif
  43. return(0);
  44. }