| diff -ru bdwgc.orig/include/private/gcconfig.h bdwgc/include/private/gcconfig.h |
| |
| |
| @@ -102,6 +102,27 @@ EXTERN_C_BEGIN |
| # define LINUX |
| #endif |
| |
| +# if defined(__midipix__) |
| +# define MIDIPIX |
| +# include <fcntl.h> |
| +# include <sys/select.h> |
| + |
| +# include <psxtypes/psxtypes.h> |
| +# include <pemagine/pemagine.h> |
| +# include <ntapi/nt_thread.h> |
| + |
| +int __gc_data_start_mark__[1]; |
| +int __gc_data_end_mark__[1]; |
| +#endif |
| + |
| +# ifdef MIDIPIX |
| +# define OS_TYPE "MIDIPIX" |
| +# define DATASTART ((ptr_t)__gc_data_start_mark__) |
| +# define DATAEND ((ptr_t)__gc_data_end_mark__) |
| +# define STACKBOTTOM (ptr_t)(((nt_tib *)pe_get_teb_address())->stack_base) |
| +# define USE_MMAP_ANON |
| +# endif |
| + |
| /* And one for NetBSD: */ |
| #if defined(__NetBSD__) |
| # define NETBSD |
| @@ -505,7 +526,7 @@ EXTERN_C_BEGIN |
| # define mach_type_known |
| #elif (defined(__i386__) || defined(i386) || defined(__X86__)) \ |
| && (defined(ANY_BSD) || defined(DARWIN) || defined(EMBOX) \ |
| - || defined(LINUX) || defined(QNX) || defined(SERENITY)) |
| + || defined(LINUX) || defined(QNX) || defined(SERENITY) || defined(MIDIPIX)) |
| # define I386 |
| # define mach_type_known |
| #elif (defined(__ia64) || defined(__ia64__)) && defined(LINUX) |
| @@ -558,7 +579,7 @@ EXTERN_C_BEGIN |
| #elif (defined(__x86_64) || defined(__x86_64__) || defined(__amd64__) \ |
| || defined(__X86_64__)) \ |
| && (defined(ANY_BSD) || defined(COSMO) || defined(DARWIN) \ |
| - || defined(LINUX) || defined(QNX) || defined(SERENITY)) |
| + || defined(LINUX) || defined(QNX) || defined(SERENITY) || defined(MIDIPIX)) |
| # define X86_64 |
| # define mach_type_known |
| #endif |
| @@ -1540,6 +1561,13 @@ extern char *_STACKTOP; |
| # define DATAEND ((ptr_t)(&_end)) |
| # define GETPAGESIZE() 4096 |
| # endif |
| +# ifdef MIDIPIX |
| +# define OS_TYPE "MIDIPIX" |
| +# define DATASTART ((ptr_t)__gc_data_start_mark__) |
| +# define DATAEND ((ptr_t)__gc_data_end_mark__) |
| +# define STACKBOTTOM (ptr_t)(((nt_tib *)pe_get_teb_address())->stack_base) |
| +# define USE_MMAP_ANON |
| +# endif |
| # ifdef DARWIN |
| # define DARWIN_DONT_PARSE_STACK 1 |
| # define STACKBOTTOM ((ptr_t)0xc0000000) |
| @@ -2604,7 +2632,7 @@ EXTERN_C_BEGIN |
| #if defined(AIX) || defined(ANY_BSD) || defined(BSD) || defined(COSMO) \ |
| || defined(DARWIN) || defined(DGUX) || defined(HAIKU) || defined(HPUX) \ |
| || defined(HURD) || defined(IRIX5) || defined(LINUX) || defined(OSF1) \ |
| - || defined(QNX) || defined(SERENITY) || defined(SVR4) |
| + || defined(QNX) || defined(SERENITY) || defined(SVR4) || defined(MIDIPIX) |
| # define UNIX_LIKE /* Basic Unix-like system calls work. */ |
| #endif |
| |