diff --git a/boehmgc-coroutine-sp-fallback.diff b/boehmgc-coroutine-sp-fallback.diff index c618718a7..fa8dd0325 100644 --- a/boehmgc-coroutine-sp-fallback.diff +++ b/boehmgc-coroutine-sp-fallback.diff @@ -1,5 +1,5 @@ diff --git a/pthread_stop_world.c b/pthread_stop_world.c -index 1cee6a0b..8977b0dd 100644 +index 1cee6a0b..46c3acd9 100644 --- a/pthread_stop_world.c +++ b/pthread_stop_world.c @@ -674,6 +674,8 @@ GC_INNER void GC_push_all_stacks(void) @@ -11,7 +11,7 @@ index 1cee6a0b..8977b0dd 100644 if (!EXPECT(GC_thr_initialized, TRUE)) GC_thr_init(); -@@ -723,6 +725,30 @@ GC_INNER void GC_push_all_stacks(void) +@@ -723,6 +725,28 @@ GC_INNER void GC_push_all_stacks(void) hi = p->altstack + p->altstack_size; /* FIXME: Need to scan the normal stack too, but how ? */ /* FIXME: Assume stack grows down */ @@ -35,9 +35,7 @@ index 1cee6a0b..8977b0dd 100644 + lo = hi - stack_limit; + } + #else -+ if (lo < hi || lo >= hi + stack_limit) { // sp outside stack -+ lo = hi + stack_limit; -+ } ++ #error "STACK_GROWS_UP not supported in boost_coroutine2 (as of june 2021), so we don't support it in Nix." + #endif } GC_push_all_stack_sections(lo, hi, traced_stack_sect);