From: ivmai Date: Thu, 25 Nov 2010 21:38:04 +0000 (+0000) Subject: 2010-11-25 Ivan Maidanski X-Git-Tag: gc7_2alpha5-20110107~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=639fb53a03c4620aa199252fff279251daf3d6db;p=gc 2010-11-25 Ivan Maidanski * tests/test.c (main): Print the relevant message if GWW_VDB. * include/private/gcconfig.h: Don't define MPROTECT_VDB for Win32 on x64 if compiled by GCC. --- diff --git a/ChangeLog b/ChangeLog index 4415ad59..85e00874 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2010-11-25 Ivan Maidanski + + * tests/test.c (main): Print the relevant message if GWW_VDB. + * include/private/gcconfig.h: Don't define MPROTECT_VDB for Win32 + on x64 if compiled by GCC. + 2010-11-04 Ivan Maidanski * tests/staticrootstest.c: Include string.h for memset() prototype. diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index b21912fd..672e7fbe 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -2157,11 +2157,15 @@ # define OS_TYPE "MSWIN32" /* STACKBOTTOM and DATASTART are handled specially in */ /* os_dep.c. */ -# define MPROTECT_VDB +# if !defined(__GNUC__) || defined(__INTEL_COMPILER) + /* GCC does not currently support SetUnhandledExceptionFilter */ + /* (does not generate SEH unwinding information) on x64. */ +# define MPROTECT_VDB +# endif # define GWW_VDB # define DATAEND /* not needed */ # endif -# endif +# endif /* X86_64 */ #if defined(LINUX_STACKBOTTOM) && defined(NO_PROC_STAT) \ && !defined(USE_LIBC_PRIVATES) diff --git a/tests/test.c b/tests/test.c index c2efc82d..11816706 100644 --- a/tests/test.c +++ b/tests/test.c @@ -1404,6 +1404,8 @@ void GC_CALLBACK warn_proc(char *msg, GC_word p) # else # ifdef PROC_VDB GC_printf("Reading dirty bits from /proc\n"); +# elif defined(GWW_VDB) + GC_printf("Using GetWriteWatch-based implementation\n"); # else GC_printf("Using DEFAULT_VDB dirty bit implementation\n"); # endif