* go32-nat.c (read_memory_region): Make sure the segment limit was

indeed set, to work around a Windows 2000 bug.
This commit is contained in:
Eli Zaretskii 2001-07-26 14:41:16 +00:00
parent 4dca840345
commit 2033c18a5f
2 changed files with 9 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2001-07-26 Eli Zaretskii <eliz@is.elta.co.il>
* go32-nat.c (read_memory_region): Make sure the segment limit was
indeed set, to work around a Windows 2000 bug.
2001-07-25 Daniel Jacobowitz <drow@mvista.com>
* infptrace.c (child_xfer_memory): Add cast to CORE_ADDR.

View file

@ -1331,7 +1331,10 @@ read_memory_region (unsigned long addr, void *dest, size_t len)
if (__dpmi_set_segment_base_address (sel, addr) != -1
&& __dpmi_set_descriptor_access_rights (sel, access_rights) != -1
&& __dpmi_set_segment_limit (sel, segment_limit) != -1)
&& __dpmi_set_segment_limit (sel, segment_limit) != -1
/* W2K silently fails to set the segment limit, leaving
it at zero; this test avoids the resulting crash. */
&& __dpmi_get_segment_limit (sel) >= segment_limit)
movedata (sel, 0, _my_ds (), (unsigned)dest, len);
else
retval = 0;