How to increase the gcc executable stack size?
-
18-09-2019 - |
Question
I have large Boost/Spirit metaprogram that is blowing gcc's stack when I try to compile it.
How can I increase gcc's stack size, so I can compile this program?
Note: There's no infinite recursion going on, but there is enough incidental recursion to exhaust gcc's stack.
Solution
On Linux, you can expand the stack size in /etc/security/limits.conf.
You can check your current stack size by using
$ ulimit -s
8192
Then expand the stack to be double than that:
youruser soft stack 16384
And then relog.
This will increase stack size for all executable you're running, not just GCC's.
OTHER TIPS
I use that in my compiler script:
CFLAGS += -Wl,--stack,10485760
The stack size can be configured during linking. You should look at details regarding the linker scripts. That will only change the stack size for your single programme.