From 20c8607143cf9366e28f6060046453d25e540bf4 Mon Sep 17 00:00:00 2001 From: Geoff Norton Date: Thu, 28 Aug 2008 20:46:26 +0000 Subject: 2008-08-28 Geoff Norton * darwin_stop_world.c: * include/private/gcconfig.h: Add support for Darwin/ARM svn path=/trunk/mono/; revision=111873 --- libgc/include/private/gcconfig.h | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) (limited to 'libgc/include') diff --git a/libgc/include/private/gcconfig.h b/libgc/include/private/gcconfig.h index 11aee1311f7..ba9ca71a5d8 100644 --- a/libgc/include/private/gcconfig.h +++ b/libgc/include/private/gcconfig.h @@ -59,10 +59,15 @@ # define FREEBSD # endif +/* And one for Darwin: */ +# if defined(macosx) || (defined(__APPLE__) && defined(__MACH__)) +# define DARWIN +# endif + /* Determine the machine type: */ # if defined(__arm__) || defined(__thumb__) # define ARM32 -# if !defined(LINUX) && !defined(NETBSD) +# if !defined(LINUX) && !defined(NETBSD) && !defined(DARWIN) # define NOSYS # define mach_type_known # endif @@ -297,8 +302,7 @@ # define MACOS # define mach_type_known # endif -# if defined(macosx) || (defined(__APPLE__) && defined(__MACH__)) -# define DARWIN +# ifdef DARWIN # if defined(__ppc__) || defined(__ppc64__) # define POWERPC # define mach_type_known @@ -326,6 +330,10 @@ /* There seems to be some issues with trylock hanging on darwin. This should be looked into some more */ # define NO_PTHREAD_TRYLOCK +# elif defined(__arm__) +# define ARM +# define mach_type_known +# define DARWIN_DONT_PARSE_STACK # endif # endif # if defined(NeXT) && defined(mc68000) @@ -1883,6 +1891,14 @@ # define OS_TYPE "MSWINCE" # define DATAEND /* not needed */ # endif +# ifdef DARWIN +# define OS_TYPE "DARWIN" +# define DATASTART ((ptr_t) get_etext()) +# define DATAEND ((ptr_t) get_end()) +# define STACKBOTTOM ((ptr_t) 0x30000000) +# undef USE_MMAP +# undef USE_MUNMAP +# endif # ifdef NOSYS /* __data_start is usually defined in the target linker script. */ extern int __data_start[]; -- cgit v1.2.3