X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=boehm-gc%2Finclude%2Fprivate%2Fgcconfig.h;fp=boehm-gc%2Finclude%2Fprivate%2Fgcconfig.h;h=ef222323089940e129710cc92ce0db70b82754b6;hp=e06a7565609a2e96046338f47a2059a846c05d24;hb=886a341f3ff7c1a2dec9207e1a68d1ea18e50e73;hpb=bb3141cba23451798460261ff54c1805179e1646 diff --git a/boehm-gc/include/private/gcconfig.h b/boehm-gc/include/private/gcconfig.h index e06a7565609..ef222323089 100644 --- a/boehm-gc/include/private/gcconfig.h +++ b/boehm-gc/include/private/gcconfig.h @@ -302,7 +302,10 @@ # if defined(__ppc__) || defined(__ppc64__) # define POWERPC # define mach_type_known -# elif defined(__i386__) || defined(__x86_64) +# elif defined(__x86_64__) +# define X86_64 +# define mach_type_known +# elif defined(__i386__) # define I386 # define mach_type_known # endif @@ -787,7 +790,7 @@ # define DATAEND (_end) # endif # ifdef DARWIN -# if defined(__ppc64__) || defined(__x86_64) +# if defined(__ppc64__) # define ALIGNMENT 8 # define CPP_WORDSZ 64 # else @@ -796,7 +799,7 @@ # define OS_TYPE "DARWIN" # 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) */ + 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) @@ -804,9 +807,9 @@ # define USE_MMAP_ANON # define USE_ASM_PUSH_REGS /* This is potentially buggy. It needs more testing. See the comments in - os_dep.c. It relies on threads to track writes. */ + os_dep.c. It relies on threads to track writes. */ # ifdef GC_DARWIN_THREADS -/* # define MPROTECT_VDB -- diabled for now. May work for some apps. */ +/*# define MPROTECT_VDB -- diabled for now. May work for some apps. */ # endif # include # define GETPAGESIZE() getpagesize() @@ -818,7 +821,7 @@ __asm__ __volatile__ ("dcbtst 0,%0" : : "r" ((const void *) (x))) # endif /* There seems to be some issues with trylock hanging on darwin. This - should be looked into some more */ + should be looked into some more */ # define NO_PTHREAD_TRYLOCK # endif # ifdef FREEBSD @@ -1313,7 +1316,7 @@ # 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) */ + 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) @@ -1321,15 +1324,15 @@ # define USE_MMAP_ANON # define USE_ASM_PUSH_REGS /* This is potentially buggy. It needs more testing. See the comments in - os_dep.c. It relies on threads to track writes. */ + os_dep.c. It relies on threads to track writes. */ # ifdef GC_DARWIN_THREADS /* # define MPROTECT_VDB -- disabled for now. May work for some apps. */ # endif # include # define GETPAGESIZE() getpagesize() /* There seems to be some issues with trylock hanging on darwin. This - should be looked into some more */ -# define NO_PTHREAD_TRYLOCK + should be looked into some more */ +# define NO_PTHREAD_TRYLOCK # endif /* DARWIN */ # endif @@ -1982,6 +1985,28 @@ # 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) +# define USE_MMAP +# define USE_MMAP_ANON +# ifdef GC_DARWIN_THREADS + /* This is potentially buggy. It needs more testing. See the comments in + os_dep.c. It relies on threads to track writes. */ +# define MPROTECT_VDB +# endif +# include +# define GETPAGESIZE() getpagesize() + /* There seems to be some issues with trylock hanging on darwin. This + should be looked into some more */ +# define NO_PTHREAD_TRYLOCK +# endif # ifdef FREEBSD # define OS_TYPE "FREEBSD" # ifndef GC_FREEBSD_THREADS