]> granicus.if.org Git - gc/commitdiff
2010-11-25 Ivan Maidanski <ivmai@mail.ru>
authorivmai <ivmai>
Thu, 25 Nov 2010 21:38:04 +0000 (21:38 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:55 +0000 (21:06 +0400)
* 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.

ChangeLog
include/private/gcconfig.h
tests/test.c

index 4415ad59970128a5d5bbe4ffb761d2ac029273e4..85e008746597bf4be625ca7e0daa3b65a4f1c0f0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2010-11-25  Ivan Maidanski  <ivmai@mail.ru>
+
+       * 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  <ivmai@mail.ru>
 
        * tests/staticrootstest.c: Include string.h for memset() prototype.
index b21912fd431f2d251696e3162fded37e5b533cdd..672e7fbe215e4e4432916ad5cca70e088f3d6765 100644 (file)
 #       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)
index c2efc82d4dd5c6c0a95a70940aa686227cb27635..11816706a1581fb9b349b412b31346689c119da2 100644 (file)
@@ -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