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>2008-08-29 00:46:26 +0400
committerGeoff Norton <grompf@sublimeintervention.com>2008-08-29 00:46:26 +0400
commit20c8607143cf9366e28f6060046453d25e540bf4 (patch)
tree777bd0dc405c9d7f054e3559c463ce901c119a6f /libgc/include
parent1a56620486ca6f747f4d1e61842a7e04149da2c8 (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.h22
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[];