On 28/07/2020 03:20, Takashi Yano via Cygwin-patches wrote:
Hi Jon,
On Sat, 18 Jul 2020 16:00:28 +0100
Jon Turney wrote:
Use the (undocumented) MEMORY_WORKING_SET_EX_INFORMATION in dumper to
determine if a MEM_IMAGE region is unsharable, and hence has been
modified.
---
winsup/doc/utils.xml | 8 ++---
winsup/utils/Makefile.in | 2 +-
winsup/utils/dumper.cc | 63 ++++++++++++++++++++++++++++++++++++++--
3 files changed, 65 insertions(+), 8 deletions(-)
After this commit, 32bit build failes with:
/usr/lib/gcc/i686-pc-cygwin/9.3.0/../../../../i686-pc-cygwin/bin/ld:
dumper.o:/home/yano/newlib-cygwin/i686-pc-cygwin/winsup/utils/../../.././winsup/utils/dumper.cc:295:
undefined reference to `NtQueryVirtualMemory'
Thanks very much for pointing this out.
This seems to be solved with the patch:
Yes, I guess that it needs that for stdcall. I applied your patch.
diff --git a/winsup/utils/dumper.cc b/winsup/utils/dumper.cc
index 3af138b9e..36dbf9dbb 100644
--- a/winsup/utils/dumper.cc
+++ b/winsup/utils/dumper.cc
@@ -272,7 +272,7 @@ typedef enum _MEMORY_INFORMATION_CLASS
} MEMORY_INFORMATION_CLASS;
extern "C"
-NTSTATUS
+NTSTATUS NTAPI
NtQueryVirtualMemory(HANDLE ProcessHandle,
LPVOID BaseAddress,
MEMORY_INFORMATION_CLASS MemoryInformationClass,