Issue #219 (bdwgc).
In the past (Windows XP, Windows 7, and older Windows 10), VirtualQuery
always returned PAGE_READWRITE for the data section.
In the April 2018 Update of Windows 10, it seems that PAGE_WRITECOPY
is returned sometimes (thus causing GC_register_dynamic_libraries not
to call GC_cond_add_roots for the section).
* dyn_load.c [MSWIN32 || MSWINCE || CYGWIN32]
(GC_register_dynamic_libraries): Call GC_cond_add_roots()
also for PAGE_EXECUTE_WRITECOPY and PAGE_WRITECOPY pages.
protect = buf.Protect;
if (buf.State == MEM_COMMIT
&& (protect == PAGE_EXECUTE_READWRITE
- || protect == PAGE_READWRITE)
+ || protect == PAGE_EXECUTE_WRITECOPY
+ || protect == PAGE_READWRITE
+ || protect == PAGE_WRITECOPY)
&& (buf.Type == MEM_IMAGE
# ifdef GC_REGISTER_MEM_PRIVATE
|| (protect == PAGE_READWRITE && buf.Type == MEM_PRIVATE)