Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sources DOT redhat DOT com Delivered-To: mailing list cygwin-developers AT sources DOT redhat DOT com Date: Tue, 23 Oct 2001 13:08:13 -0400 From: Christopher Faylor To: cygwin-developers AT cygwin DOT com Subject: Re: 1.3.4 status? Message-ID: <20011023130813.D18754@redhat.com> Reply-To: cygwin-developers AT cygwin DOT com Mail-Followup-To: cygwin-developers AT cygwin DOT com References: <20011023005236 DOT 7136 DOT qmail AT lizard DOT curl DOT com> <20011022205828 DOT C18754 AT redhat DOT com> <02ea01c15b5f$7e673bc0$0200a8c0 AT lifelesswks> <20011022212759 DOT A19493 AT redhat DOT com> <032701c15b64$ea5523b0$0200a8c0 AT lifelesswks> <20011022215102 DOT A20341 AT redhat DOT com> <033101c15b66$24fc2260$0200a8c0 AT lifelesswks> <033701c15b68$f3684d70$0200a8c0 AT lifelesswks> <20011022222324 DOT B20427 AT redhat DOT com> <038601c15b70$f5ce0930$0200a8c0 AT lifelesswks> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <038601c15b70$f5ce0930$0200a8c0@lifelesswks> User-Agent: Mutt/1.3.21i On Tue, Oct 23, 2001 at 01:15:25PM +1000, Robert Collins wrote: >----- Original Message ----- >From: "Christopher Faylor" >To: >Sent: Tuesday, October 23, 2001 12:23 PM >Subject: Re: 1.3.4 status? > > >> >> It is possible that a function would call __chkstk when it needed to >> allocate space beyond a certain limit. Not every function begins with >a >> call to __chkstk/alloca, though. > >objdump shows a large number of calls to __chkstk - particularly in >functions using inline variables that are large. My 2c is that somewhere >in gcc there is a heuristic that says "over size x variables get >alloca'd". Right. gcc has to do a stack probe, causing a guard page exception (on NT, anyway) which will cause the OS to allocate more space for the stack. So, to allocate beyond the current page, you have to touch each page of the potential new space that you want to allocate. This causes new stack space to show up automatically. cgf