mirror of https://github.com/YosysHQ/yosys.git
Set stack size to at least 128 MB (large stack needed for parsing huge expressions)
Signed-off-by: Clifford Wolf <clifford@clifford.at>
This commit is contained in:
parent
5e49ee5c2d
commit
0acea3548b
|
@ -35,6 +35,7 @@
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
|
||||||
#ifdef __linux__
|
#ifdef __linux__
|
||||||
|
# include <sys/resource.h>
|
||||||
# include <sys/types.h>
|
# include <sys/types.h>
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -416,6 +417,18 @@ int main(int argc, char **argv)
|
||||||
if (print_stats)
|
if (print_stats)
|
||||||
log_hasher = new SHA1;
|
log_hasher = new SHA1;
|
||||||
|
|
||||||
|
#if defined(__linux__)
|
||||||
|
// set stack size to >= 128 MB
|
||||||
|
{
|
||||||
|
struct rlimit rl;
|
||||||
|
const rlim_t stack_size = 128L * 1024L * 1024L;
|
||||||
|
if (getrlimit(RLIMIT_STACK, &rl) == 0 && rl.rlim_cur < stack_size) {
|
||||||
|
rl.rlim_cur = stack_size;
|
||||||
|
setrlimit(RLIMIT_STACK, &rl);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
yosys_setup();
|
yosys_setup();
|
||||||
log_error_atexit = yosys_atexit;
|
log_error_atexit = yosys_atexit;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue