Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoff Norton <grompf@sublimeintervention.com>2010-04-23 21:21:39 +0400
committerGeoff Norton <grompf@sublimeintervention.com>2010-04-23 21:21:39 +0400
commit2469f3b3283f07c86839f9116859a66b37850f0b (patch)
tree87d9dfd356fb438927431ecf9ecd8bda6236481f /libgc/include
parenta73727824e024dbde5973f28153f4e4fd63e81ce (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.h24
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