From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <9612082333.AA13858@clio.rice.edu> Subject: Re: Emacs crashes on WinNT in crt0 To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Sun, 8 Dec 1996 17:33:07 -0600 (CST) Cc: djgpp-workers AT delorie DOT com, dj AT delorie DOT com In-Reply-To: from "Eli Zaretskii" at Dec 8, 96 08:01:50 pm Content-Type: text Content-Length: 1473 > A user wrote to me that DJGPP Emacs crashes on NT 4.0 at startup. NT does not support fat ds. The non-move sbrk() needs fat ds if the dpmi provider returns memory blocks below the original block. You have no control over the order which NT returns memory blocks, so you should only use the unixy sbrk under NT. I have been told that sometimes working in a full screen session makes the blocks returned be better behaved, and images which puke in a window run full screen. YMMV. Since NT behavior with HW ints is marginal anyway, I suggest always using unixy sbrk. I ran a patch procedure on all my binaries to convert them to unixy sbrk by default when running under NT. > following is a part of the run under a debugger that he sent me and the > corresponding source fragment from src/libc/crt0/crt0.s. It seems that > Emacs crashes at the instruction which puts DX into SS (marked with > <<<<<<). Is there anything special about the NT DPMI host wrt setting SS? Since SS shows up in the register trace correctly, it's being set OK. However, ESP isn't correct. This may not be the real problem since the debugger may cause grief in the consistency window. But it may be due to the fact that the sbrk'ed stack isn't legit. The next step should be move EAX to ESP, and EAX isn't right in the register listing compared to the eax listed above. There may be badness with the debugger under NT? Or is the register listing identical outside of the debugger?