diff options
author | Andrew Waterman <andrew@sifive.com> | 2022-09-01 20:23:16 -0700 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2022-09-01 20:28:41 -0700 |
commit | 476a79fe2fc6c4c7b809d0b359ad041a1034ffce (patch) | |
tree | 312301fe193911bb82707b2059ffee4233e7a589 /fesvr/context.cc | |
parent | 204f43cf8288550f1070c216e57f16bb45c5f560 (diff) | |
download | spike-476a79fe2fc6c4c7b809d0b359ad041a1034ffce.zip spike-476a79fe2fc6c4c7b809d0b359ad041a1034ffce.tar.gz spike-476a79fe2fc6c4c7b809d0b359ad041a1034ffce.tar.bz2 |
Substantially increase context_t stack size
It's nearly free to do so, because it's just virtual address space.
@davidbiancolin recently fell into this pit when using context_t with VCS.
Diffstat (limited to 'fesvr/context.cc')
-rw-r--r-- | fesvr/context.cc | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fesvr/context.cc b/fesvr/context.cc index ca73813..1dceeec 100644 --- a/fesvr/context.cc +++ b/fesvr/context.cc @@ -49,7 +49,7 @@ void context_t::init(void (*f)(void*), void* a) #ifdef USE_UCONTEXT getcontext(context.get()); context->uc_link = creator->context.get(); - context->uc_stack.ss_size = 64*1024; + context->uc_stack.ss_size = 1024 * 1024; context->uc_stack.ss_sp = new void*[context->uc_stack.ss_size/sizeof(void*)]; #ifndef GLIBC_64BIT_PTR_BUG makecontext(context.get(), (void(*)(void))&context_t::wrapper, 1, this); |