X-Authentication-Warning: new-smtp1.ihug.com.au: Host p273-tnt2.syd.ihug.com.au [203.173.131.19] claimed to be acceleron Message-ID: <026201c12403$e0d609f0$0a02a8c0@acceleron> From: "Andrew Cottrell" To: Cc: , References: <10108100454 DOT AA13597 AT clio DOT rice DOT edu> <001901c12239$16e71dd0$0a02a8c0 AT acceleron> <2427-Mon13Aug2001123310+0300-eliz AT is DOT elta DOT co DOT il> Subject: Re: Selector Exhaustion Date: Tue, 14 Aug 2001 00:26:00 +1000 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 5.50.4807.1700 X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700 Reply-To: djgpp-workers AT delorie DOT com > > I slightly modifed Charles patch so that the changes were only executed if > > on a Win NT / 2000 / XP machine, this way I can also use the same LIBC and > > code on the Win 98 box. > > ??? Why would the original code prevent you from using the same libc > on all systems? The original code leaked DPMI selector like a sive on Win2K when building LIBC on Win 2K, it was a night mare to have to restart every minute or two. > I'd rather avoid local changes to code we discuss and approve, lest we > lose track of where did each change work, and how well. I'm already > dizzy, what with all the issues involved and different versions of > binaries tested on all kinds of systems. The issue I had was that Charles patch was for Win 2K and Andris patch was for Win 98. I wanted to have the same source and executables for both Win 98 and 2K. Between the patch from Charles that was for Win 2K issues and Andris and your comments about this last week I thought it best to only enable the code in Charles's patch on my Win 2K box and don't enable the function calls when running on my Win 98 box. I thought it was better safe than sorry. > > gcc ... -c dmpl.c > > Exiting due to signal SIGSEGV > > General Protection Fault at eip=000013f5 > > eax=00330901 ebx=00000033 ecx=00330000 edx=001a8338 esi=00000187 > > edi=018719c0 > > ebp=6269091e esp=00000740 program=D:\dj204\BIN\gcc.exe > > cs: sel=5fe7 base=021e0000 limit=001affff > > ds: sel=5fef base=021e0000 limit=001affff > > es: sel=5fef base=021e0000 limit=001affff > > fs: sel=5fbf base=0001cf30 limit=0000ffff > > gs: sel=0000 > > ss: sel=5fbf base=0001cf30 limit=0000ffff > > App stack: [000ad608..0002d608 > > Looks like the stack is smashed (EBP actually looks like ASCII text). > Did you try to stubedit gcc.exe to a larger stack? I need to read and try to understand the FAQ section 12.2. Is there any further pointers on what to look for in the registers or should I just keep on sending the crash info? > Also, the EIP value seems right at the program start. Can you see > where it is, exactly? I need to do some background reading in the FAQ and GDB etc on this so I can give the info next time the crash occurs or is it too late once the crash occurs? > Charles, is it possible that a stack somehow was not allocated? >