#include // Stack overflow on different thread. void qux(); void foo() { qux(); } void bar() { foo(); } void qux() { bar(); } void* thread(void*) { foo(); return 0; } int main() { pthread_t th; pthread_create(&th, NULL, thread, NULL); pthread_join(th, NULL); }