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