Khimenko Victor wrote:
{$ifdef DJGPP} var MinStackSize : Cardinal = $200000; asmname '_stklen'; {$endif}
Hmm. If here we said about DJGPP's stack handling perhaps setrlimit(2) and ulimit from bash(1) should be mentioned as well ? In SVr4 and BSD 4.3-based systems (including Linux) you can raise stack size limit via setrlimit(2) in run-time or from bash's command line BEFORE starting program with ulimit -s ... Of course in Linux you'll need not `array[1..4000000] of byte' but `array[1..10000000] of byte' to get exception (with default 8MiB limit) but anyway ...
That's one difference. The main difference, of course, is that a Linux user can set the stack size on the command line (and if s/he or the admin limits it, they might have their reasons, so a program probably should not usually override it) while under DJGPP the stack size has to be written into the executable (and the whole stack has to be allocated in physical memory at program startup due to a weakness of the DPMI specification), so one cannot just set it to some large value without problems.
Finally, the method of setting the stack size is quite different (DJGPP: declare a constant(*) with a certain asmname; Unix: call a function at any time), so these are almost completely different matters, IMHO.
Now, I wouldn't object to putting the information for Unix into the FAQ, but since the DJGPP information is in the DJGPP specific section, one would have to find a suitable place for it...
(*) I wrote `var', but it should rather be `const'. Russ, can you please change it in the FAQ?
Frank