aboutsummaryrefslogtreecommitdiff
path: root/boehm-gc/os_dep.c
diff options
context:
space:
mode:
authorRanjit Mathew <rmathew@gcc.gnu.org>2006-06-20 17:10:19 +0000
committerRanjit Mathew <rmathew@gcc.gnu.org>2006-06-20 17:10:19 +0000
commit971774e4385448741f89755baf8e20e145d9e964 (patch)
treef5f09bc8de3372861139eacf0b8c5d60b274c132 /boehm-gc/os_dep.c
parent5a6ccafd7d4899ee7942a5f3be359a249c1273ae (diff)
downloadgcc-971774e4385448741f89755baf8e20e145d9e964.zip
gcc-971774e4385448741f89755baf8e20e145d9e964.tar.gz
gcc-971774e4385448741f89755baf8e20e145d9e964.tar.bz2
Backport Windows 9x/ME VirtualQuery() fix from GC 6.7.
* os_dep.c (GC_wnt): Define. (GC_init_win32): Set GC_wnt. * dyn_load.c (GC_register_dynamic_libraries): Consider MEM_PRIVATE sections also on Windows 9x/ME. From-SVN: r114818
Diffstat (limited to 'boehm-gc/os_dep.c')
-rw-r--r--boehm-gc/os_dep.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/boehm-gc/os_dep.c b/boehm-gc/os_dep.c
index fb50a45..13692d9 100644
--- a/boehm-gc/os_dep.c
+++ b/boehm-gc/os_dep.c
@@ -1181,12 +1181,15 @@ void GC_register_data_segments()
/* This used to be set for gcc, to avoid dealing with */
/* the structured exception handling issues. But we now have */
/* assembly code to do that right. */
+ GC_bool GC_wnt = FALSE;
+ /* This is a Windows NT derivative, i.e. NT, W2K, XP or later. */
void GC_init_win32()
{
/* if we're running under win32s, assume that no DLLs will be loaded */
DWORD v = GetVersion();
- GC_no_win32_dlls |= ((v & 0x80000000) && (v & 0xff) <= 3);
+ GC_wnt = !(v & 0x80000000);
+ GC_no_win32_dlls |= ((!GC_wnt) && (v & 0xff) <= 3);
}
/* Return the smallest address a such that VirtualQuery */