Can anyone tell me if there is a patch for this problem?
Consider:
void bar(char*);
void foo(int x)
{
if (x) { char y[4096]; bar(y); }
else { char z[4096]; bar(z); }
}Cygwin gcc 3.4.2 -O2 yields:
pushl %ebp
movl $8216, %eax /* Should be about 4k */
movl %esp, %ebp
call __allocaPPC cross compiler 3.4.2 -O2 yields:
cmpwi 7,3,0
mflr 0
stwu 1,-8208(1) /* Should be about 4k */Earl
