Merge pull request #439 from mono-soc-2012/garyb/iconfix
[mono.git] / libgc / include / private / gcconfig.h
index 8ff4fbfbc0dd1f1f519f8cfc3acb4a6f978f7661..da15e905c58e169fd292040949bf693ef5229e78 100644 (file)
         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) 0xc0000000)
+#    define STACKBOTTOM ((ptr_t) pthread_get_stackaddr_np(pthread_self()))
+#ifndef USE_MMAP
 #    define USE_MMAP
+#endif
 #    define USE_MMAP_ANON
 #    define USE_ASM_PUSH_REGS
      /* This is potentially buggy. It needs more testing. See the comments in
 #   ifdef NACL
 #      define OS_TYPE "NACL"
        extern int etext[];
-#      define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+//#    define DATASTART ((ptr_t)((((word) (etext)) + 0xfff) & ~0xfff))
+#       define DATASTART ((ptr_t)0x10000000)
        extern int _end[];
 #      define DATAEND (_end)
 #      ifdef STACK_GRAN
 #     define DYNAMIC_LOADING
       extern int _end[];
 #     define DATAEND (_end)
+#pragma weak __data_start
       extern int __data_start[];
 #     define DATASTART ((ptr_t)(__data_start))
 #     if defined(_MIPS_SZPTR) && (_MIPS_SZPTR == 64)