This is the mail archive of the
mailing list for the Cygwin project.
RE:size limit for static arrays in cygwin/gcc
- From: Danny Smith <danny_r_smith_2001 at yahoo dot co dot nz>
- To: cygwin at cygwin dot com
- Cc: rrschulz at cris dot com
- Date: Tue, 18 Feb 2003 07:55:14 +1100 (EST)
- Subject: RE:size limit for static arrays in cygwin/gcc
Randall R Schulz <rrschulz at cris dot com> wrote:
> 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
> email@example.com on Dec. 24, 2002.
No that's not quite right:
Stack allocations larger than one page (4KB) cause gcc to probe the stack.
The allocation is still static
I think, also, the stack probe is automatically called in main, to force
alignment of stack to a page boundary.
Be aware, there is a bug in GCC-3.2 with respect to _alloca and optimization
(particulary-fomit-frame-pointer), reported on this list by someone called Fish
and on GCC lists. It is fixed (at least in part) in 3.3 and higher.
> 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)
The stack probe default is target-specific, language-independent.
http://mobile.yahoo.com.au - Yahoo! Mobile
- Exchange IMs with Messenger friends on your Telstra or Vodafone mobile phone.
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html