delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/1996/03/11/12:05:32

Message-Id: <m0twAym-000GOKC@gwar.ardi.com>
Date: Mon, 11 Mar 96 10:01 MST
From: mat AT ardi DOT com (Mat Hostetter)
To: djgpp-workers AT delorie DOT com
Subject: DJGPP, sbrk and WinNT
cc: ctm AT ardi DOT com

I've recently been working on getting Executor working reliably under
WinNT.  If I run it in "full screen" mode, everything is fine.  If I
start from non-fullscreen mode, it sometimes crashes in morecore.  I
investigated and discovered it's dying in morecore on this line:

    op->ov_next = (union overhead *)((char *)op + sz);

with op == 0xffda0000.  My first guess would be that the new sbrk
algorithm loses under WinNT because it doesn't let us do the fat %ds
hack (makes sense, since it's a huge security hole), and when we
happen to get a non-contiguous sbrk value we lose.  This might happen
in non-fullscreen mode either because (1) fullscreen programs get
their own entire address space, ala Unix, or (2) fullscreen programs
just happen to get contiguous sbrk data.

Does this sound plausible?  Any better ideas?

-Mat

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019