diff options
author | Geoff Norton <grompf@sublimeintervention.com> | 2008-08-29 00:46:26 +0400 |
---|---|---|
committer | Geoff Norton <grompf@sublimeintervention.com> | 2008-08-29 00:46:26 +0400 |
commit | 20c8607143cf9366e28f6060046453d25e540bf4 (patch) | |
tree | 777bd0dc405c9d7f054e3559c463ce901c119a6f /libgc/include | |
parent | 1a56620486ca6f747f4d1e61842a7e04149da2c8 (diff) |
2008-08-28 Geoff Norton <gnorton@novell.com>
* darwin_stop_world.c:
* include/private/gcconfig.h: Add support for Darwin/ARM
svn path=/trunk/mono/; revision=111873
Diffstat (limited to 'libgc/include')
-rw-r--r-- | libgc/include/private/gcconfig.h | 22 |
1 files changed, 19 insertions, 3 deletions
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[]; |