about summary refs log tree commit diff
path: root/src/rt/rust_task.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt/rust_task.cpp')
-rw-r--r--src/rt/rust_task.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index 12623255ff1..9497645b25f 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -6,7 +6,9 @@
 
 // Stacks
 
-static size_t const min_stk_bytes = 0x300;
+// FIXME (issue #151): This should be 0x300; the change here is for
+// practicality's sake until stack growth is working.
+static size_t const min_stk_bytes = 0x300000;
 
 // Task stack segments. Heap allocated and chained together.
 
@@ -200,6 +202,12 @@ rust_task::start(uintptr_t exit_task_glue,
 void
 rust_task::grow(size_t n_frame_bytes)
 {
+    // FIXME (issue #151): Just fail rather than almost certainly crashing
+    // mysteriously later. The commented-out logic below won't work at all in
+    // the presence of non-word-aligned pointers.
+    abort();
+
+#if 0
     stk_seg *old_stk = this->stk;
     uintptr_t old_top = (uintptr_t) old_stk->limit;
     uintptr_t old_bottom = (uintptr_t) &old_stk->data[0];
@@ -254,6 +262,7 @@ rust_task::grow(size_t n_frame_bytes)
              "processed %d relocations", n_relocs);
     del_stk(dom, old_stk);
     dom->logptr("grown stk limit", new_top);
+#endif
 }
 
 void