diff -Nur cppcheck-1.83/cli/cppcheckexecutor.cpp cppcheck-1.83-new/cli/cppcheckexecutor.cpp
--- cppcheck-1.83/cli/cppcheckexecutor.cpp	2018-04-02 15:02:50.000000000 +0800
+++ cppcheck-1.83-new/cli/cppcheckexecutor.cpp	2021-08-10 15:29:21.000000000 +0800
@@ -295,7 +295,12 @@
 #endif
 }
 
+
+#ifdef __USE_DYNAMIC_STACK_SIZE
+static const size_t MYSTACKSIZE = 16*1024+32768; // wild guess about a reasonable buffer
+#else
 static const size_t MYSTACKSIZE = 16*1024+SIGSTKSZ; // wild guess about a reasonable buffer
+#endif
 static char mytstack[MYSTACKSIZE]= {0}; // alternative stack for signal handler
 static bool bStackBelowHeap=false; // lame attempt to locate heap vs. stack address space. See CppCheckExecutor::check_wrapper()
 
