Date: Tue, 25 Jan 2000 09:48:02 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Erik Berglund cc: djgpp AT delorie DOT com Subject: Re: gcc page fault In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp AT delorie DOT com Errors-To: dj-admin AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Mon, 24 Jan 2000, Erik Berglund wrote: > I was wondering if anyone could help me find > a mysterious problem in gcc 2.95.2: Isn't this from the same series of crashes on Windows 3.X that you reported several months ago? If not, how is this different? > for (bp=freelist[bu]; bp; bpp=&(bp->next), bp=bp->next) <---page fault > > bp=freelist[bu] gives page fault because "bu" > has a very high value (bu=edi=0x00391610). I don't see what's wrong with this value: it's well within the limit of your DS selector: > ds: sel=00af base=81043000 limit=fffeffff So why do you think EDI is wrong? It strikes me that the Windows DPMI host might actuallly be the culprit here. Or perhaps some GCC code expects all allocated memory to be contiguous. > Now, I have a work-around for this problem and > that is to disable Virtual Memory either in Windows > or with _CRT0_FLAG_LOCK_MEMORY in gcc. > Then everything works fine again. How about the Unixy-sbrk flag you used earlier: does that solve the problem as well?