15 |
/* #define DONT_NEED_MALLOC */ |
/* #define DONT_NEED_MALLOC */ |
16 |
/* #define GNU_MALLOC */ |
/* #define GNU_MALLOC */ |
17 |
|
|
|
/* move this to configure */ |
|
|
#define HAVE_UNISTD_H |
|
|
|
|
18 |
/* correct value for ppc (we should detect this automatically) */ |
/* correct value for ppc (we should detect this automatically) */ |
19 |
/* alternatively, we could use the global variable vm_page_size */ |
/* alternatively, we could use the global variable vm_page_size */ |
20 |
#define PAGEWIDTH 12 |
#define PAGEWIDTH 12 |
88 |
#define FCLOSE_SETBUF_OK |
#define FCLOSE_SETBUF_OK |
89 |
|
|
90 |
|
|
91 |
/**** enable stratified garbage collection */ |
/** enable stratified garbage collection */ |
92 |
|
|
93 |
#define SGC |
#define SGC |
94 |
|
|
95 |
|
/* |
96 |
|
#define INSTALL_MPROTECT_HANDLER \ |
97 |
|
do { \ |
98 |
|
struct sigaction sact; \ |
99 |
|
sigfillset(&(sact.sa_mask)); \ |
100 |
|
sact.sa_flags = SA_SIGINFO; \ |
101 |
|
sact.sa_sigaction = (void (*)()) memprotect_handler; \ |
102 |
|
sigaction (SIGSEGV, &sact, 0); \ |
103 |
|
sigaction (SIGBUS, &sact, 0); \ |
104 |
|
} while (0); |
105 |
|
*/ |
106 |
|
|
107 |
#define SIGPROTV SIGBUS |
#define SIGPROTV SIGBUS |
108 |
|
|
109 |
|
/* si_addr not containing the faulting address is a bug in Darwin */ |
110 |
|
/* work around this bug by looking at the dar field of the exception state */ |
111 |
|
#define GET_FAULT_ADDR(sig,code,scp,addr) ((char *) (((ucontext_t *) scp)->uc_mcontext->es.dar)) |
112 |
|
|
113 |
|
|
114 |
/**** cache synchronization code */ |
/** cache synchronization code */ |
115 |
|
|
116 |
/* This is based on powerpc-linux.h. See equivalent code in dyld. */ |
/* This is based on powerpc-linux.h. See equivalent code in dyld. */ |
117 |
|
|