--- scrt/options.h.orig Tue Feb 23 01:14:40 1993 +++ scrt/options.h Wed Feb 2 22:22:22 2000 @@ -71,6 +71,7 @@ MC680X0 HP 9000/300, Sun 3, Next MIPS DECstation, SGI, Sony News VAX Vax ULTRIX + FREEBSD x86 FreeBSD WIN16 Microsoft Windows 3.1 */ @@ -80,6 +81,7 @@ #define MC680X0 1 #define MIPS 1 #define VAX 1 +#define FREEBSD 1 #define WIN16 1 /* Attributes of the selected architecture: @@ -369,6 +371,34 @@ */ #define STACKPTR( x ) x = sc_processor_register( 14 ) +#endif + +/***************/ +/* FREEBSD */ +/***************/ + +#ifdef FREEBSD +#define IMPLEMENTATION_MACHINE "Generic PC" +#define IMPLEMENTATION_CPU "Intelx86" +#define IMPLEMENTATION_OS "FreeBSD" +#undef IMPLEMENTATION_FS + +typedef int S2CINT; /* Signed pointer size integer */ +typedef unsigned S2CUINT; /* Unsigned pointer size interger */ + +typedef int PAGELINK; /* 32-bit sc_pagelink values */ +#define MAXS2CINT 0x7fffffff /* Maximum value of an S2CINT */ +#define MSBS2CUINT 0x80000000 /* S2CUINT with 1 in the MSB */ + +#define STACKPTR( x ) x = sc_processor_register( 0 ) + +#include +typedef jmp_buf sc_jmp_buf; + +/* Horrid kludge. See callcc.c for the full story: */ +#define LAZY_STACK_POP 1 +#define LAZY_STACK_INCREMENT 4 + #endif /***************/