From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <10206100232.AA17839@clio.rice.edu> Subject: unixy sbrk and win2k To: djgpp-workers AT delorie DOT com (DJGPP developers) Date: Sun, 9 Jun 2002 21:32:26 -0500 (CDT) X-Mailer: ELM [version 2.5 PL2] Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp-workers AT delorie DOT com The following patch to crt0.S seems to have fixed the problem: *** crt0.BAK Sun Jun 9 20:14:46 2002 --- crt0.S Sun Jun 9 20:21:48 2002 *************** brk_common: *** 475,478 **** --- 475,479 ---- movw $0x0900, %ax /* disable interrupts */ int $0x31 + cli pushl %eax (Line numbers are vs 2.03, but it's just a single line insertion). This should be a no op - since the previous line disables and stores the previous state in AX; we then restore (enable) them with an equivalent call. Under Win2K the get interrupt state DPMI call shows the program starts with interrupts disabled (but they aren't) - the cli above seems to fix win2K's bad behavior when moving the arena but does not break win95 for example. Any comments? We ought to try and build something substantial (like emacs) with this fix above to crt0 and see if there is joy in W2K land again. I can't see how this above could break anything.