delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp-workers/2001/08/13/10:30:55

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" <acottrel AT ihug DOT com DOT au>
To: <djgpp-workers AT delorie DOT com>
Cc: <pavenis AT lanet DOT lv>, <sandmann AT clio DOT rice DOT edu>
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
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?
>

- Raw text -


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