Mailing-List: contact cygwin-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin AT sourceware DOT cygnus DOT com Message-Id: <200005111720.MAA19448@hp2.xraylith.wisc.edu> To: DJ Delorie cc: tprince AT computer DOT org, abegel AT cs DOT berkeley DOT edu, cygwin AT sourceware DOT cygnus DOT com Subject: GCC snapshots and mmap problem [Re: GDB hangs on Win2K] In-reply-to: Your message of "Thu, 11 May 2000 13:10:15 EDT." <200005111710 DOT NAA24928 AT envy DOT delorie DOT com> Date: Thu, 11 May 2000 12:20:11 -0500 From: Mumit Khan DJ Delorie writes: > > > There seems to be a problem in mmap I've trying to find for days > > now with no luck. Essentially, ./stage1/xgcc is hanging when > > garbage collecting (compiling fold-const.c), and the only solution > > for now is to configure with --with-gc=simple which works but > > really slows down compilation. > > Saw that myself, except mine crashed all the time instead of hanging. > It might be the new /dev/zero code, too. GCC is using MAP_ANON, so /dev/zero shouldn't affect it, unless I'm missing something. > Note that the djgpp crew has already submitted patches to speed up > ggc-simple.c and/or allow more widespread use of ggc-page (all I know > is that they solved the "problem" for djgpp). I've been following that with great interest, since that'll help Mingw as well (however, it's pretty trivial to write mmap for Mingw, but I just haven't included that yet in libiberty yet). Of course, since Cygwin already supports mmap, we need to figure out where the problem is. I'm going to use a debuggable Cygwin DLL and see if I get anywhere. Can someone check if the problem goes away with thread-disabled Cygwin DLL? Note that in my case it's hanging in munmap (unless it's also popping up a window on the local box, which I can't see when logged on remotely, sigh), which may point to a Cygwin waiting on a lock. Cygwin currently uses a single resource lock, even though the basic framework for using multiple locks is there via LOCK_ macros, so a single mismatched Set/Release lock may cause problems. I can't check currently since I'm connecting to my home net via modem, and don't have gcc on my laptop. Regards, Mumit -- Want to unsubscribe from this list? Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com