size limit for static arrays in cygwin/gcc

Randall R Schulz rrschulz@cris.com
Mon Feb 17 14:52:00 GMT 2003


Danny,

A couple of months ago, someone reported on how local (stack) 
allocations larger than a certain threshold were allocated on the heap. 
In fact, you, Danny, contributed materially to that thread: Subject 
"Strange behaviour of gcc" starting with a posting by 
fabrizio_ge-wolit@tiscali.it on Dec. 24, 2002.

In that case Fabrizio wanted to avoid the dependence that heap 
allocation created on the runtime or C library. That was C/C++ code and 
I don't know where this allocation strategy is implemented--i.e., 
whether it's in a language-specific front-end or a language-independent 
back-end of GCC (and here we should emphasise the official name: the 
GNU Compiler Collection, not the GNU C Compiler as many believe it to mean).

You also supplied this tidbit:

>To disable stack probing, add this switch  -mno-stack-arg-probe.


Just something to keep in mind.

Randall Schulz


At 11:56 2003-02-16, Danny Smith wrote:

>"Charles D. Russell" <worwor at bellsouth dot net> wrote:
>
> >    Meanwhile, I am trying to find an equivalent problem in C so 
> that it will
> > get more attention.  Unfortunately, I don't know much C.  The subsequent
> > program fails with a segmentation violation if one tries to allocate more
> > than a few Mb of memory on either my old or my new 
> system.  Why?  What limit
> > am I bumping into?
>
>By default stack reserve is set to 2MB by ld.exe.  Try setting stack 
>reserve higher, eg,
>     -Wl,--stack=0x2000000
>will get you 32MB stack reserve
>
>Danny


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list