aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--boehmgc-coroutine-sp-fallback.diff8
1 files changed, 3 insertions, 5 deletions
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);