Mail Archives: cygwin/2004/07/16/04:36:43
Pietro schrieb:
> Gerrit,
> I think you just did:
> the program should print "ok" upon executing and it didn't. if you debug,
> say, with insight, aa.exe will bail before reaching the printf statement,
> generating a segmentation violation signal.
> let me know. thanks for looking into it.
> Pietro
> On Fri, 16 Jul 2004, Gerrit P. Haase wrote:
>> Pietro wrote:
>>
>> > I have the following example to propose:
>> > /** aa.c **/
>> > #define NXY 5000
>> > #define NXY 7000
>> > int xy[NXY][NXY];
>> > main(){
>> > printf("ok\n");
>> > }
>>
>> > This will work when NXY=5000, but will generate a SIGSEV exception before
>> > reaching the first statement when NXY=7000.
>>
>> > The array in the faulty case is 187MB. The gcc documentation gives 2GB as
>> > the limit for having to switch to dynamic allocation. Any fixes? or
>> > relevant compiler options possibly available?
>>
>> I cannot reproduce it on my W2K Professional box:
>>
>>
>> $ cat aa.c
>> #define NXY 7000
>>
>> int xy[NXY][NXY];
>> main(){
>> printf("ok\n");
>> }
>>
>> $ gcc -o aa aa.c
>>
>> $ ./aa.exe
>>
>> Gerrit
>> --
>> =^..^= http://nyckelpiga.de/donate.html
>>
Yes, I see. Yhe problem is the default stack size on cygwin (2 MB), you
can increase it.
$ gcc -o aa -Wl,--stack,8388608 aa.c
$ ./aa
ok
$ cat aa.c
#define NXY 7000
int xy[NXY][NXY];
main(){
printf("ok\n");
}
Gerrit
--
=^..^=
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/
- Raw text -