diff -ru bdwgc.orig/include/private/gcconfig.h bdwgc/include/private/gcconfig.h --- bdwgc.orig/include/private/gcconfig.h 2019-04-25 16:08:37.996677359 +0200 +++ bdwgc/include/private/gcconfig.h 2019-04-25 16:22:53.456682549 +0200 @@ -109,6 +109,10 @@ # define LINUX # endif +# if defined(__midipix__) +# define MIDIPIX +# endif + /* And one for NetBSD: */ # if defined(__NetBSD__) # define NETBSD @@ -345,6 +349,16 @@ # define X86_64 # define mach_type_known # endif +# if defined(MIDIPIX) +# if defined(__i386__) +# define I386 +# define mach_type_known +# endif +# if defined(__x86_64__) +# define X86_64 +# define mach_type_known +# endif +# endif # if defined(LINUX) && (defined(i386) || defined(__i386__)) # define I386 # define mach_type_known @@ -1538,6 +1552,12 @@ EXTERN_C_BEGIN # endif # endif +# ifdef MIDIPIX +# define OS_TYPE "MIDIPIX" +# define DATASTART (ptr_t)NULL /* Wrong */ +# define DATAEND (ptr_t)NULL /* Wrong */ +# define STACKBOTTOM (ptr_t)0x000000 /* Not sure if we should be using STACKBOTTOM or LINUX_STACK... */ +# endif # ifdef CYGWIN32 # define OS_TYPE "CYGWIN32" # define DATASTART ((ptr_t)GC_DATASTART) /* From gc.h */ @@ -2656,6 +2676,12 @@ EXTERN_C_BEGIN # endif # endif +# ifdef MIDIPIX +# define OS_TYPE "MIDIPIX" +# define DATASTART (ptr_t)NULL /* Wrong */ +# define DATAEND (ptr_t)NULL /* Wrong */ +# define STACKBOTTOM (ptr_t)0x000000 /* Not sure if we should be using STACKBOTTOM or LINUX_STACK... */ +# endif # ifdef DARWIN # define OS_TYPE "DARWIN" # define DARWIN_DONT_PARSE_STACK 1 @@ -3259,7 +3285,7 @@ # if defined(GC_IRIX_THREADS) && !defined(IRIX5) # error Inconsistent configuration # endif -# if defined(GC_LINUX_THREADS) && !defined(LINUX) && !defined(NACL) +# if defined(GC_LINUX_THREADS) && !defined(LINUX) && !defined(NACL) && !defined(MIDIPIX) # error Inconsistent configuration # endif # if defined(GC_NETBSD_THREADS) && !defined(NETBSD) diff -ru bdwgc.orig/os_dep.c bdwgc/os_dep.c --- bdwgc.orig/os_dep.c 2019-04-25 16:08:38.000677359 +0200 +++ bdwgc/os_dep.c 2019-04-25 16:11:21.272678349 +0200 @@ -33,7 +33,7 @@ #endif #if defined(UNIX_LIKE) || defined(CYGWIN32) || defined(NACL) \ - || defined(SYMBIAN) + || defined(SYMBIAN) || defined(MIDIPIX) # include #endif diff -ru bdwgc.orig/pthread_stop_world.c bdwgc/pthread_stop_world.c --- bdwgc.orig/pthread_stop_world.c 2019-04-25 16:08:38.000677359 +0200 +++ bdwgc/pthread_stop_world.c 2019-04-25 16:23:19.820682709 +0200 @@ -21,6 +21,10 @@ !defined(GC_DARWIN_THREADS) && !defined(SN_TARGET_ORBIS) \ && !defined(SN_TARGET_PSP2) +#ifdef MIDIPIX +# include +#endif + #ifdef NACL # include