diff options
author | Geoff Norton <grompf@sublimeintervention.com> | 2010-04-23 21:21:39 +0400 |
---|---|---|
committer | Geoff Norton <grompf@sublimeintervention.com> | 2010-04-23 21:21:39 +0400 |
commit | 2469f3b3283f07c86839f9116859a66b37850f0b (patch) | |
tree | 87d9dfd356fb438927431ecf9ecd8bda6236481f /libgc/include | |
parent | a73727824e024dbde5973f28153f4e4fd63e81ce (diff) |
2010-04-23 Geoff Norton <gnorton@novell.com>
* include/private/gcconfig.h: Darwin x86-64 bit support.
* darwin_stop_world.c: Ditto
svn path=/trunk/mono/; revision=156016
Diffstat (limited to 'libgc/include')
-rw-r--r-- | libgc/include/private/gcconfig.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/libgc/include/private/gcconfig.h b/libgc/include/private/gcconfig.h index 3d12de89232..10ffed63755 100644 --- a/libgc/include/private/gcconfig.h +++ b/libgc/include/private/gcconfig.h @@ -332,6 +332,9 @@ # define mach_type_known # define DARWIN_DONT_PARSE_STACK # define GC_DONT_REGISTER_MAIN_STATIC_DATA +# elif defined(__x86_64) +# define X86_64 +# define mach_type_known # endif # endif # if defined(NeXT) && defined(mc68000) @@ -2037,6 +2040,27 @@ # define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1) # endif # endif +# ifdef DARWIN +# define OS_TYPE "DARWIN" +# define DARWIN_DONT_PARSE_STACK +# define DYNAMIC_LOADING + /* XXX: see get_end(3), get_etext() and get_end() should not be used. + These aren't used when dyld support is enabled (it is by default) */ +# define DATASTART ((ptr_t) get_etext()) +# define DATAEND ((ptr_t) get_end()) +# define STACKBOTTOM ((ptr_t) 0x7fff5fc00000) +# ifndef USE_MMAP +# define USE_MMAP +# endif +# define USE_MMAP_ANON +# ifdef GC_DARWIN_THREADS +# define MPROTECT_VDB +# endif +# include <unistd.h> +# define GETPAGESIZE() getpagesize() + /* There seems to be some issues with trylock hanging on darwin. This + should be looked into some more */ +# endif # ifdef FREEBSD # define OS_TYPE "FREEBSD" # ifndef GC_FREEBSD_THREADS |