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.

Was it helpful?

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top