>>275
だいたい理解はあってる。
厳密に言うと、mswin32版のスタックサイズはwin32/Makefile.subで指定されていて、リンク時に確定される。
デフォルトではスタックサイズは2MBなので、Makefileに例えば
STACK=0x400000
とか書いてビルドすれば4MBにできる。

このリンク時に指定されたスタックサイズは実行ファイルのPEヘッダに格納されているので、それを何らかの手段で書き換えれば、いちいち自前でビルドしなくてもスタックサイズの変更は可能。