From: hboehm Date: Wed, 20 May 2009 19:00:01 +0000 (+0000) Subject: 2009-05-20 Hans Boehm (really Ivan Maidanski) X-Git-Tag: gc7_2alpha2~27 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=76ba17fb99abb42dc195fee409200bda23aa9906;p=gc 2009-05-20 Hans Boehm (really Ivan Maidanski) * doc/README.win32: Add OpenWatcom warning. * include/private/gcconfig.h: Really check it in. --- diff --git a/ChangeLog b/ChangeLog index 593cea15..d01f3ac1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2009-05-20 Hans Boehm (really Ivan Maidanski) + * doc/README.win32: Add OpenWatcom warning. + * include/private/gcconfig.h: Really check it in. + 2009-05-19 Hans Boehm (Mostly Ivan Maidanski, Dave Korn) * os_dep.c (GC_get_stack_base, windows): Replace with Dave Korn's code from gcc version. @@ -5,7 +9,9 @@ GetWriteWatch-based virtual dirty bit implementation ("os_dep.c" file). * os_dep.c: Make non-win32 GC_write_fault_handler STATIC. * mark.c (GC_noop): fix declaration definition mismatch for DMC. - * include/private/gcconfig.h: Remove special handling for Watcom + * include/private/gcconfig.h: Enable MPROTECT_VDB and GWW_VDB for + Watcom (Win32 only). It works. + and GWW_VDB. It works. 2009-05-07 Hans Boehm and Mark Sibly diff --git a/doc/README.win32 b/doc/README.win32 index 0cec9e9e..7f963b97 100644 --- a/doc/README.win32 +++ b/doc/README.win32 @@ -143,6 +143,17 @@ important, otherwise resulting programs will not run. Ivan Demakov (email: ivan@tgrad.nsk.su) +Note from Ivan Maidanski: + +Special note for OpenWatcom users: the C (unlike the C++) compiler (of the +latest stable release, not sure for older ones) doesn't force pointer global +variables (i.e. not struct fields, not sure for locals) to be aligned unless +optimizing for speed (eg. "-ot" option is set); the "-zp" option (or align +pragma) only controls alignment for structs; I don't know whether it's a bug or +a feature (see an old report of same kind - +http://bugzilla.openwatcom.org/show_bug.cgi?id=664), so You are warned. + + Incremental Collection ---------------------- There is some support for incremental collection. By default, the diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h index bf5e739f..2b739356 100644 --- a/include/private/gcconfig.h +++ b/include/private/gcconfig.h @@ -1181,12 +1181,8 @@ # define OS_TYPE "MSWIN32" /* STACKBOTTOM and DATASTART are handled specially in */ /* os_dep.c. */ -# if !defined(__WATCOMC__) -# define MPROTECT_VDB - /* We also avoided doing this in the past with GC_WIN32_THREADS */ - /* Hopefully that's fixed. */ -# define GWW_VDB -# endif +# define MPROTECT_VDB +# define GWW_VDB # define DATAEND /* not needed */ # endif # ifdef MSWINCE @@ -1968,12 +1964,8 @@ # define OS_TYPE "MSWIN32" /* STACKBOTTOM and DATASTART are handled specially in */ /* os_dep.c. */ -# if !defined(__WATCOMC__) -# define MPROTECT_VDB - /* We also avoided doing this in the past with GC_WIN32_THREADS */ - /* Hopefully that's fixed. */ -# define GWW_VDB -# endif +# define MPROTECT_VDB +# define GWW_VDB # define DATAEND /* not needed */ # endif # endif