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