(fix of commit
fa7f7a72b)
Issue #272 (bdwgc).
* include/private/gcconfig.h [(I386 || X86_64) && CYGWIN32]
(MPROTECT_VDB): Do not define if USE_WINALLOC.
* os_dep.c [CYGWIN32 && MPROTECT_VDB] (GC_setpagesize): Set
GC_page_size to dwAllocationGranularity.
# define OS_TYPE "CYGWIN32"
# define DATASTART ((ptr_t)GC_DATASTART) /* From gc.h */
# define DATAEND ((ptr_t)GC_DATAEND)
-# define MPROTECT_VDB
# ifdef USE_WINALLOC
# define GWW_VDB
-# elif defined(USE_MMAP)
-# define NEED_FIND_LIMIT
-# define USE_MMAP_ANON
+# else
+# define MPROTECT_VDB
+# ifdef USE_MMAP
+# define NEED_FIND_LIMIT
+# define USE_MMAP_ANON
+# endif
# endif
# endif
# ifdef INTERIX
# endif
# ifdef CYGWIN32
# define OS_TYPE "CYGWIN32"
-# define MPROTECT_VDB
# ifdef USE_WINALLOC
# define GWW_VDB
-# elif defined(USE_MMAP)
-# define USE_MMAP_ANON
+# else
+# define MPROTECT_VDB
+# ifdef USE_MMAP
+# define USE_MMAP_ANON
+# endif
# endif
# endif
# ifdef MSWIN_XBOX1
GC_INNER void GC_setpagesize(void)
{
GetSystemInfo(&GC_sysinfo);
-# if defined(CYGWIN32) && defined(USE_MUNMAP)
+# if defined(CYGWIN32) && (defined(MPROTECT_VDB) || defined(USE_MUNMAP))
/* Allocations made with mmap() are aligned to the allocation */
/* granularity, which (at least on 64-bit Windows OS) is not the */
/* same as the page size. Probably a separate variable could */