Boost.Coroutine supports usage of a segemented-stack, e. g. the size of the stack of a coroutine grows on demand. The coroutine is created with a stack with an minimal stack and if the coroutine is execute the stack size is increased as required.
Segmented stack are currently only supported by gcc from version 4.7 onwards. n order to use segemented-stack compile Boost.Coroutine with toolset=gcc segmented-stacks=on at b2/bjam command-line. Application using Boost.Coroutine with enabled __segmented-stack__ must be compiled with compiler-flags -fsplit-stack -DBOOST_USE_SEGMENTED_STACKS.