mach_em.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. /*#define DEBUG 1 /* define when debugging */
  2. #define BYTES_REVERSED
  3. #define WORDS_REVERSED
  4. #ifndef WINDOWSIZE
  5. #define WINDOWSIZE (16*4)
  6. #endif
  7. #define ONE_BYTE int
  8. #define TWO_BYTES int
  9. #define FOUR_BYTES long
  10. #define EM_WSIZE 4
  11. #define EM_PSIZE 4
  12. #define EM_FSIZE 4
  13. #define EM_DSIZE 8
  14. #define EM_BSIZE REGSAV
  15. #define BSS_INIT 0
  16. #ifdef __solaris__
  17. #define NAME_FMT "$%s"
  18. #define DNAM_FMT "$%s"
  19. #define DLB_FMT ".L_%ld"
  20. #define ILB_FMT ".L%x_%lx"
  21. #define GENLAB '.'
  22. #else
  23. #define NAME_FMT "_%s"
  24. #define DNAM_FMT "_%s"
  25. #define DLB_FMT "L_%ld"
  26. #define ILB_FMT "L%x_%lx"
  27. #define GENLAB 'L'
  28. #endif
  29. #define HOL_FMT "hol%d"
  30. #define STR_FMT ".ascii\t"
  31. #define ALIGN_FMT ".align 4\n"
  32. #define BYTE_FMT ".byte %ld\n"
  33. #define WORD_FMT ".half %ld\n"
  34. #define LONG_FMT ".word %ld\n"
  35. #define BSS_FMT ".skip %ld\n"
  36. #ifdef __solaris__
  37. #define SEGTXT_FMT ".section \".text\"\n"
  38. #define SEGDAT_FMT ".section \".data\"\n"
  39. #define SEGBSS_FMT ".section \".bss\"\n"
  40. #else
  41. #define SEGTXT_FMT ".seg \"text\"\n"
  42. #define SEGDAT_FMT ".seg \"data\"\n"
  43. #define SEGBSS_FMT ".seg \"bss\"\n"
  44. #endif
  45. #define SYMBOL_DEF_FMT "%s:\n"
  46. #define GLOBAL_FMT ".global %s\n"
  47. #ifdef __solaris__
  48. #define COMM_FMT ".reserve %s, %ld, \".bss\"\n"
  49. #else
  50. #define COMM_FMT ".reserve %s, %ld, \"bss\"\n"
  51. #endif
  52. #define LOCAL_FMT ""
  53. #define RELOC1_FMT "ONLY LONGS CAN BE RELOCATED!"
  54. #define RELOC2_FMT "ONLY LONGS CAN BE RELOCATED!"
  55. #ifdef __solaris__
  56. #define RELOC4_FMT ".section \".data\"\n.align 4\n.word %s+%d\n"
  57. #else
  58. #define RELOC4_FMT ".seg \"data\"\n.align 4\n.word %s+%d\n"
  59. #endif
  60. #define ALIGN_GAP 4
  61. #define FLOATTRANS 8
  62. #define MAX_NR_FLT_REGS 16
  63. #define FLTSAV (MAX_NR_FLT_REGS * 4)
  64. #define FLTSAV_OFFSET (WINDOWSIZE + FLOATTRANS)
  65. #define REGSAV (WINDOWSIZE + FLOATTRANS + ALIGN_GAP + FLTSAV)
  66. /*#define MATH_DIVIDE 1 /* define when using mathematical def of / */
  67. #ifndef DEBUG
  68. #undef arg_error
  69. #define arg_error(s,i)
  70. #define RESOLV_debug 1
  71. #endif